这是我的数据集:

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