2013-04-17 162 views
14

我已經嘗試通過Python的多個統計模塊查找,但似乎無法找到任何支持one-way ANOVA事後測試。Python的什麼統計模塊支持單向方差分析(post hoc tests)(Tukey,Scheffe或其他)?

+0

'TukeyHSD'內置R.這是否你在尋找什麼? –

+0

statsmodels在沙箱中有一個'tukeyhsd'函數,但我沒有嘗試過。 –

+0

我正在尋找相同的功能,我想我會使用RPy,R的界面,這似乎像一個魅力工作! – PierreE

回答

29

單向ANOVA可用於像

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

這是單向ANOVA和它返回F值和P值。
有顯着差異如果P值低於您的設置。


所述的Tukey-HSD克萊默測試可用於像

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

這是multicomparison。 輸出是一樣

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 
------------------------------------------------ 

請參考this站點如何設置參數。
statsmodels的tukeyhsd不返回P值。
所以,如果你想知道的P值,這些值輸出計算或使用R.

+2

將輸出保存到變量'res'後,您可以通過應用 'psturng(np.abs(res.meandiffs/res.std_pairs),len(res.groupsunique),res.df_total)'獲得p值,其中'psturng'來自'statsmodels.stats.libqsturng import psturng' –

1

我認爲Pyvttbl返回一個方差分析表,包括事後檢驗(即TukeyHSD)庫。事實上,與Pyvttbl完美的是,你可以進行重複測量的方差分析。

見Anova1way here的文檔