相关疑难解决方法(0)

Python 中 GLM 的方差分析测试

我正在尝试获取 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()
Run Code Online (Sandbox Code Playgroud)

之后,我尝试使用 statsmodels.stats 中的方差分析对该模型进行方差分析测试

table1 = anova_lm(mod3)
print table1
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误消息:“GLMResults”对象没有属性“ssr”

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

python statistics glm statsmodels

7
推荐指数
2
解决办法
5054
查看次数

是否有使用 anova 比较两个或多个逻辑回归模型的 python 函数?

我正在尝试实现此“R”代码的 Python 版本,通过查找偏差统计数据来比较 2 个或更多 Logistic 回归模型

anova(LogisticModel.1, LogisticModel.2)
Run Code Online (Sandbox Code Playgroud)

给出这样的输出 在此输入图像描述

线性模型的 anova 测试有一个实现,其工作原理如下:

from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm

m01 = ols('sales~adverts', data=df).fit()
m02 = ols('sales~adverts+airplay', data=df).fit()
m03 = ols('sales~adverts+airplay+attract', data=df).fit()
anovaResults = anova_lm(m01, m02, m03)
print(anovaResults)
Run Code Online (Sandbox Code Playgroud)

输出如下 在此输入图像描述

我已经通过手动计算计算了 Logistic 回归表中描述的残差 df、残差偏差、偏差,但我想知道是否有任何东西可以使用任何库在 Python 中自动执行此操作。

这里已经提出了类似的问题,但仍未得到答复。

python anova statsmodels logistic-regression

6
推荐指数
0
解决办法
1528
查看次数