Compréhension géométrique de l'ACP dans l'espace (double) sujet


19

J'essaie d'obtenir une compréhension intuitive du fonctionnement de l'analyse en composantes principales (ACP) dans l'espace (double) sujet .

Considérons un ensemble de données 2D avec deux variables, et , et points de données (la matrice de données est et est supposée être centrée). La présentation habituelle de l'ACP est que nous considérons points dans , écrivons la matrice de covariance , et trouvons ses vecteurs propres et valeurs propres; le premier PC correspond à la direction de la variance maximale, etc. Voici un exemple avec la matrice de covariance . Les lignes rouges montrent les vecteurs propres mis à l'échelle par les racines carrées des valeurs propres respectives.x1x2nXn×2nR22×2C=(4222)

PCA dans l'espace échantillon

Considérez maintenant ce qui se passe dans l' espace sujet (j'ai appris ce terme de @ttnphns), également connu sous le nom d' espace double (le terme utilisé dans l'apprentissage automatique). Il s'agit d'un espace à dimensions où les échantillons de nos deux variables (deux colonnes de ) forment deux vecteurs et . La longueur au carré de chaque vecteur variable est égale à sa variance, le cosinus de l'angle entre les deux vecteurs est égal à la corrélation entre eux. Cette représentation est d'ailleurs très standard dans les traitements de régression multiple. Dans mon exemple, l'espace sujet ressemble à ça (je montre seulement le plan 2D enjambé par les deux vecteurs variables):X x 1 x 2nXx1x2

PCA dans l'espace du sujet 1

Les composants principaux, étant des combinaisons linéaires des deux variables, formeront deux vecteurs et dans le même plan. Ma question est: quelle est la compréhension / intuition géométrique de la façon de former des vecteurs variables à composantes principales en utilisant les vecteurs variables originaux sur un tel tracé? Étant donné et , quelle procédure géométrique donnerait ?p 2 x 1 x 2 p 1p1p2x1x2p1


Ci-dessous est ma compréhension partielle actuelle de celui-ci.

Tout d'abord, je peux calculer les principaux composants / axes via la méthode standard et les tracer sur la même figure:

PCA dans l'espace du sujet 2

De plus, on peut noter que le est choisi de telle sorte que la somme des distances au carré entre (vecteurs bleus) et leurs projections sur est minimale; ces distances sont des erreurs de reconstruction et elles sont représentées par des lignes noires en pointillés. De manière équivalente, maximise la somme des longueurs au carré des deux projections. Cela spécifie complètement et bien sûr est complètement analogue à la description similaire dans l'espace principal (voir l'animation dans ma réponse à Comprendre l'analyse des composants principaux, les vecteurs propres et les valeurs propres ). Voir également la première partie de la réponse de @ ttnphns ici .x i p 1 p 1 p 1p1xip1p1p1

Mais ce n'est pas assez géométrique! Il ne me dit pas comment trouver un tel et ne spécifie pas sa longueur.p1

Je suppose que , , et se trouvent tous sur une ellipse centrée sur avec et comme axes principaux. Voici à quoi cela ressemble dans mon exemple:x 2 p 1 p 2 0 p 1 p 2x1x2p1p20p1p2

entrez la description de l'image ici

Q1: Comment le prouver? La démonstration algébrique directe semble être très fastidieuse; comment voir que cela doit être le cas?

Mais il existe de nombreuses ellipses différentes centrées sur et passant par et :x 1 x 20x1x2

entrez la description de l'image ici

Q2: Qu'est-ce qui spécifie l'ellipse "correcte"? Ma première supposition était que c'est l'ellipse avec l'axe principal le plus long possible; mais cela semble faux (il y a des ellipses avec un axe principal de n'importe quelle longueur).

S'il y a des réponses à Q1 et Q2, je voudrais aussi savoir si elles se généralisent au cas de plus de deux variables.


Est-il vrai qu'il existe de nombreuses ellipses possibles qui sont centrées à l'origine (où les intersections x1 et x2), et entrent en contact avec les extrémités de x1 et x2? J'aurais pensé qu'il n'y en aurait qu'un. Certes, il peut y en avoir beaucoup si vous détendez l'un de ces 3 critères (centre et 2 extrémités).
gung - Rétablir Monica

Il y a beaucoup d'ellipses centrées à l'origine passant par deux vecteurs. Mais pour les vecteurs non colinéaires et il n'y en a qu'un qui est le cercle unitaire dans la base double. C'est le lieu de oùBeaucoup peut être appris de ses principaux axes. ( c , d ) x ( a , b ) + y ( c , d ) | ( a c b d ) - 1 ( x y )(a,b)(c,d)x(a,b)+y(c,d)
|(acbd)1(xy)|2=1.
whuber

3
variable space (I borrowed this term from ttnphns)- @amoeba, vous devez vous tromper. Les variables en tant que vecteurs dans (à l'origine) l'espace à n dimensions sont appelées espace sujet (n sujets en tant qu'axes "ont défini" l'espace tandis que p variables "s'étendent" sur lui). L'espace variable est, au contraire, l'inverse - c'est-à-dire le nuage de points habituel. C'est ainsi que la terminologie est établie dans les statistiques multivariées. (Si dans l'apprentissage automatique, c'est différent - je ne le sais pas - alors c'est bien pire pour les apprenants.)
ttnphns

Notez que les deux sont des espaces vectoriels: des vecteurs (= points) sont ce qui s'étend, des axes qui définissent les directions et portent des encoches de mesure. Notez également la dialectique: les deux "espaces" sont en fait le même espace (uniquement formulé différemment dans un but courant). On le voit, par exemple, sur la dernière image de cette réponse . Lorsque vous superposez les deux formulations, vous obtenez le biplot, ou double espace.
ttnphns

My guess is that x1, x2, p1, p2 all lie on one ellipseQuelle pourrait être l'aide heuristique de l'ellipse ici? J'en doute.
ttnphns

Réponses:


5

Tous les résumés de affichés dans la question ne dépendent que de ses seconds moments; ou, de manière équivalente, sur la matrice . Parce que nous considérons comme un nuage de points - chaque point est une ligne de pouvons nous demander quelles opérations simples sur ces points préservent les propriétés de .X X X X X XXXXXXXX

La première consiste à multiplier à gauche par une matrice , ce qui produirait une autre matrice . Pour que cela fonctionne, il est essentiel que n × n U n × 2 U XXn×nUn×2UX

XX=(UX)UX=X(UU)X.

L'égalité est garantie lorsque est la matrice d'identité: c'est-à-dire lorsque est orthogonal . n×n UUUn×nU

Il est bien connu (et facile à démontrer) que les matrices orthogonales sont des produits de réflexions et de rotations euclidiennes (elles forment un groupe de réflexion dans ). En choisissant judicieusement les rotations, nous pouvons simplifier considérablement . Une idée consiste à se concentrer sur les rotations qui n'affectent que deux points dans le nuage à la fois. Celles-ci sont particulièrement simples, car nous pouvons les visualiser.XRnX

Plus précisément, soit et deux points distincts non nuls dans le nuage, constituant les lignes et de . Une rotation de l'espace de colonne affectant uniquement ces deux points les convertit en( x j , y j ) i j X R n(xi,yi)(xj,yj)ijXRn

{(xi,yi)=(cos(θ)xi+sin(θ)xj,cos(θ)yi+sin(θ)yj)(xj,yj)=(sin(θ)xi+cos(θ)xj,sin(θ)yi+cos(θ)yj).

Cela revient à dessiner les vecteurs et dans le plan et à les faire tourner selon l'angle . (Remarquez comment les coordonnées se mélangent ici! Les vont ensemble et les vont ensemble. Ainsi, l'effet de cette rotation dans ne ressemblera généralement pas à une rotation de la vecteurs et dessinés dans )( y i , y j ) θ x y R n ( x i , y i ) ( x j , y j ) R 2(xi,xj)(yi,yj)θxyRn(xi,yi)(xj,yj) R2

En choisissant l'angle juste, nous pouvons mettre à zéro l'un de ces nouveaux composants. Pour être concret, choisissons pour queθ

{cos(θ)=±xixi2+xj2sin(θ)=±xjxi2+xj2.

Cela fait . Choisissez le signe pour faire . Appelons cette opération, qui modifie les points et dans le nuage représenté par , .y j0 i j X γ ( i , j )xj=0yj0ijXγ(i,j)

En appliquant récursivement à , la première colonne de sera non nulle uniquement dans la première rangée. Géométriquement, nous aurons déplacé tous les points du nuage sauf un sur l' axe des . Maintenant, nous pouvons appliquer une seule rotation, impliquant potentiellement les coordonnées dans , pour presser ces points vers un seul point. De manière équivalente, a été réduit à une forme de blocγ(1,2),γ(1,3),,γ(1,n)XXy2,3,,nRnn1X

X=(x1y10z),

avec et deux vecteurs de colonne avec les coordonnées , de telle manière que0zn1

XX=((x1)2x1y1x1y1(y1)2+||z||2).

Cette rotation finale réduit encore à sa forme triangulaire supérieureX

X=(x1y10||z||0000).

En effet, nous pouvons maintenant comprendre en termes de matrice beaucoup plus simple créée par les deux derniers points non nuls restés debout.X2×2(x1y10||z||)

Pour illustrer, j'ai tiré quatre points iid d'une distribution normale bivariée et arrondi leurs valeurs à

X=(0.090.120.310.630.740.231.80.39)

Ce nuage de points initial est montré à gauche de la figure suivante en utilisant des points noirs pleins, avec des flèches colorées pointant de l'origine à chaque point (pour nous aider à les visualiser comme des vecteurs ).

Figure

La séquence d'opérations effectuée sur ces points par et donne les nuages ​​représentés au milieu. À tout droit, les trois points situés le long des axe ont été fusionné en un seul point, en laissant une représentation de la forme réduite de . La longueur du vecteur vertical rouge est; l'autre vecteur (bleu) est .γ(1,2),γ(1,3),γ(1,4)yX||z||(x1,y1)

Remarquez la faible forme en pointillés dessinée pour référence dans les cinq panneaux. Il représente la dernière flexibilité restante dans la représentation de :X lorsque nous faisons pivoter les deux premières lignes, les deux derniers vecteurs tracent cette ellipse. Ainsi, le premier vecteur trace le chemin

(1)θ  (cos(θ)x1,cos(θ)y1+sin(θ)||z||)

tandis que le deuxième vecteur trace le même chemin selon

(2)θ  (sin(θ)x1,sin(θ)y1+cos(θ)||z||).

On peut éviter une algèbre fastidieuse en notant que parce que cette courbe est l'image de l'ensemble des points sous la transformation linéaire déterminée par{(cos(θ),sin(θ)):0θ<2π}

(1,0)  (x1,0);(0,1)  (y1,||z||),

ce doit être une ellipse. (La question 2 a maintenant reçu une réponse complète.) Ainsi, il y aura quatre valeurs critiques de dans le paramétrage , dont deux correspondent aux extrémités du grand axe et deux correspondent aux extrémités du petit axe; et il s'ensuit immédiatement que donne simultanément les extrémités du petit axe et du grand axe, respectivement. Si nous choisissons un tel , les points correspondants dans le nuage de points seront situés aux extrémités des axes principaux, comme ceci:( 1 ) ( 2 ) θθ(1) (2)θ

Figure 2

Parce que ceux-ci sont orthogonaux et dirigés le long des axes de l'ellipse, ils décrivent correctement les axes principaux : la solution PCA. Cela répond à la question 1.


L'analyse donnée ici complète celle de ma réponse de bas en haut sur l'explication de la distance de Mahalanobis . Là, en examinant les rotations et les remises à l'échelle dans , j'ai expliqué comment tout nuage de points en dimensions détermine géométriquement un système de coordonnées naturel pour . Ici, j'ai montré comment il détermine géométriquement une ellipse qui est l'image d'un cercle sous une transformation linéaire. Cette ellipse est, bien sûr, un isocontour de distance constante de Mahalanobis. p=2 R 2R2p=2R2

Une autre chose accomplie par cette analyse est d'afficher une connexion intime entre la décomposition QR (d'une matrice rectangulaire) et la décomposition en valeurs singulières , ou SVD. Les sont appelés rotations de Givens . Leur composition constitue la partie orthogonale, ou " ", de la décomposition QR. Ce qui restait - la forme réduite de - est la partie triangulaire supérieure, ou " " de la décomposition QR. En même temps, la rotation et les rééchelonnements (décrits comme des réétiquettes des coordonnées dans l'autre post) constituent la partie principale du SVD,Q X R DVX = Uγ(i,j)QXRDV UX=UDV . Les lignes de , soit dit en passant, forment le nuage de points affiché dans la dernière figure de ce message.U

Enfin, l'analyse présentée ici se généralise de façon évidente aux cas : c'est-à-dire lorsqu'il n'y a qu'une ou plusieurs composantes principales.p2


Bien que votre réponse puisse être exemplaire en elle-même, il n'est pas clair - pour moi - comment elle se rapporte à la question. Vous parlez tout au long du nuage de données X (et les vecteurs que vous faites pivoter sont des points de données, des rangées de X). Mais la question portait sur l' espace réduit du sujet . En d'autres termes, nous n'avons pas de données X, nous avons seulement une covariance 2x2 ou une matrice de dispersion X'X.
ttnphns

(suite) Nous représentons les 2 variables résumées par lui comme 2 vecteurs avec longueurs = sqrt (éléments diagonaux) et angle = leur corrélation. Ensuite, l'OP demande comment pouvons-nous résoudre purement géométriquement les principaux composants. En d'autres termes, OP veut expliquer la composition géométriquement eigend (valeurs propres et vecteurs propres ou, mieux, les chargements) de matrice de covariance symétrique 2x2.
ttnphns

(suite) Veuillez regarder la deuxième photo ici . Ce que le PO de la question actuelle cherche, c'est de trouver des outils ou des astuces géométriques (trigonométriques, etc.) pour dessiner les vecteurs P1 et P2 sur cette image, n'ayant que les vecteurs X et Y comme indiqué.
ttnphns

1
@ttnphns. Peu importe le point de départ: la première moitié de cette réponse montre que vous pouvez réduire n'importe quel nuage de points en une paire de points contenant toutes les informations sur . La seconde moitié démontre que la paire de points n'est pas unique, mais néanmoins chacun se trouve sur la même ellipse. Il donne une construction explicite de cette ellipse commençant par toute représentation en deux points de (comme la paire de vecteurs bleus montrée dans la question). Ses axes majeur et mineur donnent la solution PCA (les vecteurs rouges). X X X XXXXXX
whuber

1
Merci, je commence à comprendre votre pensée. (Je souhaite que vous ayez ajouté des sous-titres / synopsis directement dans votre réponse sur les deux "moitiés" de celui-ci, juste pour le structurer pour un lecteur.)
ttnphns
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.