0

我使用 patsy 来构建设计矩阵。我需要包括原始因素的力量。例如,使用回归y~x1+x1^2+x2+x2^2+x2^3,我希望能够写

patsy.dmatrix('y~x1 + x1**2 + x2 + x2**2 + x2**3', data)

其中 data 是包含列 y、x1、x2 的数据框。但它似乎根本不起作用。有什么解决办法吗?

4

2 回答 2

2

Patsy 对它继承自 R 有一个特殊的解释**。我考虑过让它在应用于数字因子时自动做正确的事情,但实际上并没有实现它......同时,有一个通用的方法来告诉patsy 切换到使用 Python 对运算符的解释,而不是 Patsy 解释:你将表达式包装在I(...). 所以:

patsy.dmatrix('y~x1 + I(x1**2) + x2 + I(x2**2) + I(x2**3)', data)

这里有更详细的解释

于 2016-04-11T03:05:17.903 回答
0

Patsy 似乎没有管理权力表示(还没有?)。可以在这里找到一种解决方法:python stats models - 回归中的二次项

于 2015-08-24T20:26:40.527 回答