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函数是什么?是logit
link吗?我怎样才能使用其他 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.
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函数是什么?是logit
link吗?我怎样才能使用其他 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.