我正在学习使用Python进行统计分析,并且在弄清楚如何使用statsmodels执行2向ANOVA时,我发现我的Python代码产生了一些异常值。比较输出,您可以看到Python与SPSS / Graphpad的SS_Factor_1值和Adjusted R2不同。此外,尽管SPSS和Graphpad计算类型III的平方和,但是当typ = 3时,statsmodel ANOVA输出最异常,而typ = 1或2则更接近。他们为什么不同意?为什么typ = 3最不同?
我的问题与this one非常相似,未得到解答。我的声誉也太低,无法对此问题发表评论。
II型平方和Python代码:
formula = 'dependent_variable ~ C(factor_1) * C(factor_2)'
model = ols(formula, data=df_freq_time).fit()
aov_table = anova_lm(model, typ=2)
aov_table
Python输出:
III类平方和Python代码:
formula = 'dependent_variable ~ C(factor_1) * C(factor_2)'
model = ols(formula, data=df_freq_time).fit()
aov_table = anova_lm(model, typ=3)
aov_table
Python输出:
对于上述方差分析,也R 2 = 0.722,且调节R 2 = 0.694。SPSS 2路方差分析结果:
Graphpad Prism 2通方差分析结果: