当样本的分布为非正态分布时,独立样本的t检验有多强?


24

我已经读过,当样本的分布偏离正态分布时,t检验是“合理可靠的”。当然,重要的是差异的抽样分布。我有两组数据。这些组之一在因变量上有很大的偏差。两组的样本量都非常小(一组中n = 33,另一组中n = 45)。我是否应该假设在这些条件下,我的t检验对于违反正态性假设会很可靠?


3
“当然,重要的是差异的抽样分布”-差异在哪些方面?我很想把这个问题编辑掉,因为我担心它会误导未来的读者(并切入要点)。我首先想到的是对配对 t检验的错误引用,在这里我们假设配对之间的差异是正常的,但不适用于独立样本检验。我们甚至没有成对的差异!也许是意在“手段上的差异”?Q的其余部分考虑了两个样本的正态性,没有任何差异。
银鱼

t检验对此类违规行为的鲁棒性问题是一个重要且合理的问题。但是一个相关的问题是,不建议您先检查数据中的违规行为,然后再决定是应用t检验还是其他替代测试。这种多步骤程序具有不确定的操作特性。看到这个线程:一种在t检验或非参数之间进行选择的有原则的方法,例如小样本中的Wilcoxon
Silverfish 2014年

什么是可靠来源?(我想我们都同意没有官方消息)。我们在看水平鲁棒性还是力量?如果说“还有力量”…… 我们在谈论哪种选择
Glen_b-恢复莫妮卡2015年

@Glen_b对不起,“官方消息”赏金消息显然更多地用于StackOverflow!我只是觉得这个线程在实践中很重要(值得一提的是,在Wikipedia上流量很高且很差)。正如彼得·弗洛姆(Peter Flom)的答案清楚表明的那样,“规范答案”赏金模板是不合适的。我感到这个主题上有一个“共同的知识体系”-如果有人问我这个问题,我的清单看起来很像达拉(我会增加峰度,但不敢冒险使用相同的样本量保护与一般非正常行为的比较)
Silverfish,2015年

@Glen_b您的答案与我的观点相似,因此似乎存在一些广为人知/接受的基本观点。我的学位涵盖了假设,但没有涉及违反的后果:我的知识来自各种来源,零散的东西(“心理学家的统计资料”类型的书比许多统计资料理论文字更关注后果)-否则我会发布答案不是赏金!如果有人知道一本好教科书中不错的一页摘要,那对我很好。如果是几篇带有模拟结果的论文,那也很好。任何将来的读者都可以参考和引用。
银鱼

Answers:


16

关于健壮性的问题很难很好地回答-因为可能会以多种方式违反这种假设,并且在每种程度上都会违反这种假设。仿真工作只能对可能违规的很小一部分进行采样。

由于计算的状态,我认为这是值得经常运行时间两个参数化和非参数检验,如果两者都可用。然后,您可以比较结果。

如果您真的有野心,甚至可以进行置换测试。

如果艾伦·图灵(Alan Turing)在罗纳德·费舍尔(Ronald Fisher)做之前做了他的工作,该怎么办?:-)。


1
彼得,您启发了我写历史小说来回答这个问题!
Sycorax说恢复Monica 2014年

12

@PeterFlom用他的第一句话打了钉子。

我将尝试简要概述我所学的内容(如果需要链接,可能需要一段时间):

总体而言,两个样本t检验对于对称非正态性具有合理的幂稳健性(真实的I型错误率在某种程度上受峰度的影响,幂主要受此影响)。

当两个样本在相同方向上轻微倾斜时,单尾t检验将不再是无偏的。t统计量与分布方向相反,并且在一个方向上进行测试比在另一个方向上进行测试具有更多的功效。如果它们朝相反的方向倾斜,则I型错误率会受到严重影响。

严重的偏斜可能会产生更大的影响,但总的来说,如果您不介意在本质上将测试的更多能力分配给另一个方向,则采用双尾测试的中等偏斜并不算太坏。

简而言之,如果您可以忍受对显着性水平的某些影响和一些轻微的偏见,则两尾两样本t检验对于此类情况具有相当强的鲁棒性。

但是,有很多很多方法可以使分发不正常,但这些注释并未涵盖这些方法。


我不确定说它具有强大的动力是正确的!这是合理的水平稳健性,显着性水平将大致正确,但是例如wilcoxon测试对于合理地接近于正常水平的替代品难以检测时,可以具有更高的功效。这还取决于各种因素,例如,每组中是否有相等数量的观察值:在不等n的情况下,健壮性要脆弱得多!
kjetil b halvorsen 2012年

1
@kjetilbhalvorsen我已经看过的研究-包括我自己做过的一些模拟实验(而且我已经有一段时间没有看过任何东西了;您可能已经看过我没看过的东西),大部分对功率的影响似乎主要是向上或向下推动水平(这并不影响Wilcoxon)。鉴于Wilcoxon在这种情况下通常具有良好的功率特性(尤其是带有重尾),这足以让Wilcoxon赢得权力-如果您调整水平使其相似,那么令我惊讶的是,做到了。
Glen_b-恢复莫妮卡2012年

7

@PeterFlom已经提到模拟研究永远无法涵盖所有​​情况和可能性,因此无法得出明确的答案。但是,我仍然发现通过进行一些模拟来探讨这样的问题仍然很有用(这恰好是我在向学生介绍蒙特卡洛模拟研究的想法时喜欢使用的一种练习类型)。因此,让我们实际尝试一下。我将为此使用R。

代码

n1 <- 33
n2 <- 45
mu1 <- 0
mu2 <- 0
sd1 <- 1
sd2 <- 1

iters <- 100000
p1 <- p2 <- p3 <- p4 <- p5 <- rep(NA, iters)

for (i in 1:iters) {

   ### normal distributions
   x1 <- rnorm(n1, mu1, sd1)
   x2 <- rnorm(n2, mu2, sd2)
   p1[i] <- t.test(x1, x2)$p.value

   ### both variables skewed to the right
   x1 <- (rchisq(n1, df=1) - 1)/sqrt(2) * sd1 + mu1
   x2 <- (rchisq(n2, df=1) - 1)/sqrt(2) * sd2 + mu2
   p2[i] <- t.test(x1, x2)$p.value

   ### both variables skewed to the left
   x1 <- -1 * (rchisq(n1, df=1) - 1)/sqrt(2) * sd1 + mu1
   x2 <- -1 * (rchisq(n2, df=1) - 1)/sqrt(2) * sd2 + mu2
   p3[i] <- t.test(x1, x2)$p.value

   ### first skewed to the left, second skewed to the right
   x1 <- -1 * (rchisq(n1, df=1) - 1)/sqrt(2) * sd1 + mu1
   x2 <- (rchisq(n2, df=1) - 1)/sqrt(2)      * sd2 + mu2
   p4[i] <- t.test(x1, x2)$p.value

   ### first skewed to the right, second skewed to the left
   x1 <- (rchisq(n1, df=1) - 1)/sqrt(2)      * sd1 + mu1
   x2 <- -1 * (rchisq(n2, df=1) - 1)/sqrt(2) * sd2 + mu2
   p5[i] <- t.test(x1, x2)$p.value

}

print(round((apply(cbind(p1, p2, p3, p4, p5), 2, function(p) mean(p <= .05))), 3))

说明

  1. 首先,我们设置组大小(n1n2),真正的组均值(mu1mu2),以及真正的标准差(sd1sd2)。

  2. 然后,我们定义要运行的迭代次数,并设置向量以存储p值。

  3. 然后,我在5种情况下模拟数据:

    1. 两种分布都是正常的。
    2. 两种分布都向右倾斜。
    3. 两种分布都向左倾斜。
    4. 第一个分布向左偏斜,第二个分布向右偏斜。
    5. 第一个分布向右偏斜,第二个分布向左偏斜。

    请注意,我正在使用卡方分布来生成偏斜分布。具有一个自由度,这些分布严重偏斜。由于具有一个自由度的卡方分布的真实均值和方差分别等于1和2(请参阅Wikipedia),因此我将这些分布重新缩放为首先具有均值0和标准偏差1,然后对其进行重新缩放以使其具有所需的真实均值和标准差(可以一步完成,但是这样做更清晰)。

  4. 在每种情况下,我都应用t检验(韦尔奇(Welch)的版本-当然也可以考虑假设两组均具有相同方差的Student的版本),并将p值保存到较早设置的向量中。

  5. 最后,一旦所有迭代都完成,我将为每个向量计算p值等于或小于.05的频率(即,测试“显着”)。这是经验拒绝率。

一些结果

  1. 完全如上所述进行模拟将产生:

       p1    p2    p3    p4    p5 
    0.049 0.048 0.047 0.070 0.070
    

    α=.05

  2. 如果将代码更改为mu1 <- .5,则得到:

       p1    p2    p3    p4    p5 
    0.574 0.610 0.606 0.592 0.602
    

    所以,相比于其中两个分布是正常的(如假定由测试)的情况下,功率实际上似乎是略微更高时偏斜度是在相同的方向!如果对此感到惊讶,则可能需要重新运行几次(当然,每次都会得到略有不同的结果),但是模式仍然存在。

    请注意,在两种情况下,在偏度方向相反的情况下,我们必须谨慎解释经验功效值,因为类型I的错误率不太明显(作为极端情况,假设无论数据如何,我都会始终拒绝)显示;然后,我将始终以最大的能力进行测试,但是当然,该测试还具有相当高的I型错误率)。

可以开始探索一系列值mu1(并且mu2-但真正重要的是两者之间的差异),更重要的是,开始更改两组的真实标准差(即sd1sd2),尤其是使其不相等。我也坚持OP提到的样本数量,但是当然也可以进行调整。与我们在具有一个自由度的卡方分布中看到的偏斜相比,偏斜当然可以采取许多其他形式。我仍然认为以这种方式处理事情是有用的,尽管它不能给出明确的答案。


2
既然当今我们有一系列健壮的半参数方法,为什么这个讨论如此有价值?
弗兰克·哈雷尔

(+1)我认为这可能值得考虑,其中一个样本是从偏斜的总体中抽取的,而另一个样本并非如此,因为OP认为他们的数据可能正在发生这种情况。但是很高兴看到带有显式代码的答案。(稍微的概括实际上可以使读者研究健壮的方法与传统的t检验相比有多好,如果您要教某人使用违反其假设的检验的危险,这是一种有用的教学方法。 。)
Silverfish

2

在您的情况下,就I类错误率而言,t检验可能会很健壮,但在II类错误率方面却不是。通过a)Kruskal-Wallis检验,或b)在t检验之前进行归一化转换,您可能会获得更大的功效。

我将这一结论基于两项蒙特卡洛研究。在第一篇文章中(Khan&Rayner,2003年),通过g-k分布族的参数间接地控制了歪斜和峰度,并检验了产生的功效。重要的是,Kruskal-Wallis检验的功效受非正态性的损害较小,尤其是在n> = 15的情况下。

有关此研究的一些注意事项/资格:高峰度通常会损害电源,但受偏斜影响较小。乍一看,这种模式似乎与您的情况不太相关,因为您注意到了偏斜而不是峰度的问题。但是,我敢打赌,您的情况下,峰度过高也是极端的。请记住,过量峰度至少要与skew ^ 2-2高。 (2003)检验了3组的方差分析,但其结果可能会推广到两个样本的t检验。

第二项相关研究(Beasley,Erikson和Allison,2009年)检查了具有各种非正态分布的I型和II型错误,例如卡方(1)和Weibull(1,.5)。对于至少25个样本量,t检验可将I型错误率充分控制在标称alpha水平或以下。但是,在进行t检验之前,使用Kruskal-Wallis检验或基于等级的逆正态变换(Blom评分)时,功效最高。Beasley及其同事通常反对标准化方法,但应注意的是,标准化方法控制I型错误率的n> = 25,其功效有时会略大于Kruskal-Wallis检验的功效。也就是说,规范化方法对于您的情况似乎很有希望。有关详细信息,请参见其文章中的表1和表4。

参考文献:

Khan,A.,&Rayner,GD(2003)。对于多样本定位问题,普通测试的鲁棒性强。应用数学和决策科学学报,7,187-206。

Beasley,TM,Erickson,S。,&Allison,DB(2009)。基于等级的逆正态变换越来越多地被使用,但是它们值得吗?行为遗传学,39,580-595。


(过量)峰度歪斜2-2

这似乎是一个值得我们自己解决的问题。也许您担心过量的峰度会在小样本中向下偏移?当然,上述模拟研究也是如此,峰度在这些情况下的t检验中仍然导致低功耗。您的问题指出了大多数蒙特卡洛研究的一个更普遍的局限性:结论通常基于人口特征,而应用研究人员无法观察到这些特征。能够基于样本偏斜,峰度等来预测相对功效会更有用
Anthony

我对此问题发布了一个单独的问题:stats.stackexchange.com/questions/133247/…
安东尼

0

首先,如果您假设两个样本的分布不同,请确保您使用的是t检验的Welch版本,该版本假定各组之间的方差不相等。这至少将尝试说明由于分布而发生的某些差异。

如果我们看一下Welch t检验的公式:

Ť=X¯1个-X¯2sX¯1个-X¯2

sX¯1个-X¯2

sX¯1个-X¯2=s1个2ñ1个+s22ñ2

我们可以看到,每当存在s时,我们就知道方差已被考虑在内。假设两个方差实际上是相同的,但是一个偏斜,导致方差估计不同。如果由于偏斜而导致的方差估计实际上不能代表您的数据,那么实际上的偏倚效果实际上就是该偏倚的平方根除以用于计算它的数据点数。因此,方差和较高的n会稍微掩盖方差估计错误的影响,这可能就是为什么共识是它仍然是可靠的检验的原因。

偏态分布的另一个问题是均值计算也会受到影响,这可能是测试假设违背的真正问题所在,因为均值对偏态相对敏感。通过计算均值的差异(与中位数的差异相比),可以大致确定测试的鲁棒性。也许您甚至可以尝试用t检验中位数的差异代替均值的差异,作为更可靠的衡量指标(我敢肯定有人对此进行了讨论,但我在Google上找不到足够快的东西可以链接到它)。

如果您所做的只是t检验,我还建议运行一个置换检验。排列检验是一种精确的检验,与分布假设无关。最重要的是,如果满足参数检验的假设,则置换检验和t检验将得出相同的结果。因此,您寻求的鲁棒性度量可以是1-排列和t检验p值之间的差,其中1的分数表示完全鲁棒,而0的分数表示完全不鲁棒。

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.