Python:具有两个分类变量交互项的概率回归

Posted

技术标签:

【中文标题】Python:具有两个分类变量交互项的概率回归【英文标题】:Python: Probit Regression with interaction term of two categorial variables 【发布时间】:2021-10-12 09:48:12 【问题描述】:

我想运行一个概率回归(参见下面的模型),其中两个虚拟变量(性别 x 处理)相互作用。但是,当在模型中包含治疗*性别时,我收到错误消息“分类数据不能 > 1 维”。 与使用其他分析软件相比,我通过创建一个额外的虚拟对象来获得近似结果,如果两个虚拟对象都等于 1,则其取值为 1 - 但我认为这对于基础统计模型来说并不完全正确。交互作用的边际效应必须是治疗*性别的交叉导数,而不仅仅是共现的导数。 不幸的是,我在 Stats 模型文档中找不到任何关于此的内容。如何正确包含交互项?

非常感谢!

probit_model = probit("decision ~ gender + treatment1 + treatment2 + 
              control1 + control2 + contorl3 + treatment1*Gender + treatment2*Gender", data_probit).fit() 
              #here the error raises

probit_model = probit("decision ~ gender + treatment1 + treatment2 + 
               treatment1_Gender + treatment2_gender + control1 + control2 + contorl3", data_probit).fit()

【问题讨论】:

【参考方案1】:

尝试以下方法:

probit_model = probit("decision ~ control1 + control2 + contorl3 + 
                      treatment1*Gender + treatment2*Gender",
                      data_probit).fit() 

patsy的文档here,貌似patsy在使用*的时候自动添加了主效果。这意味着通过指定treatment1*gender,它会自动解释为treatment1+gender+treatment1:gender。这里的前两个术语是从您的公式中重复的。

如果这不起作用,请提供一个包含数据的最小可重现示例。见here。

【讨论】:

非常感谢!现在它完美运行了! 太棒了。如果这有帮助,请考虑通过单击左侧开头旁边的 v 符号来接受此答案。 @罗莎。

以上是关于Python:具有两个分类变量交互项的概率回归的主要内容,如果未能解决你的问题,请参考以下文章

Python SKLearn:逻辑回归概率

如何使用 python 运行具有分类特征的 Spark 逻辑回归?

Python数据挖掘—回归—逻辑回归

统计学习方法五 逻辑回归分类

在逻辑回归中预测具有最高可能概率的某个标签

逻辑回归算法的原理及实现(LR)