R 中 wilcox.test() 输出的 W 统计量与 U 统计量相同吗?

机器算法验证 r wilcoxon-mann-whitney 检验
2022-02-12 11:38:01

我最近一直在阅读有关 Mann-Whitney U 测试的信息。事实证明,要在 R 中执行此测试,您实际上需要运行 Wilcoxon 测试!

我的问题:R 中的 W 统计量是否wilcox.test与 U 统计量相同?

3个回答

Wilcoxon 通常被认为是该测试的最初发明者*,尽管 Mann 和 Whitney 的方法向前迈出了一大步,并且他们扩展了统计数据列表的案例。我的偏好是将测试称为 Wilcoxon-Mann-Whitney,以识别这两种贡献(也可以看到 Mann-Whitney-Wilcoxon;我也不介意)。

* 然而,实际情况有点模糊,其他几位作者也提出了关于这个时间或更早的相同或相似的统计数据,或者在某些情况下做出了与测试密切相关的贡献。至少一些功劳应该去别处。

Wilcoxon 检验和 Mann-Whitney U 检验是等效的(并且帮助说明它们是等效的),因为它们总是在相同的情况下拒绝相同的案例;他们的测试统计数据最多只会有一个变化(在某些情况下,可能只是符号变化)。

文献中对 Wilcoxon 检验的定义不止一种(这种模糊性可以追溯到检验统计量的原始表格,而不是片刻),因此必须注意讨论的是哪种 Wilcoxon 检验。

这两篇文章讨论了两种最常见的定义形式:

R中的Wilcoxon秩和检验

计算 Wilcoxon 秩和检验的检验统计量的不同方法

为了解决 R 中发生的具体情况:

R 中使用的统计量wilcox.test在帮助 ( ?wilcox.test) 中定义,其中解释了与 Mann-Whitney U 统计量的关系问题:

文献对 Wilcoxon 秩和和 Mann-Whitney 检验的定义并不一致

两个最常见的定义对应于减去或不减去最小值的第一个样本的秩和:R 减去而 S-PLUS 不减去,给出一个大于 m(m+1)/2 的值第一个大小为 m 的样本。(似乎 Wilcoxon 的原始论文使用了未经调整的排名总和,但随后的表格减去了最小值。)

R 的值也可以计算为不大于的所有对的数量,(x[i], y[j])这是Mann-Whitney 检验的最常见定义。y[j]x[i]

最后一句话完全回答了你问题的那个方面——R 输出的 W 版本*也是 U 的值。

* 样本 1 中的秩和减去它可以取的最小值(即减去)。n1(n1+1)2

Wilcoxon 秩和检验和 Mann-Whitney 检验都是独立 t 检验的非参数等效项。在某些情况下,R 给出的 W 版本也是 U 的值。但并非在所有情况下。

使用时:wilcox.test(df$var1 ~ df$var2, paired=FALSE)给定的 W 与 U 相同。因此您可以将其报告为 Mann-Whitney U 统计量。

但是,当您使用 : 时wilcox.test(df$var1 ~ df$var2, paired=TRUE),您实际上是在执行 Wilcoxon 符号秩检验。Wilcoxon 符号秩检验等效于相关 t 检验

资料来源:Andy Field 的“使用 R 发现统计数据”(2013 年)

但是请注意,代码:( wilcox.test(df$var1 ~ df$var2, paired=FALSE)使用'〜')

将产生与 a 不同的 W 统计量:( wilcox.test(df$var1, df$var2, paired=FALSE)使用 ',')