这是我的数据集:
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模型时,为什么会出现此错误?我怎样才能克服这个问题?