Utilisation de la décomposition en valeurs singulières pour calculer la matrice de covariance de variance à partir d'un modèle de régression linéaire

9

J'ai une matrice de conception de p régresseurs, n observations, et j'essaie de calculer l'échantillon matrice de variance-covariance des paramètres. J'essaie de le calculer directement en utilisant svd.

J'utilise R, quand je prends svd de la matrice de conception, j'obtiens trois composants: une matrice qui est , une matrice qui est (vraisemblablement des valeurs propres), et une matrice qui est . J'ai diagonalisé , ce qui en fait une matrice avec 0 dans les hors diagonales.UD 1 × 3 V 3 × 3 D 3 × 3n×pD1×3V3×3D3×3

Soi - disant, la formule de covariance est: , cependant, la matrice ne correspond pas, ni même proche de R construit dans la fonction, . Quelqu'un at-il des conseils / références? J'avoue que je suis un peu peu qualifié dans ce domaine.VD2Vvcov

Volonté
la source

Réponses:

15

Tout d'abord, rappelons que sous les hypothèses de normalité multivariée du modèle de régression linéaire, nous avons que

β^N(β,σ2(XTX)1).

Maintenant, si où la droite est la SVD de X, nous obtenons que . Par conséquent, X T X = V D U T U D V = V D 2 V T ( X T X ) - 1 = V D - 2 V T .X=UDVTXTX=VDUTUDV=VD2VT

(XTX)1=VD2VT.

Il nous manque encore l'estimation de la variance, qui est

σ^2=1np(yTyβ^TXTy).

Bien que je n'ai pas vérifié, espérons - vcov rendement .σ^2VD2VT

Remarque: Vous avez écrit , qui est , mais nous avons besoin de l'inverse pour la matrice de variance-covariance. Notez également que dans , pour faire ce calcul, vous devez faireX T X RVD2VTXTXR

vcov.matrix <- var.est * (v %*% d^(-2) %*% t(v))

en observant que pour la multiplication matricielle, nous utilisons %*%au lieu de simplement *. var.estci-dessus est l'estimation de la variance du bruit.

(De plus, j'ai fait l'hypothèse que est de rang complet et tout au long. Si ce n'est pas le cas, vous devrez apporter des modifications mineures à ce qui précède.)n pXnp

cardinal
la source
@Bien, bien. Heureux que cela ait fonctionné. Vous pourriez alors envisager d'accepter la réponse. Cordialement.
Cardinal
J'ai essayé l'équation mais cela ne fonctionne pas tout à fait. stats.stackexchange.com/questions/195379/…
HelloWorld