Wilcoxon rank sum test

5 次查看(过去 30 天)
I would like to check if my data is smaller than zero or not. Assume the following example.
A = -1*ones(15,1);
[p, h, Stats] = ranksum(A, zeros(15,1))
z-value < 1.96, So A is statistically smaller than zero. But if change the test like the following:
[p, h, Stats] = ranksum(A, zeros(14,1))
the z-value goes positive. Why is that?
  1 个评论
Oleg Komarov
Oleg Komarov 2012-5-22
MATLAB's ranksum is a two-sided test thus you're not testing for something smaller than zero but different from zero.

请先登录,再进行评论。

采纳的回答

the cyclist
the cyclist 2012-5-23
The reason you get a positive z-score for
ranksum(A, zeros(14,1))
is that the z-score is based on ranks of the smaller sample relative to the larger sample. So, it is the ranks of zeros relative to A , and you get higher ranks.
The reason you get a negative z-score for
ranksum(A, zeros(15,1))
is that when the two input vectors have equal sample size, MATLAB arbitrarily bases the z-score on first input (A) relative to the second (zeros), so you get the negative z-score
You can see all this in action if you set a breakpoint inside the ranksum() function. [Lines 70-78 in R2012a.]

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Hypothesis Tests 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by