Wilcoxon rank sum test

12 vues (au cours des 30 derniers jours)
Mohsen  Davarynejad
Mohsen Davarynejad le 22 Mai 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?
  1 commentaire
Oleg Komarov
Oleg Komarov le 22 Mai 2012
MATLAB's ranksum is a two-sided test thus you're not testing for something smaller than zero but different from zero.

Connectez-vous pour commenter.

Réponse acceptée

the cyclist
the cyclist le 23 Mai 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.]
  1 commentaire
Mohsen  Davarynejad
Mohsen Davarynejad le 23 Mai 2012
Ahhh, Yes, Thanks Cyclist!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by