事后测试的奇怪结果

机器算法验证 统计学意义 事后 克鲁斯卡尔-沃利斯测试
2022-03-25 15:39:37

我有三组测试的数据。测量变量是比例缩放的。R代码是

g1a<-c(7, 3, 40)
g2a<-c(1,1,2)
g3a<-c(0,0,0)

由于样本很小且无法保证正态性,我运行了 Kruskal Wallis 检验来检查显着性:

l<-list(g1a,g2a,g3a)
kruskal.test(l)

p 值为 0.02336,这很好。

现在我使用 Mann-Whitney U 进行事后测试:

wilcox.test(g1a,g2a,paired=FALSE,exact=TRUE)
wilcox.test(g2a,g3a,paired=FALSE,exact=TRUE)
wilcox.test(g1a,g3a,paired=FALSE,exact=TRUE)

所有得到的 p 值都高于 0.05(0.07652、0.0636、0.05935)。这很奇怪。这些测试之一不应该给出低得多的 p 值吗?特别是因为我必须使用某种校正来解释事后测试中的多重比较。换句话说:我如何解释这个结果?

4个回答

这样想 - 总体而言,存在显着差异,但很难准确地说出哪两个显着不同。或者,考虑三个 p 值小于 0.1 的可能性(即使它们不是相互独立的)——非常小,对吧?因此,总的来说,我们可能会怀疑数据中存在重要的东西,但无法准确判断出在哪里。

您的小样本量无济于事;它们意味着您的测试的功效非常低,并且还严重限制了您可以获得什么样的 p 值,如以下示例所示:

> g1a <- rnorm(3,0,1)
> g2a <- rnorm(3,2.5,1)
> g3a <- rnorm(3,5,1)
> 
> y <- list(g1a,g2a,g3a)
> y
[[1]]
[1] -2.31356435 -0.09903136 -0.42037052

[[2]]
[1] 2.806082 2.799857 3.383844

[[3]]
[1] 6.543636 6.845559 4.838341

> kruskal.test(y)

    Kruskal-Wallis rank sum test

data:  y 
Kruskal-Wallis chi-squared = 7.2, df = 2, p-value = 0.02732

到现在为止还挺好。关于三个 Wilcoxon 测试:

> wilcox.test(g1a,g2a,paired=FALSE,exact=TRUE)

    Wilcoxon rank sum test

data:  g1a and g2a 
W = 0, p-value = 0.1
alternative hypothesis: true location shift is not equal to 0 

> wilcox.test(g2a,g3a,paired=FALSE,exact=TRUE)

    Wilcoxon rank sum test

data:  g2a and g3a 
W = 0, p-value = 0.1
alternative hypothesis: true location shift is not equal to 0 

> wilcox.test(g1a,g3a,paired=FALSE,exact=TRUE)

    Wilcoxon rank sum test

data:  g1a and g3a 
W = 0, p-value = 0.1
alternative hypothesis: true location shift is not equal to 0 

所有三个 p 值都为 0.1,但我们无法变得更极端 - W = 0 - 所以显然我们已经达到了对 p 值施加的样本量限制。

您的错误是在拒绝 Kruskal-Wallis之后选择 Wilcoxon/Mann-Whitney 秩和检验作为您的事后检验。适当的pos hoc检验是Dunn 检验*,它正确地 (1) 说明了由原假设假设的汇总方差,并且 (2)对您的数据使用与构建 Kruskal-Wallis 检验相同的等级。普通秩和检验需要对每个成对检验的方差进行单独估计,并忽略使用 Kruskal-Wallis 检验执行的总数据集的排名。

Dunn 的测试是在dunntest包中(在 Stata type中)为 Stata 实现的,在dunn.testnet describe dunntest, from(https://alexisdinno.com/stata)包中为 R实现。不确定 SAS 中的实现。


参考

邓恩,OJ (1964)。使用秩和的多重比较。技术计量学,6(3):241-252

* Dunn 的测试有一些使用较少的替代方法,包括 Conover-Iman(如 Dunn,但基于t分布,而不是z分布,在conovertest包中为 Stata 和conover.test中的 R实现),以及 Dwass-Steel-Citchlow-Fligner 测试。

即使使用适当的检验也会出现第二个问题,即您做出了错误的假设,即拒绝综合原假设意味着必须至少有一个拒绝成对的事后原假设。

当可以假设正态分布时,ANOVA 检验也会发生同样的事情。三者之间的差异显然只是大到足以看出它们是不同的,但还不够大到足以区分对之间的差异。请注意,整体 p 值略小于 0.05,并且每个成对检验都略大于 0.05。如果样本量较大,您可能会发现每一个都与其他两个不同。但是这里的推论是中位数不同,但您不确定可以将其归因于哪对。

这是两阶段比较中的一个众所周知的问题,例如,Gabriel [Gabriel KR (1969) 同步测试程序 - 多重比较的一些理论已经观察到了这一问题。年鉴数理统计 40(1):224-250]。