Aller au contenu

11 · Vecteurs gaussiens

Intuition

C'est le chapitre où l'algèbre et les probabilités se rejoignent.

Un vecteur aléatoire rassemble plusieurs variables. Sa dispersion n'est plus un nombre mais une matrice — la matrice de covariance, qui contient les variances sur sa diagonale et les covariances ailleurs.

Cette matrice est symétrique réelle. Elle est donc diagonalisable en base orthonormée, par le théorème spectral du chapitre Algèbre 10. Et cette diagonalisation est exactement l'analyse en composantes principales — la méthode centrale de la science des données.

Le programme du S1 s'arrête au bord de cette porte. Ce chapitre l'ouvre.

1. Vecteur aléatoire

Définitions

Un vecteur aléatoire est \(\mathbf{X} = (X_1,\dots,X_n)^\top\), chaque \(X_i\) étant une variable aléatoire réelle.

Son vecteur espérance est

\[ \mathbb{E}[\mathbf{X}] = \big(\mathbb{E}[X_1],\dots,\mathbb{E}[X_n]\big)^\top \]

Sa matrice de covariance est la matrice \(n\times n\)

\[ \mathbf{\Sigma} = \big(\operatorname{Cov}(X_i,X_j)\big)_{1\leqslant i,j\leqslant n} \]

Structure de \(\mathbf{\Sigma}\) :

  • sur la diagonale : \(\Sigma_{ii} = \operatorname{Cov}(X_i,X_i) = \operatorname{V}(X_i)\) ;
  • hors diagonale : les covariances.

Deux propriétés fondamentales

1. \(\mathbf{\Sigma}\) est symétrique, car \(\operatorname{Cov}(X_i,X_j)=\operatorname{Cov}(X_j,X_i)\).

2. \(\mathbf{\Sigma}\) est semi-définie positive : pour tout vecteur \(\mathbf{u}\),

\[ \mathbf{u}^\top\mathbf{\Sigma}\mathbf{u} \geqslant 0 \]
Démonstration de la positivité

Posons \(Y = \mathbf{u}^\top\mathbf{X} = \sum_i u_iX_i\), une variable aléatoire réelle. Par bilinéarité de la covariance :

\[ \operatorname{V}(Y) = \sum_{i,j}u_iu_j\operatorname{Cov}(X_i,X_j) = \mathbf{u}^\top\mathbf{\Sigma}\mathbf{u} \]

Or une variance est toujours positive. \(\blacksquare\)

Interprétation : \(\mathbf{u}^\top\mathbf{\Sigma}\mathbf{u}\) est la variance de la projection du nuage dans la direction \(\mathbf{u}\).

Conséquence spectrale

\(\mathbf{\Sigma}\) étant symétrique réelle, le théorème spectral s'applique : elle est diagonalisable en base orthonormée, et ses valeurs propres sont réelles et positives ou nulles.

\[ \mathbf{\Sigma} = \mathbf{P}\mathbf{D}\mathbf{P}^\top, \qquad \mathbf{P}^{-1}=\mathbf{P}^\top \]

2. Transformation affine

Théorème

Si \(\mathbf{Y} = \mathbf{A}\mathbf{X}+\mathbf{b}\) avec \(\mathbf{A}\) matrice \(m\times n\) et \(\mathbf{b}\) vecteur de \(\mathbb{R}^m\), alors

\[ \mathbb{E}[\mathbf{Y}] = \mathbf{A}\,\mathbb{E}[\mathbf{X}]+\mathbf{b} \]
\[ \boxed{\mathbf{\Sigma}_{\mathbf{Y}} = \mathbf{A}\,\mathbf{\Sigma}_{\mathbf{X}}\,\mathbf{A}^\top} \]

Le \(\mathbf{A}^\top\) n'est pas optionnel

C'est la généralisation matricielle de \(\operatorname{V}(aX) = a^2\operatorname{V}(X)\) : le « carré » du scalaire devient \(\mathbf{A}\cdots\mathbf{A}^\top\).

Le vecteur \(\mathbf{b}\) disparaît, comme la constante additive dans le cas scalaire.

Cas particulier utile : pour \(\mathbf{u}\) vecteur, \(Y=\mathbf{u}^\top\mathbf{X}\) est réelle et

\[ \operatorname{V}(Y) = \mathbf{u}^\top\mathbf{\Sigma}\mathbf{u} \]

3. Vecteur gaussien

Définition

\(\mathbf{X}\) est un vecteur gaussien si toute combinaison linéaire \(\mathbf{u}^\top\mathbf{X}\) suit une loi normale réelle.

On note \(\mathbf{X}\sim\mathcal{N}(\mathbf{m},\mathbf{\Sigma})\).

Marginales gaussiennes ≠ vecteur gaussien

Il ne suffit pas que chaque \(X_i\) soit normale. Contre-exemple : soit \(X\sim\mathcal{N}(0,1)\) et \(\varepsilon\) valant \(\pm1\) avec probabilité \(\frac12\), indépendant. Alors \(Y=\varepsilon X\) est aussi \(\mathcal{N}(0,1)\) — mais \(X+Y\) vaut \(2X\) ou \(0\) avec probabilité \(\frac12\) chacun, ce qui n'est pas une loi normale.

Le couple \((X,Y)\) a donc deux marginales gaussiennes sans être un vecteur gaussien.

Densité (quand \(\mathbf{\Sigma}\) est inversible) :

\[ f(\mathbf{x}) = \frac{1}{(2\pi)^{n/2}\sqrt{\det\mathbf{\Sigma}}} \exp\left(-\frac12(\mathbf{x}-\mathbf{m})^\top\mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{m})\right) \]

C'est la généralisation directe du cas \(n=1\), où \(\mathbf{\Sigma}^{-1}\) remplace \(\frac{1}{\sigma^2}\) et \(\det\mathbf{\Sigma}\) remplace \(\sigma^2\).

3.1 Le théorème du chapitre

Dans le cas gaussien, non corrélées ⟺ indépendantes

Soit \(\mathbf{X}\) un vecteur gaussien. Alors

\[ X_i \text{ et } X_j \text{ indépendantes} \iff \operatorname{Cov}(X_i,X_j) = 0 \]

Plus fort : les composantes sont mutuellement indépendantes si et seulement si \(\mathbf{\Sigma}\) est diagonale.

L'hypothèse « vecteur gaussien » est indispensable

Le contre-exemple du chapitre 10 — \(X\) uniforme sur \(\{-1,0,1\}\) et \(Y=X^2\) — reste valable : covariance nulle, dépendance totale.

Et même avec des marginales gaussiennes, le contre-exemple ci-dessus (\(Y=\varepsilon X\)) donne \(\operatorname{Cov}(X,Y)=\mathbb{E}[\varepsilon] \mathbb{E}[X^2]=0\) alors que \(|Y|=|X|\).

C'est la structure gaussienne du vecteur qui fait le théorème, pas celle des marginales.

Pourquoi c'est si commode

Dans le monde gaussien, il suffit d'annuler des covariances — un calcul linéaire — pour obtenir l'indépendance, une propriété a priori beaucoup plus forte.

C'est ce qui rend les modèles gaussiens omniprésents : filtre de Kalman, régression linéaire, processus gaussiens, bruit blanc.

4. Réduction à des composantes indépendantes

Le résultat central

Soit \(\mathbf{X}\sim\mathcal{N}(\mathbf{m},\mathbf{\Sigma})\). Diagonalisons \(\mathbf{\Sigma} = \mathbf{P}\mathbf{D}\mathbf{P}^\top\) avec \(\mathbf{P}\) orthogonale.

Posons \(\mathbf{Y} = \mathbf{P}^\top(\mathbf{X}-\mathbf{m})\). Alors

\[ \mathbf{\Sigma}_{\mathbf{Y}} = \mathbf{P}^\top\mathbf{\Sigma}\mathbf{P} = \mathbf{D} \]

\(\mathbf{Y}\) est un vecteur gaussien centré à matrice de covariance diagonale : ses composantes sont indépendantes, de variances \(\lambda_1,\dots,\lambda_n\) (les valeurs propres).

C'est l'analyse en composantes principales

Objet probabiliste Objet ACP
Vecteurs propres de \(\mathbf{\Sigma}\) Composantes principales
Valeurs propres \(\lambda_i\) Variance portée par chaque composante
\(\sum\lambda_i = \operatorname{tr}\mathbf{\Sigma}\) Variance totale du nuage
\(\frac{\lambda_k}{\sum\lambda_i}\) Part de variance expliquée
Garder les \(k\) plus grandes Réduction de dimension

L'ACP, enseignée en deuxième année dans le module ANDO23, est ce calcul. Elle consiste à trouver le repère dans lequel les données sont décorrélées, puis à jeter les directions de faible variance.

Interprétation géométrique : les lignes de niveau de la densité gaussienne sont des ellipsoïdes. Les vecteurs propres en donnent les axes, et les \(\sqrt{\lambda_i}\) les demi-longueurs.

Exemples traités

Exemple 1 — Matrice de covariance

Soit \(X\) et \(Y\) avec \(\operatorname{V}(X)=4\), \(\operatorname{V}(Y)=9\), \(\operatorname{Cov}(X,Y)=-3\).

\[ \mathbf{\Sigma} = \begin{pmatrix}4&-3\\-3&9\end{pmatrix} \]

Vérifications. Symétrique ✓ Déterminant \(= 36-9 = 27 > 0\) et trace \(=13>0\) : les deux valeurs propres sont positives ✓

Variance de \(S=X+Y\). Avec \(\mathbf{u}=(1,1)^\top\) :

\[ \operatorname{V}(S) = \mathbf{u}^\top\mathbf{\Sigma}\mathbf{u} = \begin{pmatrix}1&1\end{pmatrix}\begin{pmatrix}4&-3\\-3&9\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix} = \begin{pmatrix}1&1\end{pmatrix}\begin{pmatrix}1\\6\end{pmatrix} = 7 \]

✓ cohérent avec \(4+9+2(-3)=7\) du chapitre précédent.

Exemple 2 — Diagonalisation, ou ACP à la main

Diagonaliser la matrice de covariance

\[ \mathbf{\Sigma} = \begin{pmatrix}5&3\\3&5\end{pmatrix} \]

Valeurs propres. \(\operatorname{tr}=10\), \(\det = 25-9=16\).

\[ \chi(\lambda) = \lambda^2-10\lambda+16 = (\lambda-2)(\lambda-8) \]

\(\lambda_1 = 8\), \(\lambda_2 = 2\).

Vecteurs propres. \(\lambda=8\) : \(\begin{pmatrix}-3&3\\3&-3\end{pmatrix}\) donne \(y=x\), vecteur normalisé \(\frac{1}{\sqrt2}(1,1)^\top\). \(\lambda=2\) : \(y=-x\), vecteur \(\frac{1}{\sqrt2}(1,-1)^\top\).

Ils sont orthogonaux ✓ (théorème spectral).

Lecture ACP.

  • Première composante principale : direction \((1,1)\) — la « somme » des deux variables. Elle porte une variance de 8.
  • Seconde : direction \((1,-1)\) — la « différence ». Variance 2.
  • Variance totale : \(8+2 = 10 = \operatorname{tr}\mathbf{\Sigma}\) ✓
  • Part expliquée par la première : \(\frac{8}{10} = \textbf{80 \%}\).

Conclusion pratique : on peut remplacer les deux variables par leur somme seule, en ne perdant que 20 % de l'information. C'est exactement ce que fait une ACP.

Exemple 3 — Décorrélation explicite

Avec la \(\mathbf{\Sigma}\) précédente et \(\mathbf{X}\) gaussien centré, posons

\[ U = \frac{X_1+X_2}{\sqrt2}, \qquad V = \frac{X_1-X_2}{\sqrt2} \]

Alors \(\operatorname{V}(U) = 8\), \(\operatorname{V}(V)=2\), et

\[ \operatorname{Cov}(U,V) = \frac12\big(\operatorname{V}(X_1)-\operatorname{V}(X_2)\big) = 0 \]

Comme \((U,V)\) est un vecteur gaussien (combinaisons linéaires d'un vecteur gaussien), la covariance nulle entraîne l'indépendance.

On a transformé deux variables corrélées en deux variables indépendantes, par une simple rotation de 45°.

Exemple 4 — Simuler un vecteur gaussien corrélé

On veut simuler \((X,Y)\) gaussien centré avec \(\mathbf{\Sigma}=\begin{pmatrix}1&\rho\\\rho&1\end{pmatrix}\).

Méthode. Partir de \(Z_1, Z_2\) indépendantes \(\mathcal{N}(0,1)\) (Box-Muller, chapitre 09), et poser

\[ X = Z_1 \qquad Y = \rho Z_1 + \sqrt{1-\rho^2}\,Z_2 \]

Vérification. \(\operatorname{V}(Y) = \rho^2+(1-\rho^2) = 1\) ✓

\[ \operatorname{Cov}(X,Y) = \operatorname{Cov}(Z_1,\rho Z_1) = \rho \quad\checkmark \]

C'est la décomposition de Cholesky de \(\mathbf{\Sigma}\) : \(\mathbf{\Sigma} = \mathbf{L}\mathbf{L}^\top\) avec

\[ \mathbf{L} = \begin{pmatrix}1&0\\\rho&\sqrt{1-\rho^2}\end{pmatrix} \]

et \(\mathbf{X} = \mathbf{L}\mathbf{Z}\) donne bien \(\mathbf{\Sigma}_{\mathbf X} = \mathbf{L}\mathbf{I}\mathbf{L}^\top = \mathbf{\Sigma}\) ✓

Erreurs fréquentes

Erreur Correction
\(\mathbf{\Sigma}_{\mathbf Y} = \mathbf{A}^2\mathbf{\Sigma}\) C'est \(\mathbf{A}\mathbf{\Sigma}\mathbf{A}^\top\)
Marginales gaussiennes \(\implies\) vecteur gaussien Faux
Non corrélées \(\implies\) indépendantes hors du cas gaussien Faux
Valeur propre négative pour \(\mathbf{\Sigma}\) Impossible — erreur de calcul
Oublier de normaliser les vecteurs propres \(\mathbf{P}\) doit être orthogonale
Confondre \(\mathbf{\Sigma}\) et la matrice de corrélation La seconde a des 1 en diagonale

Exercices

★ Exercice 1. Écrire la matrice de covariance de \((X,Y)\) avec \(\sigma_X=3\), \(\sigma_Y=2\), \(\rho=0{,}5\).

★★ Exercice 2. \(\mathbf{\Sigma}=\begin{pmatrix}2&1\\1&2\end{pmatrix}\).

a) Vérifier qu'elle est semi-définie positive. b) Calculer \(\operatorname{V}(X+Y)\) et \(\operatorname{V}(X-Y)\) par le calcul matriciel. c) Diagonaliser \(\mathbf{\Sigma}\).

★★ Exercice 3. Soit \(\mathbf{X}\) de matrice de covariance \(\mathbf{\Sigma} = \begin{pmatrix}4&0\\0&1\end{pmatrix}\) et \(\mathbf{A} = \begin{pmatrix}1&1\\1&-1\end{pmatrix}\).

Calculer \(\mathbf{\Sigma}_{\mathbf{AX}}\).

★★★ Exercice 4. Soit \(\mathbf{\Sigma}=\begin{pmatrix}3&1&0\\1&3&0\\0&0&2\end{pmatrix}\).

a) Justifier qu'elle est diagonalisable en base orthonormée. b) Déterminer ses valeurs propres et vecteurs propres. c) Donner la part de variance expliquée par chaque composante principale.

★★★ Exercice 5. Soient \(X,Y\) gaussiennes centrées réduites indépendantes. On pose \(U=X+Y\), \(V=X-Y\).

a) Montrer que \((U,V)\) est un vecteur gaussien. b) Calculer \(\mathbf{\Sigma}_{(U,V)}\). c) \(U\) et \(V\) sont-elles indépendantes ? Comparer avec l'exercice 5 du chapitre 10.

★★★ Exercice 6. Montrer qu'une matrice de covariance \(\mathbf{\Sigma}\) d'ordre 2 vérifie nécessairement \(\det\mathbf{\Sigma}\geqslant0\), et interpréter le cas \(\det=0\).

★★★★ Exercice 7. On dispose de \(n\) mesures \(X_1,\dots,X_n\) indépendantes de même loi, d'espérance \(\mu\) et de variance \(\sigma^2\). On pose \(\overline X = \frac1n\sum X_i\).

a) Calculer \(\operatorname{Cov}(X_i, \overline X)\). b) En déduire \(\operatorname{Cov}(X_i-\overline X,\ \overline X)\). c) Que signifie ce résultat pour les résidus d'une régression ?

★★★★ Exercice 8 — lien informatique. On dispose d'un nuage de \(N\) points en dimension \(p\), stocké dans une matrice \(\mathbf{X}\) de taille \(N\times p\) (données centrées).

a) Exprimer la matrice de covariance empirique en fonction de \(\mathbf{X}\). b) Écrire l'algorithme d'ACP complet, étape par étape. c) Quel est le coût de la diagonalisation en fonction de \(p\) ? d) Pour \(p=10^4\) et \(N=100\), ce coût est-il acceptable ? Quelle astuce utilise- t-on ? e) Implémenter une ACP en Python pur sur un jeu de données \(2\times\) synthétique et vérifier que la première composante capte bien la direction principale.


Corrigés

Corrigé — Exercice 1

\(\operatorname{Cov}(X,Y) = \rho\sigma_X\sigma_Y = 0{,}5\times3\times2 = 3\).

\[ \mathbf{\Sigma} = \begin{pmatrix}9&3\\3&4\end{pmatrix} \]

Contrôle : \(\det = 36-9 = 27>0\) ✓ (nécessaire, voir exercice 6).

Corrigé — Exercice 2

a) Symétrique ✓. Valeurs propres : \(\operatorname{tr}=4\), \(\det=3\), donc \(\lambda^2-4\lambda+3 = 0\), racines 1 et 3, toutes deux positives ✓

b) Avec \(\mathbf{u}=(1,1)^\top\) :

\[ \operatorname{V}(X+Y) = \mathbf{u}^\top\mathbf{\Sigma}\mathbf{u} = \begin{pmatrix}1&1\end{pmatrix}\begin{pmatrix}3\\3\end{pmatrix} = 6 \]

Avec \(\mathbf{v}=(1,-1)^\top\) :

\[ \operatorname{V}(X-Y) = \begin{pmatrix}1&-1\end{pmatrix}\begin{pmatrix}1\\-1\end{pmatrix} = 2 \]

(Contrôle direct : \(2+2\pm2(1)\) donne 6 et 2 ✓)

c) \(\lambda=3\) : vecteur \((1,1)\) normalisé \(\frac{1}{\sqrt2}(1,1)^\top\). \(\lambda=1\) : vecteur \(\frac{1}{\sqrt2}(1,-1)^\top\).

\[ \mathbf{P} = \frac{1}{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix}, \qquad \mathbf{D} = \begin{pmatrix}3&0\\0&1\end{pmatrix} \]

\(\mathbf{P}\) est bien orthogonale : \(\mathbf{P}^\top\mathbf{P}=\mathbf{I}\) ✓

Corrigé — Exercice 3
\[ \mathbf{A}\mathbf{\Sigma} = \begin{pmatrix}1&1\\1&-1\end{pmatrix}\begin{pmatrix}4&0\\0&1\end{pmatrix} = \begin{pmatrix}4&1\\4&-1\end{pmatrix} \]
\[ \mathbf{A}\mathbf{\Sigma}\mathbf{A}^\top = \begin{pmatrix}4&1\\4&-1\end{pmatrix}\begin{pmatrix}1&1\\1&-1\end{pmatrix} = \begin{pmatrix}5&3\\3&5\end{pmatrix} \]

Lecture : \(X_1+X_2\) et \(X_1-X_2\) ont chacune une variance de 5, et une covariance de 3 — elles sont corrélées, alors que \(X_1\) et \(X_2\) ne l'étaient pas.

C'est cohérent avec \(\operatorname{Cov}(X_1+X_2,X_1-X_2) = \operatorname{V}(X_1)-\operatorname{V}(X_2) = 4-1 = 3\) ✓

(On retrouve la matrice de l'exemple 2 — les deux exercices sont réciproques l'un de l'autre.)

Corrigé — Exercice 4

a) \(\mathbf{\Sigma}\) est symétrique réelle : le théorème spectral s'applique.

b) La matrice est diagonale par blocs. Le bloc \(2\times2\) \(\begin{pmatrix}3&1\\1&3\end{pmatrix}\) a pour valeurs propres 4 et 2 (trace 6, déterminant 8), de vecteurs propres \((1,1,0)\) et \((1,-1,0)\).

Le bloc \(1\times1\) donne \(\lambda=2\), de vecteur propre \((0,0,1)\).

Spectre : \(\lambda_1 = 4\) (mult. 1), \(\lambda_2 = 2\) (mult. 2).

Contrôle : \(4+2+2 = 8 = \operatorname{tr}\mathbf{\Sigma}\) ✓

Base orthonormée :

\[ \frac{1}{\sqrt2}(1,1,0)^\top,\quad \frac{1}{\sqrt2}(1,-1,0)^\top,\quad (0,0,1)^\top \]

c) Variance totale \(= 8\).

Composante \(\lambda\) Part
1 4 50 %
2 2 25 %
3 2 25 %

Les deux dernières sont à égalité : le sous-espace propre est de dimension 2, et n'importe quelle base orthonormée de ce plan convient. Les composantes principales ne sont pas uniques dès qu'une valeur propre est multiple.

Corrigé — Exercice 5

a) Toute combinaison linéaire \(aU+bV = (a+b)X+(a-b)Y\) est une combinaison linéaire de \(X\) et \(Y\).

Or \((X,Y)\) est un vecteur gaussien (composantes gaussiennes indépendantes : leur densité conjointe est le produit, ce qui suffit), donc toute combinaison linéaire de \(X,Y\) est normale.

Donc \((U,V)\) est un vecteur gaussien ✓

b) \(\operatorname{V}(U)=\operatorname{V}(V) = 1+1 = 2\), et

\[ \operatorname{Cov}(U,V) = \operatorname{V}(X)-\operatorname{V}(Y) = 0 \]
\[ \mathbf{\Sigma}_{(U,V)} = \begin{pmatrix}2&0\\0&2\end{pmatrix} \]

c) Oui, \(U\) et \(V\) sont indépendantes — car \((U,V)\) est un vecteur gaussien de covariance nulle.

Comparaison. À l'exercice 5 du chapitre 10, avec \(X,Y\) uniformes sur \(\{0,1\}\), on avait la même covariance nulle mais pas l'indépendance.

C'est exactement l'apport du cadre gaussien : ce qui était insuffisant en général devient suffisant ici.

Corrigé — Exercice 6

Écrivons \(\mathbf{\Sigma} = \begin{pmatrix}\sigma_X^2&c\\c&\sigma_Y^2\end{pmatrix}\) avec \(c = \operatorname{Cov}(X,Y)\).

\[ \det\mathbf{\Sigma} = \sigma_X^2\sigma_Y^2 - c^2 \]

Par l'inégalité de Cauchy-Schwarz (exercice 6 du chapitre 10) :

\[ c^2 \leqslant \sigma_X^2\sigma_Y^2 \implies \det\mathbf{\Sigma}\geqslant0 \quad\blacksquare \]

Cas \(\det = 0\). C'est le cas d'égalité de Cauchy-Schwarz, donc \(|\rho|=1\) : \(X\) et \(Y\) sont liées par une relation affine \(Y = aX+b\) presque sûrement.

Géométriquement, le nuage de points est aplati sur une droite : il vit en dimension 1 et non 2. La matrice \(\mathbf{\Sigma}\) est alors singulière, la densité gaussienne n'existe pas (on ne peut pas inverser \(\mathbf{\Sigma}\)), et l'on parle de loi gaussienne dégénérée.

Diagnostic pratique

Une matrice de covariance empirique singulière signale une redondance exacte entre variables — souvent une variable calculée à partir des autres, ou plus de variables que d'observations. C'est le cas rencontré à l'exercice 10 du chapitre Algèbre 10.

Corrigé — Exercice 7

a) Par bilinéarité :

\[ \operatorname{Cov}(X_i, \overline X) = \operatorname{Cov}\!\left(X_i,\ \frac1n\sum_{j=1}^{n}X_j\right) = \frac1n\sum_{j=1}^{n}\operatorname{Cov}(X_i,X_j) \]

Par indépendance, seul le terme \(j=i\) survit :

\[ \operatorname{Cov}(X_i,\overline X) = \frac{\sigma^2}{n} \]

b)

\[ \operatorname{Cov}(X_i-\overline X,\ \overline X) = \operatorname{Cov}(X_i,\overline X)-\operatorname{V}(\overline X) = \frac{\sigma^2}{n}-\frac{\sigma^2}{n} = 0 \]

Les résidus \(X_i-\overline X\) sont non corrélés avec la moyenne.

c) Interprétation. En régression, \(\overline X\) joue le rôle de la valeur ajustée et \(X_i-\overline X\) celui du résidu. Le résultat dit que les résidus ne contiennent plus d'information linéaire sur la prédiction : toute la structure linéaire a été absorbée par le modèle.

C'est la propriété d'orthogonalité de la projection des moindres carrés, et c'est ce qui permet la décomposition de la variance

\[ \operatorname{V}(\text{total}) = \operatorname{V}(\text{expliquée}) + \operatorname{V}(\text{résiduelle}) \]

— le fondement du coefficient \(R^2\) et de l'analyse de la variance.

Dans le cas gaussien, « non corrélés » devient « indépendants » : les résidus sont indépendants de \(\overline X\), ce qui justifie les tests de Student et de Fisher enseignés en statistique inférentielle au deuxième semestre.

Corrigé — Exercice 8

a) Pour des données centrées (chaque colonne de moyenne nulle) :

\[ \mathbf{\Sigma} = \frac{1}{N-1}\mathbf{X}^\top\mathbf{X} \]

(le \(N-1\) donne l'estimateur sans biais ; \(N\) donne la version « population ».)

C'est bien une matrice \(p\times p\), symétrique et semi-définie positive — conformément à l'exercice 10 du chapitre Algèbre 10.

b) Algorithme d'ACP.

1. Centrer  : soustraire la moyenne de chaque colonne
2. (option) Reduire : diviser par l'ecart-type de chaque colonne
3. Calculer Sigma = X^T X / (N-1)
4. Diagonaliser Sigma = P D P^T   (P orthogonale)
5. Trier les valeurs propres par ordre decroissant
6. Choisir k tel que (lambda_1+...+lambda_k)/trace >= seuil (ex. 90 %)
7. Projeter : Y = X P_k   (P_k = k premieres colonnes de P)

L'étape 2 est cruciale quand les variables ont des unités différentes : sans réduction, la variable exprimée en millimètres écraserait celle exprimée en mètres.

c) Coût. La diagonalisation d'une matrice symétrique \(p\times p\) coûte \(O(p^3)\) opérations, et le calcul de \(\mathbf{\Sigma}\) coûte \(O(Np^2)\).

d) Pour \(p=10^4\), \(N=100\).

  • \(\mathbf{\Sigma}\) occupe \(8\times(10^4)^2 = 800\) Mo ;
  • sa diagonalisation coûte \((10^4)^3 = 10^{12}\) opérations, soit environ 2 minutes à \(10^{10}\) op/s — mais surtout, elle est inutile : le rang de \(\mathbf{\Sigma}\) est au plus \(N-1 = 99\), donc au moins 9901 valeurs propres sont nulles.

L'astuce : diagonaliser la matrice duale \(\mathbf{X}\mathbf{X}^\top\), de taille \(N\times N = 100\times100\). Elle a les mêmes valeurs propres non nulles que \(\mathbf{X}^\top\mathbf{X}\), et si \(\mathbf{v}\) en est un vecteur propre, alors \(\mathbf{X}^\top\mathbf{v}\) est vecteur propre de \(\mathbf{\Sigma}\).

Coût : \(O(N^3) = 10^6\) opérations au lieu de \(10^{12}\) — un million de fois moins.

C'est exactement ce que fait la décomposition en valeurs singulières (SVD), qui est l'implémentation standard de l'ACP dans toutes les bibliothèques.

e) Implémentation en Python pur.

import math
import random

def acp_2d(points):
    """ACP d'un nuage 2D. Renvoie (valeurs propres, vecteurs propres)."""
    n = len(points)
    mx = sum(p[0] for p in points) / n
    my = sum(p[1] for p in points) / n
    c = [(p[0] - mx, p[1] - my) for p in points]

    sxx = sum(x * x for x, _ in c) / (n - 1)
    syy = sum(y * y for _, y in c) / (n - 1)
    sxy = sum(x * y for x, y in c) / (n - 1)

    # valeurs propres d'une matrice 2x2 symetrique
    tr, det = sxx + syy, sxx * syy - sxy * sxy
    disc = math.sqrt(tr * tr - 4 * det)
    l1, l2 = (tr + disc) / 2, (tr - disc) / 2

    # vecteur propre dominant
    if abs(sxy) > 1e-12:
        vx, vy = l1 - syy, sxy
    else:
        vx, vy = (1.0, 0.0) if sxx >= syy else (0.0, 1.0)
    norme = math.hypot(vx, vy)
    return (l1, l2), (vx / norme, vy / norme)


# nuage etire le long de la direction (1, 2), plus du bruit
rng = random.Random(1)
pts = []
for _ in range(5000):
    t = rng.gauss(0, 3)               # coordonnee le long de (1,2)
    b = rng.gauss(0, 0.4)             # bruit orthogonal
    pts.append((t / math.sqrt(5) - 2 * b / math.sqrt(5),
                2 * t / math.sqrt(5) + b / math.sqrt(5)))

(l1, l2), (vx, vy) = acp_2d(pts)
print(f"valeurs propres : {l1:.3f}  {l2:.3f}")
print(f"part expliquee  : {100*l1/(l1+l2):.1f} %")
print(f"direction       : ({vx:.3f}, {vy:.3f})")
print(f"attendu         : ({1/math.sqrt(5):.3f}, {2/math.sqrt(5):.3f})")

Sortie :

valeurs propres : 8.828  0.158
part expliquee  : 98.2 %
direction       : (0.447, 0.894)
attendu         : (0.447, 0.894)

L'ACP retrouve exactement la direction \((1,2)\) normalisée, avec une variance de 8,83 (attendu \(3^2 = 9\) ✓) contre 0,158 (attendu \(0{,}4^2 = 0{,}16\) ✓), et 98,2 % de variance expliquée par la première composante.

Ce que ce chapitre a réuni

Un objet probabiliste — la matrice de covariance — est traité par un outil algébrique — la diagonalisation — pour produire une méthode de science des données — l'ACP.

C'est le point de convergence annoncé en tête de ce cours : le chapitre Algèbre 10 et celui-ci sont les deux moitiés d'un même objet, et le module ANDO23 de deuxième année les recolle.


Chapitre suivant : Théorèmes limites.