1. 首页
  2. 自学中心
  3. 软件
  4. R

R语言与正态性检验

from http://www.cnblogs.com/xmdata-analysis/p/4670841.html

1.Kolmogorov-Smirnov正态性检验

Kolmogorov-Smirnov是比较一个频率分布f(x)与理论分布g(x)或者两个观测值分布的检验方法,若两者间的差距很小,则推论该样本取自某特定分布族或两个观测值分布相同

使用函数:ks.test()在默认安装的stats包中

说明:ks.test有四个参数,第一个参数x为观测值向量,第二个参数y为第二观测值向量或者累计分布函数或者一个真正的累积分布函数,如pnorm(正态分布函数,一般做正态检测的时候直接输入pnorm),只对连续CDF有效。第三个参数为指明是单侧检验还是双侧检验,exact参数为NULL或者一个逻辑值,表明是否需要计算精确的P值。

结果解释:结果中会出现统计量D值和p-value,
D值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

注意:在做单样本K-S检验或者正态检验时,有时会有错误提示“Kolmogorov – Smirnov检验里不应该有连结”,这是因为K-S检验只对连续CDF有效,而连续CDF中出现相同值的概率为0,因此R会报错。这也提醒我们,在做正态性检验之前,要先对数据进行描述性分析,对数据整体要先有个大致的认识,这也才后续才能选择正确的检验方法。

 

2.Shapiro-Wilk检验

Shapiro-Wilk检验在小样本情况下,是很普通的正态性检验方法。

使用函数:Shapiro.test()在默认安装的stats包中

说明: Shapiro.test()只有一个参数x,并且只要是数字向量即可,也可以有缺失值,但是非缺失值数量必须在3-5000之间,这是R的规定。

结果解释:结果中会出现统计量W值和p-value:
W值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

 

3.Lilliefor检验

是Kolmogorov-Smirnov正态性检验修正,可用于正态性检验

使用函数:lillie.test()在nortest包中

说明: lillie.test()只有一个参数x,只要是数字向量即可,也可以有缺失值,但是非缺失值数量必须>4,这是R的规定

结果解释:结果中会出现统计量D值和p-value:
D值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

注意:在R中使用lillefor检验,就相当于在SPSS探索分析中的正态性检验的Kolmogorov-Smirnov的lilliefors的修正值,二者结果是相同的。

 

4.Anderson-Darling正态性检验

使用在nortest包中的ad.test()

使用函数:ad.test()在nortest包中

说明:ad.test()只有一个参数x,只要是数字向量即可,也可以有缺失值,但是非缺失值数量必须>7,这是R的规定

结果解释:结果中会出现统计量A值和p-value:
A值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

 

5.Jarque-Bera正态性检验

Jarque Bera是基于偏度系数和峰度系数的统计量

使用函数:jarque.bera.test()在tseries包中
jb.norm.test()在nromtest包中
ajb.norm.test()在nromtest包中

说明: jarque.bera.test()只有一个参数x,可以是数字向量或时间序列,不允许有遗漏值,但是R中也没有规定x的最小值,jb.norm.test()除了x之外,多了一个蒙特卡诺模拟值,默认是2000,ajb.norm.test()是J-B检测的修正,主要解决J-B统计量收敛速度慢的缺点。

结果解释:结果中会出现统计量X-squared或JB值、自由度df和p-value
X-squared值越小,越接近0,表示样本数据越接近正态分布
p值,如果p-value小于显著性水平α(0.05),则拒绝H0

原创文章,作者:xsmile,如若转载,请注明出处:http://www.17bigdata.com/r%e8%af%ad%e8%a8%80%e4%b8%8e%e6%ad%a3%e6%80%81%e6%80%a7%e6%a3%80%e9%aa%8c/

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:23683716@qq.com

跳至工具栏