2013-04-17 7 views
14

Ich habe versucht, durch mehrere Statistik-Module für Python zu suchen, aber ich kann nicht scheinen, dass diese Unterstützung one-way ANOVA Post-hoc-Tests zu finden.Welches Statistikmodul für Python unterstützt One-Way-ANOVA mit Post-hoc-Tests (Tukey, Scheffe oder andere)?

+0

'TukeyHSD' in R. gebaut Heißt das tun, was Sie suchen? –

+0

statsmodels hat eine 'tukeyhsd' Funktion in der Sandbox, aber ich habe es nicht ausprobiert. –

+0

Ich suche nach der gleichen Funktion, ich denke, ich werde RPy verwenden, eine Schnittstelle zu R, die wie ein Zauber wirkt! – PierreE

Antwort

29

Einweg-ANOVA kann wie

from scipy import stats 
f_value, p_value = stats.f_oneway(data1, data2, data3, data4, ...) 

verwendet werden Dies ist ein Weg ANOVA und es gibt F-Wert und P-Wert.
Es gibt einen signifikanten Unterschied Wenn der P-Wert unter Ihrer Einstellung liegt.


Der Tukey-kramer HSD Test kann wie

from statsmodels.stats.multicomp import pairwise_tukeyhsd 
print pairwise_tukeyhsd(Data, Group) 

Dies ist multicomparison verwendet werden. Der Ausgang ist wie

Multiple Comparison of Means - Tukey HSD,FWER=0.05 
================================================ 
group1 group2 meandiff lower upper reject 
------------------------------------------------ 
    0  1 -35.2153 -114.8741 44.4434 False 
    0  2  46.697 -40.4993 133.8932 False 
    0  3 -7.5709 -87.49 72.3482 False 
    1  2 81.9123 5.0289 158.7956 True 
    1  3 27.6444 -40.8751 96.164 False 
    2  3 -54.2679 -131.4209 22.8852 False 
------------------------------------------------ 

verweisen auf this Website, wie die Argumente zu setzen.
Das tukeyhsd von statsmodels gibt keinen P-Wert zurück.
Also, wenn Sie P-Wert wissen wollen, berechnet von diesem ausgegebenen Wert oder verwendet R.

+2

Nach dem Speichern der Ausgabe in eine Variable "res", können Sie p-Werte erhalten, indem Sie 'psturng (np.abs (res.meandiffs/res.std_pairs), len (res.groupsunique), res.df_total)', wo 'psturng' kommt von' statsmodels.stats.libqsturng import psturng' –

1

Ich denke, dass die Bibliothek Pyvttbl eine ANOVA-Tabelle einschließlich Post-hoc-Tests zurück (das heißt, TukeyHSD). In der Tat, was mit Pyvttbl ist, ist, dass Sie ANOVA für wiederholte Maßnahmen auch durchführen können.

Siehe doc für Anova1way here