What statistics module for python supports one way ANOVA with post hoc tests (Tukey, Scheffe or other)?

david_adler picture david_adler · Apr 17, 2013 · Viewed 20.4k times · Source

I have tried looking through multiple statistics modules for Python but can't seem to find any that support one-way ANOVA post hoc tests.

Answer

ami_GS picture ami_GS · Jan 17, 2014

one way ANOVA can be used like

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

This is one way ANOVA and it returns F value and P value.
There is significant difference If the P value is below your setting.


The Tukey-kramer HSD test can be used like

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

This is multicomparison. The output is like

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

Please refer to this site how to set the arguments.
The tukeyhsd of statsmodels doesn't return P value.
So, if you want to know P value, calculate from these outputted value or use R.