解释QQplot-是否有经验法则来确定非正常性?


47

我在这里阅读了足够的关于QQplots的主题,以了解QQplot比其他正常性测试更有用。但是,我对解释QQplots缺乏经验。我用谷歌搜索了很多;我发现了许多非正常QQ曲线图,但是没有清晰的规则来解释它们,除了看起来与已知分布和“肠感”的比较。

我想知道您是否有(或您知道)任何经验法则可以帮助您确定非正常性。

当我看到以下两个图形时,出现了这个问题: 图2 图1

我了解非正常性的决定取决于数据以及我要如何处理它们。但是,我的问题是:通常,观察到的偏离直线的时间何时构成足以使正态性近似变得不合理的证据?

就其价值而言,Shapiro-Wilk检验未能拒绝两种情况下的非正态性假设。


3
QQ线上的置信区间非常酷。您可以共享用于获取它们的R代码吗?
user603 2014年

7
这只是来自{qualityTools}的qqPlot():)
greymatter0 2014年

Answers:


43

请注意,Shapiro-Wilk是对正态性的有力检验。

最好的方法实际上是对要使用的任何过程对各种非正常性的敏感程度有一个好主意(非正常性必须使这种非正常性影响到您的推理程度超过您的程度)可以接受)。

一种查看图表的非正式方法是生成一些实际上是正常的数据集,这些数据集的样本大小与您拥有的样本大小相同(例如,其中有24个)。在这些图的网格中绘制真实数据(在24个随机集的情况下为5x5)。如果看起来不是特别异常(例如看起来最糟),则可以与正常程度合理地保持一致。

在此处输入图片说明

在我看来,位于中心的数据集“ Z”与“ o”和“ v”甚至与“ h”大致相同,而“ d”和“ f”看起来稍差一些。“ Z”是实际数据。尽管我暂时不相信它是正常的,但是将其与正常数据进行比较时,它看起来并不特别。

[编辑:我刚刚进行了一次随机调查-好吧,我问我的女儿,但是是在相当随机的时间 -她对直线的选择至少是“ d”。因此,有100%的受访者认为“ d”是最奇数的。]

更正式的方法是进行Shapiro-Francia测试(该测试实际上是基于QQ图中的相关性),但是(a)它甚至不如Shapiro Wilk测试强大,并且(b)正式测试可以回答a问题(有时)是您应该已经知道答案的问题(从中提取数据的分布并不完全正常),而不是您需要回答的问题(问题有多严重?)。


根据要求,为以上显示代码。没什么花哨的:

z = lm(dist~speed,cars)$residual
n = length(z)
xz = cbind(matrix(rnorm(12*n),nr=n),z,matrix(rnorm(12*n),nr=n))
colnames(xz) = c(letters[1:12],"Z",letters[13:24])

opar = par()
par(mfrow=c(5,5));
par(mar=c(0.5,0.5,0.5,0.5))
par(oma=c(1,1,1,1));

ytpos = (apply(xz,2,min)+3*apply(xz,2,max))/4
cn = colnames(xz)

for(i in 1:25) {
  qqnorm(xz[,i],axes=FALSE,ylab= colnames(xz)[i],xlab="",main="")
  qqline(xz[,i],col=2,lty=2)
  box("figure", col="darkgreen")
  text(-1.5,ytpos[i],cn[i])
}

par(opar)

x

(至少从80年代中期开始,我一直在制作这样的图集。如果您不熟悉假设成立时和不成立时的行为,那么如何解释这些图?)

查看更多:

Buja,A.,Cook,D. Hofmann,H.,Lawrence,M.Lee,E.-K.,Swayne,DF和Wickham,H.(2009)探索性数据分析和模型诊断的统计推断。反式 R. Soc。A 2009 367,4361-4383 doi:10.1098 / rsta.2009.0120


8
+1。我非常喜欢将样本的QQ图与一些随机生成的图进行比较的想法!
COOLSerdash 2014年

谢谢@Glen_b。请问您是如何产生图表网格的?
greymatter0 2014年

3
我只是发现我从未回应您的要求greymatter0。放我整个脚本的空间并不大,但我将概述它的要旨。我打了情节的选项- opar=par(); par(mfrow=c(5,5)); par(mar=c(0.5,0.5,0.5,0.5)); par(oma=c(1,1,1,1))然后在一个循环过i我做了qqnorm(xz[,i],axes=FALSE,ylab= colnames(xz)[i],xlab="",main=""); qqline(xz[,i],col=2,lty=2); box("figure", col="darkgreen")然后在最后par(opar)设置的选项回无论他们之前。这省略了一些细节,但是您应该可以从那里进行管理。
Glen_b 2014年

@ greymatter0 ...现在我发现在我最终回答之前,我没有正确对您执行ping操作。我很抱歉。
Glen_b 2014年

不用担心Glen_b,非常感谢您的记念!
greymatter0 2014年

22

在不与这里的任何出色答案相矛盾的情况下,我有一条经验法则通常是(但并非总是)决定性的。(@Dante答案中的通过评论似乎也很相关。)

有时候看起来似乎太明显了,但您来了。

如果我认为我可以提供显然更合适的其他描述,我很乐意称其为非正态分布。

因此,如果正常分位数分位数图的尾部有较小的曲率和/或不规则性,但是在伽马分位数分位数图上的近似直线度,我可以说“那不是正常的特征;它更像是伽马”。

这与科学历史和科学哲学中的标准论点相呼应,更不用说一般的科学实践了,当您有一个更好的假设取代这一假设时,最清楚,最有效地驳斥这一假设,这绝非偶然。(提示:对卡尔·波普尔,托马斯·库恩等人的暗示。)

的确,对于初学者,甚至对于每个人,在“那是正常的,除了我们一直期望的微小不规则现象”和“那与正常的情况非常不同,除了我们经常得到的一些相似之处之外”之间有一个平滑的等级。 ”。

置信度(类似)的信封和多个模拟样本可以极大地帮助您,我同时使用并推荐了两者,但这也可能有帮助。(顺便说一句,与模拟产品组合进行比较是最近的一次重复发明,但是至少可以追溯到1931年的Shewhart。)

我会回应我的顶线。有时似乎根本没有合适的品牌分布,因此您必须尽最大努力。


12

就像@Glen_b所说的那样,您可以将数据与确定为正常的数据进行比较-您自己生成的数据,然后依靠自己的直觉:)

以下是OpenIntro Statistics教科书中的示例

让我们来看看这个QQ图:

qq1

正常吗 让我们将其与正态分布的数据进行比较:

第2季

这个看起来比我们的数据好,因此我们的数据看起来不正常。让我们通过多次仿真并并排绘制来确保

第3季

因此,我们的直觉告诉我们样本不太可能正态分布。

这是执行此操作的R代码

load(url("http://www.openintro.org/stat/data/bdims.RData"))
fdims = subset(bdims, bdims$sex == 0)

qqnorm(fdims$wgt, col=adjustcolor("orange", 0.4), pch=19)
qqline(fdims$wgt)

qqnormsim = function(dat, dim=c(2,2)) {
  par(mfrow=dim)
  qqnorm(dat, col=adjustcolor("orange", 0.4), 
         pch=19, cex=0.7, main="Normal QQ Plot (Data)")
  qqline(dat)
  for (i in 1:(prod(dim) - 1)) {
    simnorm = rnorm(n=length(dat), mean=mean(dat), sd=sd(dat))
    qqnorm(simnorm, col=adjustcolor("orange", 0.4), 
           pch=19, cex=0.7,
           main="Normal QQ Plot (Sim)")
    qqline(simnorm)
  }
  par(mfrow=c(1, 1))
}
qqnormsim(fdims$wgt)

9

H0:F=Normal

通常,与具有正确的备选假设的测试相比,将任何其他分布视为备选假设的测试的功效较低(例如,参见12)。

有一个有趣的R包,其中包含多个非参数正态性测试('nortest',http://cran.r-project.org/web/packages/nortest/index.html)的实现。如以上论文所述,具有适当替代假设的似然比检验比这些检验更有效。

@Glen_b提到的关于将样本与(拟合的)模型中的随机样本进行比较的想法在我的第二篇参考文献中提到。它们被称为“ QQ信封”或“ QQ风扇”。这就隐含地需要一个模型来从假设中生成数据,从而产生一个替代假设。


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.