执行 Wilcoxon 秩和检验的不同方法以及结果 W 统计量的解释

机器算法验证 r 假设检验 wilcoxon-mann-whitney 检验
2022-04-04 20:24:11

wilcox.test(x,y, paired=F)R 中和(即使用逗号与波浪号)之间的实际区别是什么wilcox.test(x~y, paired=F),以及如何解释产生的 W 统计量?这应该是相同的统计检验,但两种方法产生不同的结果。

我有一个包含 24 行的数据框,每行都包含有关个人性别和长度的信息:

mydata<-structure(list(ID = 1:24, Sex = structure(c(2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 1L,1L, 2L, 1L, 1L, 2L,2L, 2L, 2L, 1L, 1L,2L, 2L, 2L, 2L), .Label = c("F", "M"), class = "factor"),Length = c(63.8,79.6, 58, 140, 293, 28.6, 147, 31.3, 33.2, 4.55, 16.4, 19.5, 26.4, 3.34, 29.3, 42.9, 55.6, 122, 30.3, 48.4, 130, 64.7, 93.3, 76.1)), .Names = c("ID", "Sex", "Length"), class = "data.frame", row.names = c(NA, -24L))

我想使用 Mann-Whitney U 检验探索两种性别之间的长度差异。

版本 1:

wilcox.test(mydata$Length[mydata$Sex == 'M'], mydata$Length[mydata$Sex == 'F'], paired=F)

        Wilcoxon rank sum test

data:  mydata$Length[mydata$Sex == "M"] and mydata$Length[mydata$Sex == "F"]
W = 118, p-value = 0.0003698
alternative hypothesis: true location shift is not equal to 0

版本 2:

wilcox.test(mydata$Length ~ mydata$Sex, paired=F)

        Wilcoxon rank sum test

data:  mydata$Length by mydata$Sex
W = 10, p-value = 0.0003698
alternative hypothesis: true location shift is not equal to 0

它们都给了我相同的 P 值,但 W 统计数据却截然不同(118 对 10)。我不明白为什么会这样,也不知道使用哪一个来进行推理或报告。我不应该期望从这两种方法中得到相同的答案吗?以及如何解释产生的 W 统计量?

1个回答

每当一个样本中的观测值小于另一个样本中的观测值时,Mann-Whitney U 统计量计数 1,跨越所有跨样本观测值对。但是,哪个样本被认为是第一个样本,哪个样本被认为是第二个样本是任意的——如果你交换它们,你每次得到的统计信息的总和将是对的总数( )U1+U2=n1n2

下的预期值的距离相同E(U)=n1n2/2=64

两个样本的条形图,显示两个统计数据的计算

如果您根据 Wilcoxon 秩和统计量 W(样本 1 中的秩和)来考虑,那么根据您将样本 1 称为哪个值,还有两个可能的值。但是,它们再次以类似的方式相互关联上面的 Mann-Whitney 统计数据,实际上它们也与 Mann-Whitney 统计数据本身相关(通过简单的转变)。

(R 称其统计量为 W,但减去可能的最小秩和,使其完全等于 U 统计量。)

当您进行 t 检验时会发生同样的事情 - 当您查看时会得到不同的统计数据,而不是查看 - - 再一次,它们与 null 情况下的预期相差甚远(在这种情况下,null 情况下的预期统计量为 0。X¯Y¯Y¯X¯