Python:如何为statsmodel HuberT线性回归按时间加权数据?

时间:2017-08-11 10:28:24

标签: python statsmodels

我正在使用statsmodel,这是我用来生成多线性回归的代码:

def regression():
    Data = pd.read_csv("CSV_file")
    DependentVariable = Data[["Variable1"]].values.tolist()
    IndependentVariables = Data[["Variable2","Variable3","Variable4"]].values.tolist()

    huber_t = sm.RLM(DependentVariable, IndependentVariables, M=sm.robust.norms.HuberT())

    hub_results = huber_t.fit()
    return hub_results.summary()

这给出了正常输出。但是,我还想对我的数据进行加权,以便更新的数据比旧数据更重要。我正在考虑使用某种指数衰减来计算重量。在计算线性回归时,有没有办法将这种权重考虑在内?

1 个答案:

答案 0 :(得分:0)

目前无法使用此类权重。

请参阅statsmodels -- weights in robust linear regression了解相关答案。

因为HuberT在小残差处是局部二次的,所以通过权重重新缩放数据可以作为近似值。但是,它并不等于每次观察对目标函数的贡献增加权重。