使用statsmodel时,如何将常量放在第一个位置



我正试图使用python的statsmodels来运行回归。但问题是,因为我使用了fillna(1(来填充数据帧,所以有一些回归函数作为常量。

当我使用时

sm.OLS(y,x).fit().params

这些参数的顺序是错误的,就像这个

coeff
x1  0.7017
x2  0.0143
x3  -1.0361
x4  -0.0033
x5  0.7583
x6  -0.0081
x7  -0.4451
x8  -0.0024
const   0.0153
x9  0.0153
x10 0.0153
x11 0.0153
x12 0.0153
x13 0.0153
x14 0.0153
x15 0.0153
x16 0.0153
x17 0.0153

因为从x9到x17都是常数。有人能解决这个问题吗?提前感谢!

我使用解决了这个问题

x=sm.add_constant(x, has_constant='add')

使用has_constant='add',确保statsmodels添加一个常量,避免出现上述情况。

最新更新