Théorème spectral et analyse en composantes principales

Cours 9 — Algèbre linéaire et analyse de données

Christophe Ambroise

L3 GBI — Université d’Évry

Matrices symétriques

Le cas favorable

\(S^{\intercal} = S\).

Les échecs du cours 8 — vecteurs propres en nombre insuffisant, racines complexes — n’y surviennent jamais.

Théorème spectral

Théorème Toute matrice symétrique réelle est diagonalisable dans une base orthonormée de vecteurs propres, et toutes ses valeurs propres sont réelles.

\[S = P D P^{\intercal}, \qquad P^{\intercal}P = I_n\]

Ce que change l’orthogonalité

\(P\) est orthogonale : \(P^{-1} = P^{\intercal}\).

\[S = PDP^{-1} = PDP^{\intercal}\]

Aucun inverse à calculer. Une rotation du repère, au sens du cours 6.

Orthogonalité des vecteurs propres

\(S\mathbf{v}_1 = \lambda_1 \mathbf{v}_1\),   \(S\mathbf{v}_2 = \lambda_2 \mathbf{v}_2\),   \(\lambda_1 \neq \lambda_2\).

\[\lambda_1 \langle \mathbf{v}_1, \mathbf{v}_2 \rangle = \langle S\mathbf{v}_1, \mathbf{v}_2 \rangle = \langle \mathbf{v}_1, S\mathbf{v}_2 \rangle = \lambda_2 \langle \mathbf{v}_1, \mathbf{v}_2 \rangle\]

\((\lambda_1 - \lambda_2)\langle \mathbf{v}_1, \mathbf{v}_2 \rangle = 0\), donc \(\mathbf{v}_1 \perp \mathbf{v}_2\).

La symétrie produit l’orthogonalité.

Un exemple

\[ S = \begin{pmatrix} 3 & 1 \\ 1 & 3 \end{pmatrix}, \qquad \lambda_1 = 4, \ \lambda_2 = 2 \]

Vecteurs propres \((1,1)\) et \((-1,1)\) : orthogonaux, comme annoncé.

\[P = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix}, \qquad P^{\intercal}P = I_2\]

Forme quadratique associée

\[q(\mathbf{u}) = \mathbf{u}^{\intercal} S \mathbf{u} = \sum_{i=1}^{n} \lambda_i \, \langle \mathbf{u}, \mathbf{v}_i \rangle^2\]

Dans la base propre, une simple somme pondérée de carrés.

Toute l’ACP repose sur cette écriture.

Encadrement

\(\|\mathbf{u}\| = 1\) : les \(\langle \mathbf{u}, \mathbf{v}_i \rangle^2\) somment à \(1\).

\[\lambda_{\min} \ \leqslant \ \mathbf{u}^{\intercal} S \mathbf{u} \ \leqslant \ \lambda_{\max}\]

Le maximum est atteint \(\mathbf{u} = \mathbf{v}_{\max}\) donne exactement \(\lambda_{\max}\).

Démonstration de l’encadrement

\(\mathbf{u} = \sum_i \alpha_i \mathbf{v}_i\) dans la base propre, avec \(\sum_i \alpha_i^2 = 1\).

\[\mathbf{u}^{\intercal} S \mathbf{u} = \sum_{i} \lambda_i\, \alpha_i^2\]

Des poids positifs, de somme \(1\) : une moyenne pondérée des valeurs propres.

L’argument Une moyenne ne sort jamais de l’intervalle de ses termes.

\(\mathbf{u} = \mathbf{v}_{\max}\) met tout le poids sur un seul terme :

\[\mathbf{v}_{\max}^{\intercal} S \mathbf{v}_{\max} = \lambda_{\max} \|\mathbf{v}_{\max}\|^2 = \lambda_{\max}\]

Matrice de covariance

Le tableau de données

\(X\) : \(n\) individus en lignes, \(p\) variables en colonnes.

Colonnes centrées — projetées sur l’orthogonal de \(\mathbf{1}\), au sens du cours 7.

Définition

\[S = \frac{1}{n} X^{\intercal} X \ \in \mathcal{M}_{p,p}(\mathbb{R})\]

\[S_{jk} = \frac{1}{n}\langle \mathbf{x}_j, \mathbf{x}_k \rangle = \operatorname{cov}(\mathbf{x}_j, \mathbf{x}_k)\]

Diagonale : les variances. Hors diagonale : les covariances.

Symétrique

\[S^{\intercal} = \left( \tfrac{1}{n} X^{\intercal}X \right)^{\intercal} = \tfrac{1}{n} X^{\intercal}X = S\]

Conséquence Le théorème spectral s’applique. Sans condition.

Valeurs propres positives

\[\mathbf{u}^{\intercal} S \mathbf{u} = \frac{1}{n}\mathbf{u}^{\intercal}X^{\intercal}X\mathbf{u} = \frac{1}{n}\|X\mathbf{u}\|^2 \geqslant 0\]

Appliqué à un vecteur propre : \(\lambda \|\mathbf{v}\|^2 \geqslant 0\).

\[\forall i, \quad \lambda_i \geqslant 0\]

Variables réduites

Variables d’unités différentes : centimètres, grammes, milliers.

Chaque colonne divisée par son écart-type :

\[S \ \longrightarrow \ R, \qquad R_{jk} = \operatorname{cor}(\mathbf{x}_j, \mathbf{x}_k), \qquad R_{jj} = 1\]

La matrice de corrélation. Ses coefficients sont les cosinus du cours 6.

Covariance ou corrélation ?

\(S\) — les variables gardent leurs unités. Celle de plus grande variance domine.

\(R\) — chaque variable pèse pareil.

Décision de méthode Unités hétérogènes : réduire. Le choix change les axes, donc les conclusions.

Inertie totale

\[I = \sum_{j=1}^{p} \operatorname{var}(\mathbf{x}_j) = \operatorname{tr}(S) = \sum_{i=1}^{p} \lambda_i\]

La dispersion totale du nuage, répartie sur les valeurs propres.

Sur données réduites : \(I = p\).

L’analyse en composantes principales

Le problème posé

Un axe, porté par \(\mathbf{u}\) unitaire.

Projeter les \(n\) individus dessus : les coordonnées forment \(X\mathbf{u}\).

\[\operatorname{var}(X\mathbf{u}) = \frac{1}{n}\|X\mathbf{u}\|^2 = \mathbf{u}^{\intercal} S \mathbf{u}\]

Le critère

Objectif Trouver la direction \(\mathbf{u}\) qui maximise la variance de la projection. \[\max_{\|\mathbf{u}\| = 1} \ \mathbf{u}^{\intercal} S \mathbf{u}\]

La question a déjà sa réponse.

La solution

Théorème Le maximum vaut \(\lambda_1\), la plus grande valeur propre de \(S\), et il est atteint pour \(\mathbf{u} = \mathbf{v}_1\), vecteur propre associé.

\[\mathbf{u}^{\intercal}S\mathbf{u} = \sum_i \lambda_i \alpha_i^2 \ \leqslant \ \lambda_1 \sum_i \alpha_i^2 = \lambda_1\]

L’encadrement de la section 1, appliqué à \(S\).

Axes principaux

\(\mathbf{v}_2\) : la meilleure direction orthogonale à \(\mathbf{v}_1\). Variance \(\lambda_2\).

Et ainsi de suite.

Résultat Les axes principaux sont les vecteurs propres de \(S\), ordonnés par valeurs propres décroissantes.

Composantes principales

\[\mathbf{c}_k = X\mathbf{v}_k, \qquad \operatorname{var}(\mathbf{c}_k) = \lambda_k\]

\(n\) nouvelles coordonnées par axe. Des combinaisons linéaires des variables initiales.

\[\operatorname{cov}(\mathbf{c}_k, \mathbf{c}_l) = 0 \quad (k \neq l)\]

Des variables décorrélées

Les composantes principales sont deux à deux orthogonales.

Ce qu’a fait l’ACP Remplacer \(p\) variables corrélées par \(p\) variables décorrélées, ordonnées par la variance qu’elles portent.

Un changement de base orthonormée. Rien de plus.

Le fil, refermé

Cours Étape
5 coordonnées d’un vecteur dans une base
6 matrice de passage, cas orthonormé
8 \(A = PDP^{-1}\), changement de base
9 l’ACP est le changement de base qui diagonalise \(S\)

Lire les résultats

Part d’inertie

\[\tau_k = \frac{\lambda_k}{\lambda_1 + \dots + \lambda_p} = \frac{\lambda_k}{I}\]

La fraction de la dispersion totale portée par l’axe \(k\).

Leur somme vaut \(1\).

Éboulis des valeurs propres

Figure 1

Quatre variables, mais deux axes suffisent.

Choisir le nombre d’axes

Le décrochement de l’éboulis.

Un seuil cumulé — \(80\,\%\), \(90\,\%\).

Aucune règle absolue Le choix est interprétatif. Les mathématiques fournissent les \(\lambda_k\), pas la décision.

Le plan principal

Figure 2

Quatre mesures florales, réduites à deux coordonnées.

Ce que montre le graphique

Aucune information d’espèce n’a servi au calcul.

Le même phénomène qu’au cours 1 Une structure biologique apparaît, sans avoir été fournie.

Cercle des corrélations

\[\operatorname{cor}(\mathbf{x}_j, \mathbf{c}_k) = \sqrt{\lambda_k}\; v_{jk}\]

Chaque variable devient un point du plan, dans le disque unité.

Sa distance au bord mesure sa qualité de représentation.

Le cercle d’iris

Figure 3

Trois variables presque confondues : très corrélées.

Lecture du cercle

Deux variables proches et près du bord : fortement corrélées.

Deux variables à angle droit : décorrélées.

Variables opposées : corrélation négative.

Toujours les cosinus du cours 6.

Une mise en garde

Une variable proche du centre est mal représentée.

Piège classique Un angle droit près du centre ne signifie rien. L’interprétation exige d’abord une bonne représentation.

Reconstruction approchée

Garder \(q\) axes revient à projeter le nuage sur un sous-espace de dimension \(q\).

\[X \ \approx \ \sum_{k=1}^{q} \mathbf{c}_k \mathbf{v}_k^{\intercal}\]

La formule de projection du cours 7, tronquée.

Ce qui est perdu

\[\underbrace{\sum_{k=1}^{p} \lambda_k}_{\text{inertie totale}} = \underbrace{\sum_{k=1}^{q} \lambda_k}_{\text{retenue}} + \underbrace{\sum_{k=q+1}^{p} \lambda_k}_{\text{perdue}}\]

Pythagore, une dernière fois La décomposition du cours 7 : part gardée, part perdue. Les valeurs propres en donnent le décompte exact.

Ce que l’ACP ne fait pas

Elle ne détecte que des liaisons linéaires.

Elle dépend du choix de centrer et réduire.

Elle n’établit aucune causalité.

Un outil descriptif L’ACP résume. Elle ne teste rien, ne prouve rien.

Le semestre, en une page

Retour à Novembre 2008

\(3\,000\) individus, \(500\,000\) SNP.

Matrice de covariance, théorème spectral, deux premiers axes.

La carte de l’Europe Le calcul du cours 1 est celui que vous venez de faire.

Récapitulatif

Étape Objet Cours
Centrer, réduire \(X\) 6, 7
Covariance \(S = \frac{1}{n}X^{\intercal}X\), symétrique 3, 9
Diagonaliser \(S = PDP^{\intercal}\) 8, 9
Axes principaux vecteurs propres \(\mathbf{v}_k\) 9
Composantes \(\mathbf{c}_k = X\mathbf{v}_k\), variance \(\lambda_k\) 9
Inertie \(\tau_k = \lambda_k / \operatorname{tr}(S)\) 9

Les trois problématiques

Résoudre — le pivot de Gauss, du système à la base.

Mesurer — le produit scalaire, la corrélation comme cosinus.

Synthétiser — le théorème spectral, l’ACP.

Une seule opération Les trois se ramènent à des combinaisons linéaires.