Algèbre

L'ACP par la transposée et l'inverse

Un tableau de données n'est pas une matrice carrée : il n'a ni déterminant ni inverse. Pourtant, deux opérations le rendent maniable. La transposée fait passer des individus aux variables et ramène une analyse géante à une petite matrice. L'inverse de la matrice des corrélations, elle, révèle les liens directs entre variables, mesure les distances et stabilise les régressions. Cinq planches pour voir ces deux outils au travail dans une analyse en composantes principales (ACP).

Vue d'ensemble

Notons Z le tableau centré-réduit : n lignes (les individus), p colonnes (les variables). Deux produits carrés en sortent :

ProduitTailleCe qu'il contientRôle dans l'ACP
R = ZᵀZ / np × ples corrélations entre variablesses vecteurs propres sont les axes principaux
ZZᵀ / nn × nles ressemblances entre individusmêmes valeurs propres non nulles que R
R⁻¹p × ples liens directs entre variablesVIF, corrélations partielles, distance de Mahalanobis

La transposée échange les rôles des lignes et des colonnes. L'inverse, quand il existe, se lit entièrement sur l'ACP : R⁻¹ = Σ (1/λₖ) uₖuₖᵀ. Les axes de petite variance y pèsent donc le plus lourd.

Le tableau des notes (12 élèves × 6 matières, données fictives) se transpose. Les lignes deviennent des points (le nuage des individus, au centre) et les colonnes deviennent des flèches (le nuage des variables, à droite). Les deux nuages sont les deux faces d'une même décomposition.
1

Deux nuages pour un seul tableau

Comment passer des coordonnées des élèves à celles des matières, et retrouver une note sur le graphique ?

Si uₖ est un vecteur propre de R, de valeur propre λₖ, les coordonnées des élèves sur l'axe k sont Fₖ = Zuₖ. En multipliant par Zᵀ, on retombe sur les matières : ZᵀFₖ = nλₖuₖ. Ce sont les formules de transition. Elles disent qu'un élève est du côté des matières où il a de bonnes notes, et qu'une matière est du côté des élèves qui y réussissent. Conséquence pratique, le biplot (Gabriel, 1971) : en superposant les deux nuages, la note centrée-réduite zij se lit comme le produit scalaire du point de l'élève i par la flèche de la matière j.

Cliquez une case du tableau, un point ou une flèche.
Le tableau des notes, coloré par la note centrée-réduite (bleu au-dessus de la moyenne de la matière, rouge en dessous). La case choisie est encadrée.
Le biplot sur les deux premiers axes : élèves (points) et matières (flèches uⱼ, agrandies). La projection du point sur la droite de la flèche donne l'approximation de la note.
Valeurs propres de R (6 × 6)
Valeurs propres de ZZᵀ/n (12 × 12)
Formules de transition, écart maximal
Case choisie : note réelle et lecture sur le biplot
Pourquoi les deux nuages s'accordent. ZᵀZ et ZZᵀ ont les mêmes valeurs propres non nulles. Si ZᵀZu = λu, alors ZZᵀ(Zu) = λ(Zu) : le vecteur Zu, qui donne les coordonnées des individus, est vecteur propre de ZZᵀ. Ici les six valeurs non nulles sont communes, et ZZᵀ/n a six valeurs nulles de plus : le tableau est de rang 6.
2

L'astuce de la transposée : 12 visages, 400 pixels

Quand il y a beaucoup plus de variables que d'individus, faut-il vraiment diagonaliser une matrice p × p ?

Chaque visage est une image de 20 × 20 = 400 pixels, donc un point de ℝ⁴⁰⁰. L'ACP des 12 visages demanderait de diagonaliser ZᵀZ, de taille 400 × 400. Mais elle n'a que 11 valeurs propres non nulles (12 images centrées), les mêmes que celles de la petite matrice ZZᵀ, de taille 12 × 12. On diagonalise donc la petite, puis on remonte : uₖ = Zᵀvₖ / √λₖ. C'est l'idée des visages propres de Turk et Pentland (1991), à l'origine de la reconnaissance faciale par ACP. Les visages ici sont dessinés par la page, avec des paramètres tirés au hasard.

En haut, les 12 visages et le visage moyen. En bas à gauche, les quatre premiers visages propres u₁ … u₄ (bleu : pixel plus clair que la moyenne, rouge : plus sombre). En bas à droite, le visage choisi et sa reconstruction : visage moyen + k composantes.
Tailles à diagonaliser
‖ZᵀZuₖ − λₖuₖ‖ / λₖ, sans jamais former ZᵀZ
λ₁ par la puissance itérée directement dans ℝ⁴⁰⁰
Erreur de reconstruction · part de variance gardée
Un gain énorme. Pour 1 000 photos de 100 × 100 pixels, on diagonalise une matrice 1 000 × 1 000 au lieu de 10 000 × 10 000, cent fois moins de cases. Plus généralement, on travaille toujours dans le plus petit des deux espaces, ℝⁿ ou ℝᵖ. C'est aussi ce que fait la SVD de Z, qui donne les deux bases d'un coup.
3

Ce que dit l'inverse de la matrice des corrélations

Cinq variables sont toutes corrélées entre elles. Lesquelles sont liées directement ?

Les données (300 observations simulées) suivent un schéma caché : X₂ dépend de X₁, X₃ et X₅ dépendent de X₂, X₄ dépend de X₃. Les corrélations ordinaires sont partout non nulles, car les influences se propagent le long des chaînes. L'inverse R⁻¹ fait le tri :

Cliquez sur une paire de variables (un trait).
À gauche, les corrélations ordinaires ; à droite, les corrélations partielles lues sur R⁻¹. L'épaisseur est proportionnelle à la valeur absolue ; les traits sous 0,2 sont estompés. Le graphe de droite retrouve le schéma caché.
R R⁻¹ = I (Gauss-Jordan)
VIF : diagonale de R⁻¹ · par régressions
Paire choisie : corrélation, partielle par R⁻¹, partielle par les résidus
Liens retrouvés (|partielle| ≥ 0,2)
Contrôle indépendant. Pour vérifier une corrélation partielle, on régresse Xᵢ et Xⱼ sur les trois autres variables, et l'on corrèle les deux résidus. Le résultat coïncide avec la formule de R⁻¹ à 10⁻¹⁵ près. Cette lecture de R⁻¹ fonde les modèles graphiques gaussiens, utilisés en génomique pour reconstruire des réseaux de gènes.
4

La distance de Mahalanobis : l'inverse comme règle graduée

Un point peut être banal pour chaque variable prise seule et pourtant très atypique pour les deux ensemble. Comment le mesurer ?

La distance usuelle ignore la forme du nuage. Mahalanobis (1936) propose d²(x) = (x − m)ᵀ Σ⁻¹ (x − m), où Σ est la matrice de covariance. Par l'ACP, Σ⁻¹ = Σ (1/λₖ) uₖuₖᵀ, donc d² = Σ sₖ²/λₖ, où sₖ est la coordonnée du point sur l'axe k : chaque écart est mesuré en unités de l'écart type de son axe. Un pas dans la direction étroite du nuage coûte beaucoup plus cher qu'un pas dans la direction large.

Faites glisser le point orange.
200 observations (taille et poids fictifs, centrés-réduits). Les ellipses sont les lignes d = 1, 2, 3 ; les cercles pointillés, les distances euclidiennes 1, 2, 3. « Blanchir » applique Λ−1/2Uᵀ : le nuage devient rond, les ellipses deviennent des cercles.
Distance euclidienne au centre
Mahalanobis par Σ⁻¹ (Gauss-Jordan)
Mahalanobis par l'ACP : √(s₁²/λ₁ + s₂²/λ₂)
Proportion attendue de points plus éloignés (loi du χ² à 2 degrés : e−d²/2) · observée
Covariance du nuage blanchi
La petite direction commande. λ₂ est ici environ dix fois plus petit que λ₁ : un écart de 1 sur le second axe compte autant qu'un écart d'environ 3 sur le premier. C'est l'inverse qui donne ce poids aux petits axes. L'ACP habituelle les néglige, alors qu'ils sont le meilleur détecteur d'anomalies.
5

Signature : quand l'inverse n'existe pas, ou presque pas

Si une valeur propre λₖ est minuscule ou nulle, le terme 1/λₖ explose. Trois façons de s'en sortir, toutes lues dans la base de l'ACP.

La régression des moindres carrés demande (ZᵀZ)⁻¹. Quand les variables sont presque colinéaires, les coefficients deviennent énormes et instables. La régression ridge (Hoerl et Kennard, 1970) remplace (ZᵀZ)⁻¹ par (ZᵀZ + kI)⁻¹. Dans la base de l'ACP, cela revient à multiplier la contribution de l'axe j par le facteur λⱼ/(λⱼ + k) : les petits axes, les plus bruités, sont écrasés en premier.

Trajectoires des cinq coefficients quand k varie (échelle logarithmique), et vraies valeurs (tirets à gauche). À gauche, presque les moindres carrés ordinaires ; à droite, tout est écrasé vers 0.
Erreur de prévision sur 400 nouvelles observations (orange) et sur les 40 de l'apprentissage (bleu). Le minimum de l'erreur de test est atteint pour un k intermédiaire.
Valeurs propres de ZᵀZ/n · facteurs λ/(λ + k)
β par (ZᵀZ + kI)⁻¹Zᵀy · écart avec la formule de l'ACP
Erreur de test · meilleur k

Avec 6 observations et 10 variables, ZᵀZ (10 × 10) est de rang 6 au plus : elle n'a pas d'inverse, et le système Zβ = y a une infinité de solutions exactes. Le pseudo-inverse de Moore-Penrose choisit celle de plus petite norme : β⁺ = Zᵀ(ZZᵀ)⁻¹y. On n'inverse que la petite matrice 6 × 6, l'astuce de la transposée encore une fois. Ajouter à β⁺ un vecteur du noyau de Z ne change pas l'ajustement, mais allonge toujours β.

Les dix coefficients de β = β⁺ + t·w, où w est un vecteur unitaire du noyau (barres), et ceux de β⁺ (contours gris). L'ajustement reste parfait quel que soit t.
Gauss-Jordan sur ZᵀZ : plus petit pivot
‖Zβ − y‖ · ‖β‖ · ‖β⁺‖
Les quatre conditions de Penrose

Six notes du tableau des élèves ont disparu. Plutôt que de les remplacer par la moyenne de la matière, on exploite la structure du tableau. On remplit les trous par les moyennes, on fait l'ACP, on remplace les trous par la reconstruction sur deux axes, et l'on recommence jusqu'à stabilisation. C'est l'ACP itérative (algorithme de type EM), qui tire parti de ce que le tableau est presque de rang 2.

Le tableau : les cases effacées sont encadrées, et leur valeur estimée évolue à chaque itération (vraie note entre parenthèses).
Variation maximale des valeurs estimées d'une itération à l'autre (échelle logarithmique) : la méthode converge.
Itérations
Erreur moyenne : moyennes de matière · ACP itérative

Une brève histoire

1901Karl Pearson cherche les droites et plans les plus proches d'un nuage de points : l'idée de l'ACP.
1920E. H. Moore définit une inverse généralisée pour les matrices quelconques.
1933Harold Hotelling formalise l'analyse en composantes principales et lui donne son nom.
1936Prasanta Chandra Mahalanobis introduit sa distance pour comparer des populations.
1955Roger Penrose caractérise le pseudo-inverse par quatre équations.
1970Arthur Hoerl et Robert Kennard proposent la régression ridge.
1971K. Ruben Gabriel invente le biplot, qui superpose individus et variables.
1991Matthew Turk et Alex Pentland : les visages propres, par l'astuce de la petite matrice.

En résumé

La transposée

ZᵀZ et ZZᵀ ont les mêmes valeurs propres non nulles. On passe des individus aux variables par les formules de transition, et l'on diagonalise toujours la plus petite des deux matrices.

L'inverse

R⁻¹ = Σ (1/λₖ)uₖuₖᵀ. Sa diagonale donne les VIF, ses autres termes les corrélations partielles, et Σ⁻¹ définit la distance de Mahalanobis. Les petits axes y dominent.

Sans inverse

Ridge amortit les petits λ, le pseudo-inverse les ignore, l'ACP itérative ne garde que les grands. Dans les trois cas, la base de l'ACP dit exactement ce que l'on fait.

Pour aller plus loin

Version 1. La première version de cette page construit ZᵀZ/n case par case sur les notes de neuf élèves, compare avec ZZᵀ/n, inverse la matrice de passage et montre l'effet de la colinéarité sur une régression.

Lasso et réseaux parcimonieux. Le « lasso graphique » (Friedman, Hastie et Tibshirani, 2008) estime directement un R⁻¹ creux quand les variables sont plus nombreuses que les observations.

Liens. SVD (décomposition en valeurs singulières) des matrices rectangulaires, ACP (éboulis et cercle des corrélations), formes quadratiques, espaces euclidiens, statistique (variance et covariance).