我发现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,这对我没有任何意义。
我哪里出错了?
答案 0 :(得分:2)
我查看了u_test.m
并且该函数似乎有多个错误,感谢您发现并报告它。
你是对的,作者混淆了测试的顺序。根据他的定义,它应该是另一种方式(即你得到的结果应该是'<'
)。
此外,似乎z
的计算也包含一个错误,这似乎可以通过使用在线计算器时的不同p值来确认。
请在octave bug tracker处将此错误报告为错误(请在评论中将结果错误页面链接回来;否则,如果您愿意,我会报告错误。)
与此同时,我将处理一个补丁。再次感谢。