在python中对GLM进行Anova测试

我试图获得GLM中每个协变量的F统计量和p值.在
Python中,我使用stats mode.formula.api来执行GLM.

formula = 'PropNo_Pred ~ Geography + log10BMI + Cat_OpCavity + CatLes_neles + CatRural_urban + \
        CatPred_Control + CatNative_Intro + Midpoint_of_study'

mod1 = smf.glm(formula=formula, data=A2, family=sm.families.Binomial()).fit()
mod1.summary()

之后我尝试使用statsmodels.stats中的anova对此模型进行ANOVA测试

table1 = anova_lm(mod3)
print table1

但是我收到一个错误说:
    ‘GLMResults’对象没有属性’ssr’

看起来这个anova_lm函数只适用于线性模型python中是否有一个模块对GLM进行anova测试?

最佳答案 不幸的是,没有.但是,您可以通过在每个术语上使用模型的假设检验方法来自己动手.事实上,他们的一些
ANOVA methods甚至不使用属性ssr(这是模型的残差平方和,因此对于二项式GLM来说显然是未定义的).您可以修改此代码以执行GLM ANOVA.

点赞