Python中的加权非负最小二乘线性回归

3
1个回答

8
您可以通过修改Xy的输入来模拟OLS加权。在OLS中,您解决β的问题为

XtX β = Xty

在加权OLS中,您需要解决的问题是

XtX W β = Xt W y

其中W是一个带有非负条目的对角矩阵。因此,W0.5存在,并且您可以将其表述为

(X W0.5)t(XW0.5) β = (X W0.5)t(XW0.5) y,

这是一个具有X W0.5W0.5 y的OLS问题。


因此,通过修改输入,您可以使用不直接识别权重的非负约束系统。


谢谢。我确实考虑过这个问题,但是由于常数项的存在,它们并不等价,对吧? - RAY
@RAY 在上面的内容中,是否有假设X的某一列不是常数1? - Ami Tavory
你是对的。我认为我上面的评论来自于未能意识到带常数回归和不带常数回归的完全等价性。在我的脑海中,我也想要加权误差的平方而不是观测值,但我意识到我可以始终使用我的预期权重的平方根来加权观测值。 - RAY

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接