这是我的数据集:
x y z
1 2 1
1 4 6
1 1 12
1 5 14
1 6 17
1 9 18
现在我想使用python中statsmodel库的ols函数对此进行回归。为此我用过:
lm = smf.ols(formula ='z~x + I(x + y)',data = data).fit()
现在我将获得x,(x + y)和截距的系数。由于自变量x在整个数据集中是常数,因此其系数应为0,因为因变量z不依赖于x值。但我的输出与预期不同。我的输出是:
Intercept 1.293173
col1 1.293173
I(col1 + col2) 1.590361
我使用相同的数据使用以下函数在R上找到系数:
m< - lm(z~x + I(x + y),data = new.data)
为此我的输出是:
Coefficients:
(Intercept) x I(x + y)
2.586 NA 1.590
为什么我在python中尝试使用ols模型时会出现此错误?我怎样才能克服这个问题?