ウィキで説明されているように、加重最小二乗回帰を実行しています: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= Hy。このようにして、yの変化に応じてSVDと行列の乗算を繰り返すコストを節約できます。
Wは対角行列であり、通常は変化しません。ただし、W行列の対角線上の1つまたは2つの要素を変更することがあります。その場合、SVDを再度実行し、H行列を再計算する必要があります。これは明らかに遅く、時間がかかります。
私の質問は次のとおりです。Wで何が変更され、Xで何も変更されていない場合、(t(X)W X)^-1を再計算するためのより効率的な方法はありますか?
言い換えると、Wの対角要素のみが既知の量だけ変化する可能性がある場合、Bを見つけるための効率的な分析方法はありますか?