Mann-Whitney 秩检验中 p 值的解释

机器算法验证 假设检验 wilcoxon-mann-whitney 检验 scipy
2022-04-04 01:19:47

我正在使用两个向量a和测试 Mann-Whitney 秩检验b向量几乎相似,所以我希望 p 值接近 0,但返回的 p 值接近 1。原因是什么?我阅读了手册并使用不同的参数运行代码,但没有得到任何接近我期望的东西。

from scipy.stats import mannwhitneyu
import operator
import numpy as np

a = [1000,100,10,1,10,100,1000,10000,1000,100,10,1]
b = [999,100,10,1,10,100,1000,10000,1000,100,10,1]

print(mannwhitneyu(a, b))

代码的输出:

MannwhitneyuResult(statistic=73.5, pvalue=0.95291544831453867)

编辑:

让我们将问题形式化以消除任何误解(如果有问题,请编辑问题):

我试图证明的是数据的等级分布大致相等,

零假设 (H0)= "a 和 b 的排序分布大致相等"

备择假设 (Ha)= "a 和 b 的排序分布不相等"

显着性水平 (alpha) = 0.05

p 值 = 0.95

(p-value > alpha) 所以没有足够的证据表明Ha是正确的,但我们也不能得出结论(H0) 是真的。

相反,如果 (p-value < alpha) 为真,那么我们将有足够的证据反对 H0,并且可以接受 Ha。

所以这里发生的事情是我无法反驳零假设。但是,这并不意味着零假设是错误的。指控 X 先生有罪就像是在进行调查:

H0=" 先生 X 有罪" Ha=" MR X 无罪"

我们猜测他是无罪的,但我们没有足够的证据来反对他:(p-value > alpha),但这并不意味着(H0) 不会是真的。如果我们能够获得足够的证据和陈述(p-value < alpha),那么我们就证伪了H0我们可以得出结论,哈是真实的,他是无罪的。

2个回答

p 值表示获得检验统计量至少为极端的概率如果原假设为真,则作为您的样本中的那个。

高 p 值表明您看到了与原假设真正一致的东西(例如,在您正在检查公平性的硬币投掷 300 次中投掷了 151 个正面),并且与原假设真正一致的东西不会让您思考这是错误的。(在某些情况下,它可能会导致您更仔细地考虑这些假设。)

如果您认为 a 和 b 的值非常相似,那么您会期望获得p 值,而不是低 p 值。(如果您期望 p 值较低,您可能对 p 值的工作方式有一些误解。)

也就是说,测试的 p 值与您关于它们非常相似的陈述一致*。

低 p 值会导致您对 null 产生怀疑。


需要注意的是:值在多个数量级上成对移动的事实表明相关性非常高,因此独立性的假设是站不住脚的(数据似乎是成对的)。它肯定会引起人们对测试的适用性的怀疑。(我假设您制作了这些值以查看测试的行为方式,但如果这是真实数据,您就有问题了。)


远离你期望在 null 下看到的东西,朝着你在替代品下看到的方向

* 但是请注意,在某些情况下,值可能非常相似(至少在某种意义上),而 p 值并不高。

如果您试图证明这两个向量大致相等,那么您有两个问题:1)“相等”到底是什么意思?2) 没有合适的常规测试。

对于 1),您必须考虑数据是否独立,以及您是否要测试均值或中位数等。对于 2)您应该研究等价检验,例如 TOST(两个单边 t 检验),它允许您检验您心中的假设。