簡體   English   中英

“statsmodels.regression.linear_model如何? WLS“工作?

[英]How does “statsmodels.regression.linear_model. WLS” work?

我使用'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]

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

為什么當權重是范圍(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]

沒有離群值,它更接近你想要的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM