octave mann-whitney/u_test p 值混乱

octave mann-whitney/u_test p-value confusion

我发现 mann-whitney 测试的结果令人困惑,而且 gnu 文档对我没有帮助。 https://www.gnu.org/software/octave/doc/interpreter/Tests.html

这是我试过的简单示例:

octave:1> x=[1,1,1,1,1]
x =

   1   1   1   1   1

octave:2> y=[2,2,2,2,2,2]
y =

   2   2   2   2   2   2

octave:3> [p,z]=u_test(x, y, "<>")
p =  0.0061699
z = -2.7386
octave:4> [p,z]=u_test(x, y, ">")
p =  0.0030849
z = -2.7386

第一个 u_test 是有道理的,因为在该 p 值处,原假设被拒绝,替代方案 P(x>y) != 1/2 将被接受。

然而,第二个 u_test 表明原假设再次被拒绝,因此替代方案 P(x>y) > 1/2 被接受,这对我来说没有任何意义。

我哪里错了?

我查看了 u_test.m,该函数似乎有几个错误,感谢您发现并报告它。

你说得对,作者搞错了测试顺序。根据他的定义应该是相反的(即你得到的结果应该是'<')。

此外,似乎 z 的计算也包含一个错误,这似乎通过使用在线计算器时不同的 p 值得到证实。

欢迎在 octave bug tracker 中将此作为错误报告(请 link 在评论中将生成的错误页面返回此处;否则,如果您愿意,我会报告错误).

与此同时,我会处理一个补丁。再次感谢。