Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用ols对非变独立变量进行回归_Python_R_Machine Learning_Regression_Statsmodels - Fatal编程技术网

Python 使用ols对非变独立变量进行回归

Python 使用ols对非变独立变量进行回归,python,r,machine-learning,regression,statsmodels,Python,R,Machine Learning,Regression,Statsmodels,这是我的数据集: 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(公式='z~x+I(x+y)',data=data).fit() 现在我将得到x,(x+y)和截距的系数。由于自变量x在整个数据集中都是常数,其系数应为0,因为因变量z不依赖于x值。但我的输出与预期不同。我的输出是:

这是我的数据集:

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(公式='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
Coefficients:
(Intercept)            x     I(x + y)  
      2.586           NA        1.590 
我使用相同的数据,使用以下函数找到R上的系数:


m检查results.summary()末尾的注释,它应该说明您的模型的特征值接近于零。问题是完全共线,在R和statsmodel中处理方式不同,但我从R和statsmodel中得到的方程完全不同,这会给我的预测带来误差。你能详细解释一下特征值的事情吗。还有,我怎样才能克服这个问题?python中是否有其他包可用于预测?您的
x
变量是一个常数,包含所有的变量。它与拦截“冲突”。有两种解决方案:不考虑模型中的拦截或不使用模型公式中的x:<代码> MOD1