Python statsmodels中的2向ANOVA产生的平方和与SPSS不同

时间:2018-09-24 16:39:04

标签: python pandas statistics statsmodels anova

我正在学习使用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输出: output

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输出: output

对于上述方差分析,也R 2 = 0.722,且调节R 2 = 0.694。

SPSS 2路方差分析结果: SPSS output ANOVA table

Graphpad Prism 2通方差分析结果: Graphpad output ANOVA table

0 个答案:

没有答案