Wilcoxon rank sum test
5 views (last 30 days)
Show older comments
Mohsen Davarynejad on 22 May 2012
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?
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.
the cyclist on 23 May 2012
The reason you get a positive z-score for
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
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)
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!