Wilcoxon rank sum test
5 views (last 30 days)
Show older comments
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 Comment
Oleg Komarov
on 22 May 2012
MATLAB's ranksum is a two-sided test thus you're not testing for something smaller than zero but different from zero.
Accepted Answer
the cyclist
on 23 May 2012
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.]
More Answers (0)
See Also
Categories
Find more on Hypothesis Tests in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!