Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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 “怎么做?”;statsmodels.Retression.linear_模型。WLS";工作_Python_Linear Regression_Statsmodels - Fatal编程技术网

Python “怎么做?”;statsmodels.Retression.linear_模型。WLS";工作

Python “怎么做?”;statsmodels.Retression.linear_模型。WLS";工作,python,linear-regression,statsmodels,Python,Linear Regression,Statsmodels,我使用了“statsmodels.regression.linear_model”来做WLS 但我不知道如何衡量我的回归 有人知道重量是如何分配的,它是如何工作的吗 import numpy as np import statsmodels.api as sm Y = [1,2,3,4,5,6,7] X = range(1,8) W= [1,1,1,1,1,1,1] X = sm.add_constant(X) wls_model = sm.WLS(Y,X, weights=W) results

我使用了“statsmodels.regression.linear_model”来做WLS

但我不知道如何衡量我的回归

有人知道重量是如何分配的,它是如何工作的吗

import numpy as np
import statsmodels.api as sm
Y = [1,2,3,4,5,6,7]
X = range(1,8)
W= [1,1,1,1,1,1,1]
X = sm.add_constant(X)
wls_model = sm.WLS(Y,X, weights=W)
results = wls_model.fit()
results.params
print results.params
#[ -1.55431223e-15   1.00000000e+00]

为什么当权重为范围(1,8)时,斜率和截距为1和0。
但当权重为“1”时,截距不是0。

在您的示例中,数据无论如何都是线性的,因此无论您的权重如何,回归都是完美的拟合。但是如果你改变你的数据,在第一个位置有一个异常值,就像这样

Y = [-5,2,3,4,5,6,7]
然后用恒定的重量,你得到

[-3.42857143  1.64285714]
但是使用
W=range(1,8)

[-1.64285714  1.28571429]

在没有异常值的情况下,它更接近您想要的值。

观测值是固定的,因此我无法添加数据来更改其关系。
[-1.64285714  1.28571429]