Python 在OLS中自动测试交互效果的方法

Python way to automatically test interaction effects in OLS

在 R 中,您基本上可以编写 model='Lottery ~ (Literacy + Wealth + Region)^k' 并获得这些变量的每个 k 路组合。

statsmodels 支持一些 R 风格的 OLS 回归,但它们似乎不支持 ^k 语法。我有一个很大的数据集,足够大以至于无法手动尝试变量组合的做法,并且我基本上正在寻找一种自动化交互效果搜索的方法。

公式由 patsy 处理,而不是直接由 statsmodels 处理。

根据使用 power 的 patsy 文档 (a + b + c + d) ** 3 适用于分类变量的交互作用。

请参阅 https://patsy.readthedocs.io/en/latest/formulas.html#the-formula-language

中的 ** 部分

旁白:Python 中的功率是 ** 而不是 ^