python - 如何在 python 中的 GLM 中添加交互项
问题描述
我可以使用以下语法运行 GLM;
y_train = dt_glm['Eligible Revenue']
x_train = dt_glm[['Upfront Contra','Distribution Inventory Eurofit Net USD','Upfront Contra','6U','BNB']]
model_glm = sm.GLM(y_train , x_train, family=sm.families.Gamma())
print(model_glm.fit().summary())
但我也想添加我无法添加的交互项。
我尝试了以下方式,但它抛出了语法错误
x_train = dt_glm[['Upfront Contra'*'Distribution Inventory Eurofit Net USD','Upfront Contra','6U','BNB']]
解决方案
您可以在 glm api 中使用“:”。下面是一个使用帮助页面COUTAX
中的数据集的示例,其中和之间的交互项UNEMPF
指定为 COUTAX:UNEMPF
:
import statsmodels.api as sm
import statsmodels.formula.api as smf
import pandas
data = sm.datasets.scotland.load(as_pandas=True)
df = data.data
gamma_model = smf.glm(formula='YES ~ COUTAX + UNEMPF + COUTAX:UNEMPF + MOR',
data=df, family=sm.families.Gamma())
gamma_model.fit()
推荐阅读
- php - 如何将哈希密码验证更改为普通密码?
- c# - 打开一个动态创建的按钮时,所有按钮都打开
- java - 我应该使用 try/catch 吗?
- c# - 如何在使用 MS Access 和 OleDb 连接的 Insert Into 命令期间返回主键值?
- python - windows系统托盘图标作为服务
- java - 无法使用 selenium Java 选择下拉值
- excel - 过滤后如何在表格中获取可见单元格的值 - 仅适用于第一个值
- mysql - Maria 数据库中的行锁定
- javascript - 根据所选选项更改字体大小
- typescript - 如何在 TypeScript 中覆盖量角器的 jasmine.Spec.prototype.addExpectationResult?