【发布时间】:2015-05-11 04:45:16
【问题描述】:
我正在尝试使用 Statsmodels 模块将以下代码从 R 转换为 Python:
model <- glm(goals ~ att + def + home - (1), data=df, family=poisson, weights=weight)
我有一个使用 pandas 的类似数据框(名为 df),目前在 Python 中有以下行(如果有区别,则为 3.4 版):
model = sm.Poisson.from_formula("goals ~ att + def + home - 1", df).fit()
或者,使用 GLM:
smf.glm("goals ~ att + def + home - 1", df, family=sm.families.Poisson()).fit()
但是,我无法使用加权条款。数据框中的每条记录都有一个日期,我希望最近的记录比旧的记录更适合拟合模型。我还没有看到使用它的例子,但如果它可以在 R 中完成,它肯定可以在 Statsmodels 上完成......对吗?
【问题讨论】:
-
权重没有在 statsmodels.GLM 和
discrete版本中实现,泊松。主仓库和即将发布的 0.7 中的 GEE 具有权重,我认为您也可以将它用于单个“组”而不是纵向数据。 -
那真是太可惜了。我再次将代码反向移植到 R 并从那里运行它。我期待在未来版本的 Statsmodels 中看到它!
标签: python r glm statsmodels poisson