je joue la régression des moindres carrés pondérés comme décrit wiki: WLSrecalcul efficace de la régression des moindres carrés pondérés lorsque les poids changent
que je dois résoudre cette équation: $ B = (t (X) W X)^{ -1} * t (X) W y
$J'utilise SVD pour trouver: $ (t (X) W X)^{- 1} $ et le stocker dans une matrice. En outre je stocke la matrice $ H = (t (X) W X)^{- 1} * t (X) W $ et simplement faire ce qui suit pour toute nouvelle valeur de y: B = H y. De cette façon, je suis en mesure d'économiser le coût de la répétition des multiplications SVD et matricielles en tant que changement de y.
W est une matrice diagonale et ne change généralement pas. Cependant parfois je change un ou deux éléments sur la diagonale dans la matrice de W. Dans ce cas, je dois recommencer SVD et recalculer la matrice H. Ceci est clairement lent et prend du temps. Ma question est: Si je sais ce qui a changé dans W et que rien ne change dans X, y a-t-il une méthode plus efficace pour recalculer (t (X) W X)^- 1? Autrement dit, y a-t-il une méthode analytique efficace pour trouver B étant donné que seuls les éléments diagonaux dans W peuvent changer d'une quantité connue?
Cela fait l'affaire efficacement. Merci d'indiquer les mises en garde concernant les problèmes avec 0 valeurs singulières. – Atlas