Python statsmodels WLS(加权最小二乘)误差,与权重

时间:2016-07-18 12:52:12

标签: python curve-fitting statsmodels data-fitting

我正在使用Python的statsmodel来执行加权线性回归。由于这是我第一次使用这个模块,我进行了一些基本的测试。

这样做,我发现参数的估计误差(即不确定性)与重量无关。

这不符合我天真的期望(较大的误差条会产生更不确定的结果),或者我在非线性拟合中看到的定义,通常使用加权 Hessian来报告参数的不确定性。

我找不到参数错误计算的明确描述(在statsmodels文档或支持页面中)。在此发布以查看是否有人有此经验(以及未来的搜索者)。

最小代码:

import numpy as np
import statsmodels.api as sm

escale = 1

xvals = np.arange(1,11)
yvals = xvals**2                         # dummy nonlinear y-data
evals = escale*np.sqrt(yvals)            # errorbars

X = sm.add_constant(xvals)               # to get intercept term
model = sm.WLS(yvals, X, 1.0/evals**2)   # weight inverse to error
result = model.fit()

print "escale = ", escale
print "fit = ", result.params
print "err = ", result.bse          # same value independent of escale

这是statsmodels或PEBKAC中的数字错误(即,这是正确的行为,我的期望是错误的)?

0 个答案:

没有答案