首页 > 编程知识 正文

正态分布检验为正态分布,检验是否正态分布

时间:2023-05-04 15:41:20 阅读:275645 作者:595

matlab正态分布检验:

(一) 进行参数估计和假设检验时,通常总是假定总体服从正态分布,虽然在许多情况下这个假定是合理的,但是当要以此为前提进行重要的参数估计或假设检验,或者人们对它有较大怀疑的时候,就确有必要对这个假设进行检验,进行总体正态性检验的方法有很多种,以下针对MATLAB统计工具箱中提供的程序,简单介绍几种方法。

1)Jarque-Bera检验

利用正态分布的偏度g1和峰度g2,构造一个包含g1,g2的分布统计量(自由度n=2),对于显著性水平,当分布统计量小于分布的分位数时,接受H0:总体服从正态分布;否则拒绝H0,即总体不服从正态分布。这个检验适用于大样本,当样本容量n较小时需慎用。Matlab命令:h =jbtest(x),[h,p,jbstat,cv] =jbtest(x,alpha)。

例子:

[h,p]=jbtest(a,0.05)

h为测试结果,若h=0,则可以认为X是服从正态分布的;若h=1,则可以否定X服从正态分布; p为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;

2)Kolmogorov-Smirnov检验

通过样本的经验分布函数与给定分布函数的比较,推断该样本是否来自给定分布函数的总体。容量n的样本的经验分布函数记为Fn(x),可由样本中小于x的数据所占的比例得到,给定分布函数记为G(x),构造的统计量为,即两个分布函数之差的最大值,对于假设H0:总体服从给定的分布G(x),及给定的,根据Dn的极限分布(n??时的分布)确定统计量关于是否接受H0的数量界限。

因为这个检验需要给定G(x),所以当用于正态性检验时只能做标准正态检验,即H0:总体服从标准正态分布。Matlab命令:h =kstest(x)。

例子:

A=A(:); alpha=0.05; [mu,sigma]=normfit(A); p1=normcdf(A,mu,sigma); [H1,s1]=kstest(A,[A,p1],alpha); n=length(A); if H1==0 disp('该数据服从正态分布。') end

3)Lilliefors检验

它将Kolmogorov-Smirnov检验改进用于一般的正态性检验,即H0:总体服从正态分布,其中由样本均值和方差估计。Matlab命令:

h =lillietest(x),[h,p,lstat,cv]=lillietest(x,alpha)。

4)另外还有一种方法:首先对于数据进行标准化:Z = ZSCORE(X),然后在进行2)的Kolmogorov-Smirnov检验,检验是否为标准正态分布,类似于对于方法2)的改进。

总结:

要对一组样本进行正态性检验,在MATLAB中,一种方法是用normplot画出样本,如果都分布在一条直线上,则表明样本来自正态分布,否则是非正态分布。 MATLAB中也提供了几种更正式的检验方法: kstest Kolmogorov-Smirnov 正态性检验,将样本与标准正态分布(均值为0,方差为1)进行对比,不符合正态分布返回1,否则返回0;该函数也可以用于其它分布类型的检验; lillietest Lilliefors test。 与kstest不同,检验目标不是标准正态,而是具有与样本相同均值和方差的正态分布。 jbtest Jarque-Bera test。与 Lilliefors test 类似,但不适用于小样本的情况。

极速赛车买前5名的方法值,对于假设H0:总体服从给定的分布G(x),及给定的,根据Dn的极限分布(n??时的分布)确定统计量关于是否接受H0的数量界限。

因为这个检验需要给定G(x),所以当用于正态性检验时只能做标准正态检验,即H0:总体服从标准正态分布。Matlab命令:h =kstest(x)。

例子:

A=A(:); alpha=0.05; [mu,sigma]=normfit(A); p1=normcdf(A,mu,sigma); [H1,s1]=kstest(A,[A,p1],alpha); n=length(A); if H1==0 disp('该数据服从正态分布。') end

3)Lilliefors检验

它将Kolmogorov-Smirnov检验改进用于一般的正态性检验,即H0:总体服从正态分布,其中由样本均值和方差估计。Matlab命令:

h =lillietest(x),[h,p,lstat,cv]=lillietest(x,alpha)。

4)另外还有一种方法:首先对于数据进行标准化:Z = ZSCORE(X),然后在进行2)的Kolmogorov-Smirnov检验,检验是否为标准正态分布,类似于对于方法2)的改进。

总结:

要对一组样本进行正态性检验,在MATLAB中,一种方法是用normplot画出样本,如果都分布在一条直线上,则表明样本来自正态分布,否则是非正态分布。 MATLAB中也提供了几种更正式的检验方法: kstest Kolmogorov-Smirnov 正态性检验,将样本与标准正态分布(均值为0,方差为1)进行对比,不符合正态分布返回1,否则返回0;该函数也可以用于其它分布类型的检验; lillietest Lilliefors test。 与kstest不同,检验目标不是标准正态,而是具有与样本相同均值和方差的正态分布。 jbtest Jarque-Bera test。与 Lilliefors test 类似,但不适用于小样本的情况。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。