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:具有两个分类变量交互项的概率回归的主要内容,如果未能解决你的问题,请参考以下文章