我正在执行wiki上描述的加权最小二乘回归:WLS
我需要解这个方程: $B= (t(X) W X)^{-1}*t(X) W y$
我使用 SVD 查找: $(t(X) W X)^{-1}$ 并将其存储在矩阵中。此外,我存储矩阵 $H= (t(X) W X)^{-1}*t(X) W$ 并对 y 的任何新值执行以下操作:B= H y。这样我就可以节省随着 y 的变化而重复 SVD 和矩阵乘法的成本。
W是对角矩阵,一般不会改变。但是有时我会更改 W 矩阵对角线上的一两个元素。在那种情况下,我需要再次执行 SVD 并重新计算 H 矩阵。这显然是缓慢且耗时的。
我的问题是:如果我知道 W 发生了什么变化而 X 没有任何变化,是否有更有效的方法来重新计算 (t(X) W X)^-1?
或者换句话说,考虑到只有 W 中的对角线元素可以改变已知量,是否有一种有效的分析方法可以找到 B?