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 在评论中将生成的错误页面返回此处;否则,如果您愿意,我会报告错误).
与此同时,我会处理一个补丁。再次感谢。
我发现 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 在评论中将生成的错误页面返回此处;否则,如果您愿意,我会报告错误).
与此同时,我会处理一个补丁。再次感谢。