Bonjour,
Je suis ennuyé parce que j'ai utilisé la fonction princomp sur Matlab pour faire une ACP et qu'ensuite j'ai décidé de regarder la qualité de cette ACP...
Je pose ma matrice de départ X et SCORE la matrice des coordonnées des individus dans la nouvelle base. ET ensuite :
C=diag(X*X'); %normes des individus de X
B=diag(SCORE*SCORE'); %normes des individus de SCORE
E=diag(X*SCORE'); %produit scalaire de X par score
F=(E./sqrt(C)./sqrt(B)).^2; %cosinus carrés entre les individus de x et leurs projetés respectifs dans SCORE.
Je m'attendais à quelques cos carrés élevés et bien non ! Tous inférieurs à 0.1 !!! Est ce donc une mauvaise méthode que de considérer l'angle entre les individus et leur projetés ??? Ou est ce que c'est l'étude ACP qui n'est pas adéquate ?
Merci beaucoup
-------------------------------------------------------------------------
Je deviens fou! J'ais deux matrices n*p qui représentent n vecteurs pour la première et leurs n projections dans une autre base pour la seconde.
Je voudrais trouver une matrice n*1 qui donne les n cosinus entre les vecteurs et leur projection.
Pour l'instant j'as pensé a prendre la trace du produit de la première matrice par la transposée de la seconde (donc le produit scalire de chaque vecteur avec son vecteur projeté) mais ensuite il faut que je divise chaque valeur par le produit de la norme de chaque vecteur avec la norme de son vecteur projeté!
Je suis persuadé qu'il existe plus simple, mais quoi!?
Merci pour votre aide
Partager