我可以用下面的语法运行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']]发布于 2021-05-06 15:10:22
您可以在glm api中使用":“。下面的示例使用来自help page的数据集,并将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()https://stackoverflow.com/questions/67413204
复制相似问题