首页 > 解决方案 > How to run a GLM gamma regression in Python with R like formulas

问题描述

I am running a GLM regression in Python using statsmodels using the following code. I specifically want to implement a log link function. I am able to write R like formulas using Statsmodels.

The following code successfully runs but throws up a Deprecation Warning. Can anyone suggest how to get rid of this warning. Thanks for the help.

Code:

mod = smf.glm(formula='y ~  C(x1) + C(x2) + C(x3) + x4 + x5', data=data,family=sm.families.Gamma(link=sm.families.links.log))
reg = mod.fit()
print(reg.summary())

Warning: DeprecationWarning: Calling Family(..) with a link class as argument is deprecated. Use an instance of a link class instead.

标签: pythonstatsmodelsglmdeprecation-warninggamma-function

解决方案


我认为以上任何一个答案都不正确。按照警告的指示,正确的方法是使用括号内的链接函数的相应实例:

mod = smf.glm(formula='y ~  C(x1) + C(x2) + C(x3) + x4 + x5', data=data,family=sm.families.Gamma(link=sm.families.links.log()))
reg = mod.fit()
print(reg.summary())

推荐阅读