(转)使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布

假设检验的基本思想:

若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的。如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设。

实质分析:

假设检验实质上是对原假设是否正确进行检验,因此检验过程中要使原假设得到维护,使之不轻易被拒绝;否定原假设必须有充分的理由。同时,当原假设被接受时,也只能认为否定该假设的根据不充分,而不是认为它绝对正确。

1、检验指定的数列是否服从正态分布

借助假设检验的思想,利用K-S检验可以对数列的性质进行检验,看代码:


1

2

3

4

5

6

7

from scipy.stats import kstest

import numpy as np

x = np.random.normal(0,1,1000)

test_stat = kstest(x, ‘norm‘)

#>>> test_stat

#(0.021080234718821145, 0.76584491300591395)

首先生成1000个服从N(0,1)标准正态分布的随机数,在使用k-s检验该数据是否服从正态分布,提出假设:x从正态分布。

最终返回的结果,p-value=0.76584491300591395,比指定的显著水平(假设为5%)大,则我们不能拒绝假设:x服从正态分布。

这并不是说x服从正态分布一定是正确的,而是说没有充分的证据证明x不服从正态分布。因此我们的假设被接受,认为x服从正态分布。

如果p-value小于我们指定的显著性水平,则我们可以肯定的拒绝提出的假设,认为x肯定不服从正态分布,这个拒绝是绝对正确的。

2、检验指定的两个数列是否服从相同分布


1

2

3

4

5

from scipy.stats import ks_2samp

beta=np.random.beta(7,5,1000)

norm=np.random.normal(0,1,1000)

ks_2samp(beta,norm)

#>>>(0.60099999999999998, 4.7405805465370525e-159)

我们先分别使用beta分布和normal分布产生两个样本大小为1000的数列,使用ks_2samp检验两个数列是否来自同一个样本,提出假设:beta和norm服从相同的分布。

最终返回的结果,p-value=4.7405805465370525e-159,比指定的显著水平(假设为5%)小,则我们完全可以拒绝假设:beta和norm不服从同一分布。

原文地址:https://www.cnblogs.com/ya-cpp/p/9328303.html

时间: 2024-08-04 12:04:09

(转)使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布的相关文章

使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布

假设检验的基本思想: 若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的.如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设. 实质分析: 假设检验实质上是对原假设是否正确进行检验,因此检验过程中要使原假设得到维护,使之不轻易被拒绝:否定原假设必须有充分的理由.同时,当原假设被接受时,也只能认为否定该假设的根据不充分,而不是认为它绝对正确. 1.检验指定的数列是否服从正态分布 借助假设检验的思想,利用K-S检验可以对数列的性质进行检验

poj 3233 S = A + A^2 + A^3 + … + A^k A是一个n X n矩阵

S = A + A^2 + A^3 + … + A^k A是一个n*n矩阵 Sample Input 2 2 4 //n k MOD0 11 1Sample Output 1 22 3 先求 I + A + A^2 + A^3 + … + A^k  I为单位矩阵 我们来设置这样一个矩阵 B=A IO I其中O是零矩阵,I是单位矩阵 将它乘方,得到A^2 I+AO I乘三方,得到A^3 I+A+A^2O I乘四方,得到A^4 I+A+A^2+A^3O I 然后B^(k+1) 的右上小矩阵 就是 I

为什么(12)式,km不能直接相乘?而要让域k先乘一个代数A里面的单位元,再作用在群M上呢?

为什么(12)式,km不能直接相乘?而要让域k先乘一个代数A里面的单位元,再作用在群M上呢?M是A-模 不是K-模k1 就把k 变成A里面的元素了,k1 是从K到A的一个同态,这样M就借助这个同态成为了K module 原文地址:https://www.cnblogs.com/china520/p/11263308.html

斐波那契数列以及斐波那契数列的衍生形式 利用矩阵快速幂求解

一.斐波那契数列F[n]=F[n-1]+F[n-2] 可转换为矩阵s[1,1,1,0]的n次幂的矩阵的s[0][1]的值 矩阵的幂次方 可通过 奇判断及进制移位提高时间效率 位与运算 n&1表示的意思:取二进制n的最末位,二进制的最末位为零表示n为哦数,为1表示奇数,即等价于n%2 n>>1 是将n的二进制向右移动一位, n>>=1 即把移动后的值赋给n 题目:求斐波那契数列F[n]%10000(取模) #include <cstdio> #include &l

CDOJ 1104 求两个数列的子列的交集 查询区间小于A的数有多少个 主席树

求两个数列的子列的交集 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1104 Description 给两个数列A, B,长度分别为n1, n2,保证A中每个元素互不相同,保证B中每个元素互不相同..进行Q次询问,每次查找A[l1...r1]和B[l2..r2]的交集 集合 大小是多少.. 比如 A = {1,2,3,4,5,6,7},B = {7,6,5,4,3,2,1}

两个堆栈实现一个队列和一叠两个队列实现【算法导论课后题】

两个栈实现队列两个队列实现堆栈问题,网上有很多资料.这里仅仅是叙述操作方法的介绍觉得至少. 两个栈实现一个队列 思想:假设两个栈分别为s1,s2.对s1进行入队,出队时,先推断s2是否为空,假设是则将s1中元素压入s2并弹出最上面元素,假设不是,则直接弹出s2最上面的元素. <span style="font-size:18px;">EnQueue(s1,s2,k){ push(s1,k)</span><span style="font-fami

07 斐波那契数列 08 跳台阶 两个题的解答相似

官方正规的数学界的斐波那契数列的定义: 波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1.1.2.3.5.8.13.21.34.……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理.准晶体结构.化学等领域,斐波纳契数列都有直接的应用. 是以1

【解答】一个电动模型,每一组电池能让其行驶8分钟,一个充电器能同时给两组电池充电,一组充满需要15分钟,至少准备(?)组电池,(?)个充电器,可以让模型每次行驶完可以立即换电池行驶不用等待。

阿里2015年实习生题目: 一个电动模型,每一组电池能让其行驶8分钟,一个充电器能同时给两组电池充电,一组充满需要15分钟,至少准备(?)组电池,(?)个充电器,可以让模型每次行驶完可以立即换电池行驶不用等待. 分析过程如下: 答案:至少3组电池,1组充电器可以立即换电池行驶不用等待.

一个界面中如何使用两个tableView

首先,创建两个全局的tableview; @interface TianPinXunLiViewController () { UITableView *leftTableView; UITableView *rightTableView; } @end 其次,实现代理的时候,用对象比对的方法  A isequal B #pragma - mark TableView Datasouce -(NSInteger)tableView:(UITableView *)tableView numberO