对小样本进行适当的正态性检验


22

到目前为止,我一直在使用Shapiro-Wilk统计量来检验小样本中的正态性假设。

您能推荐另一种方法吗?


1
以下是一些其他可能引起关注的问题:正态性测试基本无用,用于讨论正态性测试的价值,以及如果残差是正态分布的,但是是y是什么?不是,用于讨论/澄清正态性是线性模型假设的意义。
gung-恢复莫妮卡

3
Shapiro-Wilk中的Wilk是指Martin B. Wilk。写下“ Wilks”太容易了,特别是(a)如果别人说或写了那句话,而您正在复制(b)您知道塞缪尔·S·威尔克斯(Samuel S. Wilks)的统计工作,那是完全不同的人(c)鉴于英语中的“ s”这个词很困惑,因为它在复数形式(统计,猫,狗,...)和所有格(s)中有其他用途,即使在母语为英语的人中也很常见。我已尽我所能编辑了该线程。我无法评论。
尼克·考克斯

Answers:


24

R中的fBasics软件包(Rmetrics的一部分)包括几个正常性测试,包括许多流行的频繁性测试 -Kolmogorov-Smirnov,Shapiro-Wilk,Jarque-Bera和D'Agostino-以及用于正常性测试的包装在标准包装中-安德森-达林(Anderson-Darling),克雷默 -冯·米塞斯(Cramer-von Mises),小里尔(Lilliefors)(科尔莫格罗夫-斯米尔诺夫(Kolmogorov-Smirnov)),皮尔逊卡方(Pearson chi-square)和夏皮罗-弗朗西亚(Shapiro-Francia)。软件包文档还提供了所有重要参考。这是一个演示,演示了如何使用nortest中测试

如果有时间,一种方法是使用多个测试并检查是否一致。测试以多种方式变化,因此选择“最佳”并非完全简单。您所在领域的其他研究人员还使用什么?这可能会有所不同,因此最好坚持接受的方法,以便其他人会接受您的工作。由于部分原因,我经常使用Jarque-Bera检验,并使用Anderson-Darling进行比较。

您可以查看“单变量正态性检验的比较”(Seier 2002)和“各种正态性检验的比较”(Yazici; Yolacan 2007)以进行问题的比较和讨论。

由于所有分布函数,测试这些方法以在R中进行比较也很简单。这是一个带有模拟数据的简单示例(我将不会打印出结果来节省空间),尽管需要更全面的说明:

library(fBasics); library(ggplot2)
set.seed(1)

# normal distribution
x1 <- rnorm(1e+06)   
x1.samp <- sample(x1, 200)
qplot(x1.samp, geom="histogram")
jbTest(x1.samp)
adTest(x1.samp)

# cauchy distribution
x2 <- rcauchy(1e+06)
x2.samp <- sample(x2, 200)
qplot(x2.samp, geom="histogram")
jbTest(x2.samp)
adTest(x2.samp)

获得不同分布上的各种测试的结果后,就可以比较哪种方法最有效。例如,上面的Jarque-Bera检验的p值对于正态分布(接受)返回0.276,对于柯西系数,则返回<2.2e-16(拒绝原假设)。


感谢Shane,好答案!好吧,我这个领域的“其他人”经常使用SPSS,因此他们使用Kolmogorov-Smirnov(如果他们检查正态性的话),尽管从样本中收集数据时,IMHO Lilliefors的检验是一个更好的选择(当参数为未知)。有人告诉我Shapiro-Wilk's适用于小样本,只是想获得有关“小样本正态性检验”的更多信息...顺便说一句,我在R中使用nortest!=)
aL3xa 2010年

12

为了正常,实际的Shapiro-Wilk在相当小的样本中具有良好的功效。

我看到的研究的主要竞争者是比较普通的Anderson-Darling,虽然表现不错,但我不会说这会更好。如果您可以弄清您感兴趣的替代方案,则更好的统计数据可能会更加明显。[编辑:如果您估计参数,则应为此调整AD测试。]

[我强烈建议您不要考虑在小样本中使用Jarque-Bera(在统计界中可能更名为Bowman-Shenton,他们研究了小样本分布)。偏度和峰度的渐近联合分布是不一样的小样本分布-以同样的方式香蕉看起来并不像一个橘子。与某些有趣的替代方法相比,它的功率也非常低-例如,它的峰度接近于正态分布的对称双峰分布的功率很低。]

人们经常出于并非特别好的原因而测试适合度,或者回答的问题不是他们真正想回答的问题。

例如,您几乎可以肯定已经知道您的数据不是很正常(不是完全正确),因此尝试回答您知道答案的问题毫无意义-假设检验实际上并没有回答它

既然您知道您还没有确切的正态性,那么正态性的假设检验实际上是在为您回答一个更接近于“我的样本量是否足以容纳我所拥有的非正态性数量”的问题的答案,而你有兴趣在回答真正的问题通常更接近是“什么是影响这种非正常的对我有兴趣在这些其他的事情?”。假设检验正在测量样本量,而您想回答的问题并不是非常依赖样本量。

有时候,对正常性进行测试是有道理的,但是那些情况很少出现在小样本上。

为什么要测试正常性?


感谢您的出色回答,之后再提出一个很好的问题。了解问题的背景至关重要。好吧,很多次我见过人们在不了解分布形状(通常是偏斜的)的情况下进行t检验,Pearson的r或ANOVA检验-参数技术“需要”满足正态性假设。在心理学(这是我感兴趣的领域)中,我们经常处理少量样本,因此我需要进行适当的正态性检验。
aL3xa 2010年

5
但是常态永远不会满足。有时这是对数据的合理描述,但实际上它们并不是正常的。虽然在假设时检查非正常性很明智,但对其进行测试并不是特别有用(由于上述原因)。例如,我做一个qq图,但是假设检验回答了这种情况下的错误问题。如果分布不严重偏斜,则t检验和方差分析通常可以很好地发挥作用。更好的方法可能是使用不具有正常性的过程-也许是重采样技术。
Glen_b-恢复莫妮卡2010年

或者,您可以使用非参数测试,但功耗更低。在统计中,没有什么是绝对令人满意的,而不仅仅是正常性问题。但是,在向某人介绍t检验和/或ANOVA假设时,自举或套叠不是解决方案。我怀疑重采样技术根本无法解决正常性问题。应该以图形方式(密度图,箱线图,QQ图,直方图)和“数值方式”(正态性检验,偏度,峰度等)检查正态性。你有什么建议?这完全是题外话,但是您如何检查方差分析的正态性假设呢?
aL3xa

@ aL3xa我认为,根据您的研究领域,随机方法更合适;尽管通常的参数检验可以很好地逼近精确的置换检验,但非参数检验也暗示了某种假设(例如,分布形状)。我什至不知道我们如何才能真正定义小样本研究中与正常值的偏差。我认为您应该在一个单独的问题中要求对此进行进一步讨论。
chl 2010年

10

关于正常性测试,有一个完整的Wikipedia类别,包括:

我认为AD可能是其中最好的。


1
我同意。我在零的情况下对AD测试,Jarque-Bera和Spiegelhalter的测试(1983)进行了快速测试,样本量为8,重复了10,000次。AD测试保持标称拒绝率,并给出统一的pval,而JB测试很糟糕,Spiegelhalter处于中等水平。
shabbychef

1
@shabbychef Jarque-Bera检验依赖于样本偏度和峰度的渐近正态性,即使在低100s的n中也不能很好地工作。但是要获得所需的拒绝率,您可以根据仿真结果调整临界值,例如Thadewald,T和H.Buning,2004年的4.1节中的Jarque-Bera测试及其竞争对手,用于测试正态性-功率比较,讨论纸经济学,2004/9,柏林自由大学商学院,经济学。
银鱼

3

为了完整起见,计量经济学家还喜欢他们在1983年《经济学快报》中的论文中的Kiefer和Salmon检验-它对偏度和峰度的“规范化”表达进行求和,然后将其进行卡方分布。我有一个旧的C ++版本,我在读研究生时就写过,可以翻译成R。

编辑:而且这里是Bierens获得哈尔克-贝拉和基弗-鲑鱼最近的一篇文章(重新)。

编辑2:我查看了旧代码,似乎在Jarque-Bera和Kiefer-Salmon之间确实是相同的测试。


2

实际上,Kiefer Salmon检验和Jarque Bera检验在几个地方都表现出了很大的不同,但是最近在这里 - 标准化误差分布的矩量检验:陈奕婷的一种简单稳健方法。与标准的Jarque Bera测试不同,面对ARCH类型的错误结构,通过构造进行的Kiefer Salmon测试非常可靠。陈奕婷的论文开发并讨论了我认为目前可能是最好的测试。


4
Chen似乎专注于更大的数据集,这是有道理的,因为这些测试所涉及的第四,第六和更高时刻将需要一些时间才能逐渐趋近渐近水平。但是,分布测试通常用于小于250个值(本文研究的最小值)的数据集。实际上,它们中的大多数在处理大量数据时变得如此强大,以至于在此类应用程序中仅是事后才想到的。还是这里发生的事情比我看到的更多?
ub

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.