GLM 与 statsmodels 的拟合

Fitting of GLM with statsmodels

Python 的 statsmodels 模块提供了一组方法来估计 GLM,如 https://www.statsmodels.org/devel/examples/notebooks/generated/glm.html

中所示

例如

glm_binom = sm.GLM(data.endog, data.exog, family=sm.families.Binomial())

上面例子中的link函数是什么?是logitlink吗?我怎样才能使用其他 link 比如 loglog?

我试过下面没有成功

glm_binom = sm.GLM(data.endog, data.exog, family=sm.families.Binomial(link = 'loglog'))

任何指针都会很有帮助

在最新的statsmodels稳定版中(目前是v0.13.2),每个sm.families.family只有以下link函数可用:

Family ident log logit probit cloglog pow opow nbinom loglog logc
Gaussian X X X X X X X X X
Inv Gaussian X X X
Binomial X X X X X X X X X
Poisson X X X
Neg Binomial X X X X
Gamma X X X
Tweedie X X X

或者,可用的 link 函数列表可以通过以下方式获得:

sm.families.family.<familyname>.links

最后,为了在 statsmodels 中更改 GLM 的默认 link 函数,您需要在 family 参数中指定 link 参数:

sm.GLM(y, X, family=sm.families.Binomial(link=sm.families.links.loglog()))

P.S。二项式族的默认 link 是 logit link.