## 创建方差分析表
res2 = sm.stats.anova_lm(model2, typ=2)
res2
#检验残差的正态分布
res = model2.resid
fig = sm.qqplot(res, line='s')
plt.show()
从上面的Q-Q图,我们可以看到残差几乎是正态分布的(尽管在最末端的点可以被贴现)。因此,我们可以得出结论,它满足方差分析检验的正态性假设。
#方法2-检查组之间的交互
formula = 'newCount ~ C(age_Group) *C(density_Group)'
model = ols(formula, AnovaData).fit()
model.summary()
aov_table = anova_lm(model, typ=2)
print(aov_table.round(4))
结果的解释
通过ANOVA分析获得的日冕病例数,年龄组和密度组以及相互作用的P值具有统计学意义(P <0.05)。我们得出结论,density_Group的类型显着影响日冕的结果。
age_Group显着影响日冕病例的结果,age_Group和density_Group的相互作用也显着影响日冕病例的结果。
事后检验最后,让我们确定哪些组在统计上是不同的。我们将使用Tuckey HSD方法:
mc = statsmodels.stats.multicomp.MultiComparison(AnovaData['newCount'],AnovaData['density_Group'])
mc_results = mc.tukeyhsd()
print(mc_results)
mc = statsmodels.stats.multicomp.MultiComparison(AnovaData['newCount'],AnovaData['age_Group'])
mc_results = mc.tukeyhsd()
print(mc_results)