2013-04-30 16 views
6

Tekli bir wilcoxon rank testi eşleştirilen verilerime yapmak istiyorum, çünkü bir örnek diğerinden önemli ölçüde daha büyükse ilgileniyorum.Tek taraflı Wilcoxon imzalı sıralama testi scipy

Scipy eşleştirilmiş numuneler x ve y, bir iki yönlü bir test gerçekleştirmek için

scipy.stats.wilcoxon(x,y) 

sunmaktadır. Normal (simetrik) bir dağılımı kabul edemediğim için, tek taraflı p-değerini iki taraflı p-değerinden elde edemem.

Tek taraflı bir test için p değerleri almak isteyen herkes artık bir python yolu mu?

Teşekkürler! Eğer yeterli gözlemleri (ve diğer hipotezi) varsa

cevap

8

P değeri x veya y dağılımı ile ilgisi yoktur Ne aralarında ne de fark var. Wilcoxon test istatistiği tarafından (http://en.wikipedia.org/wiki/Wilcoxon_signed-rank_test'da olduğu gibi W, veya scipy'da T), normal dağılımı takip ettiği varsayılır.

se = sqrt(se/24) 
z = (T - mn)/se 
prob = 2. * distributions.norm.sf(abs(z)) 
return T, prob 

ve:

mn = count*(count + 1.) * 0.25 
se = count*(count + 1.) * (2. * count + 1.) 

sen (~ python_directory \ site paketlerinde \ scipy \ istatistikler \ morestats.py) kaynak işaretlerseniz, def wilcoxon() son birkaç satır bulacaksınız count, x ve y arasındaki sıfır olmayan farkın sayısıdır. Python yılında:

>>> y1=[125,115,130,140,140,115,140,125,140,135] 
>>> y2=[110,122,125,120,140,124,123,137,135,145] 
>>> ss.wilcoxon(y1, y2) 
(18.0, 0.5936305914425295) 

R yılında: ipucu için

> wilcox.test(y1, y2, paired=TRUE, exact=FALSE, correct=FALSE) 

     Wilcoxon signed rank test 

data: y1 and y2 
V = 27, p-value = 0.5936 
alternative hypothesis: true location shift is not equal to 0 

> wilcox.test(y1, y2, paired=TRUE, exact=FALSE, correct=FALSE, alt='greater') 

     Wilcoxon signed rank test 

data: y1 and y2 
V = 27, p-value = 0.2968 
alternative hypothesis: true location shift is greater than 0 
+0

Kafamı tamamen dolamıyordum (wilcoxon testini tekrar incelemeye ihtiyacım var ..) ama rakamlar kendileri için konuşuyor. Teşekkürler! – Lisa

+0

'oyu yukarı oyu aşağı scipy.stats.wilcoxon tarafından döndürülen P değeri x veya y dağıtımı, ne de kafam karıştı them.' arasındaki fark ile ilgisi yoktur kabul etti. Testin 2 giriş vektörünün aynı dağıtımdan olup olmadığına dair güvenin olduğunu söyledim. –

1

, ben scipy Mann-Withney testi tek taraflı olduğunu anımsıyorum: scipy.stats.wilcoxon tarafından döndürülen http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mannwhitneyu.html

+0

Teşekkür

Yani, bir tarafı p değeri elde etmek, sadece prob/2. veya 1-prob/2.

Örnekler ihtiyaç ! Bu testler arasındaki küçük farkı fark etmemiştim. Şimdi sadece hangi testin benim verilerim için daha uygun olduğunu bulmalıyım. – Lisa

+4

mannwhitneyu bağımsız örnekler içindir, wilcoxon eşleştirilmiş örnekler içindir, böylece aralarında geçiş yapamazsınız. – user333700

+0

Aslında yapabilecekleriniz: Eşleştirilmiş örneklerde iki bağımsız örneklem testi kullanabilirsiniz, ancak bunu başka bir şekilde yapamazsınız. Bu akıllı olsun, tamamen farklı bir şey. – fabee