• 15 heures
  • Difficile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 01/02/2019

Calculez les composantes principales de vos données

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

 

Analysez les composantes principales de vos données

Dans ce  chapitre, nous allons parler d'une méthode très utilisée pour réduire la dimension d'un jeu de données : l'analyse en composantes principales, ou ACP. On parle aussi souvent de PCA, de son nom anglais Principal Components Analysis.

Objectif : maximiser la variance

Le but d'une analyse en composantes principales est de trouver une nouvelle base orthonormée dans laquelle représenter nos données, telle que la variance des données selon ces nouveaux axes soit maximisée.

Variance des données
Variance des données

La variance des données selon l'axe orange est grande. Si on projette les points sur cet axe, ils auront tous des coordonnées différentes ; en utilisant cet axe comme unique dimension, on réduit la dimension de nos données (de 2 à 1) mais on continue à pouvoir distinguer les points les uns des autres.

Calculer les composantes principales

Supposons que nous ayons p variables : chaque observation est représentée par un vecteur dans $\(\mathbb{R}^p\)$ , et nous avons n observations rassemblées dans une matrice $\(X \in \mathbb{R}^{p \times n}\)$ .

Commençons par chercher une nouvelle direction, à savoir un vecteur $\(\bf{w_1} \in \mathbb{R}^p\)$ , de norme 1, tel que la variance de nos données projetées sur cette direction soit maximale. La projection des données X sur $\(\bf{w}\)$ est $\(\bf{z_1} = \bf{w_1}^\top X\)$ .

La variance de $\(\bf{w_1}^\top X\)$ est égale à $\(\mathbb{E}[(\bf{w_1}^\top X - \mathbb{E}[\bf{w_1}^\top X])^2]\)$, soit, comme $\(\mathbb{E}[X] = 0\)$ (les données sont centrées), $\(\bf{w_1}^\top \mathbb{E}[X X^\top] \bf{w_1}\)$.

Appelons $\(\Sigma\)$ la matrice de taille $\(p \times p\)$ égale à $\(X X^\top\)$. C'est la matrice de covariance des données et une estimation de $\(\mathbb{E}[X X^\top]\)$.

Nous cherchons donc $\(\bf{w_1}\)$ tel que

  • w1⊤Σw1 est maximale

  • ||w1||=1

$\(\Sigma\)$ est, par construction, une matrice symétrique définie positive. Elle est donc diagonalisable par un changement de base orthonormé : $\(\Sigma = Q^\top \Lambda Q\)$, où $\(\Lambda \in \mathbb{R}^{p \times p}\)$ est une matrice diagonale dont les valeurs diagonales sont les valeurs propres de $\(\Sigma\)$ , qui sont toutes positives.

Nous avons donc $\(\bf{w_1}^\top \Sigma \bf{w_1} = \bf{w_1}^\top Q^\top \Lambda Q \bf{w_1} = (Q \bf{w_1})^\top \Lambda (Q \bf{w_1})\)$

Posons $\(\bf{v} = Q \bf{w_1}\)$; nous cherchons à maximiser $\(\sum_{j=1}^p v_j^2 \lambda_j\)$. Comme $\(||\bf{w_1}||=1\)$ et que Q est orthonormée, $\(||\bf{v}||=1\)$ et donc  $\(\sum_{j=1}^p v_j^2=1\)$. La somme $\(\sum_{j=1}^p v_j^2 \lambda_j\)$ est donc maximisée pour un vecteur $\(\bf{v}\)$ qui a une seule entrée à 1 et les autres à 0, l'entrée à 1 étant pour la valeur maximale des $\(\lambda_j\)$, autrement dit la plus grande valeur propre de $\(\Sigma\)$.

Par conséquent, $\(\bf{w_1}\)$ est le vecteur propre correspondant à la plus grande valeur propre de $\(\Sigma\)$. C'est la première composante principale de X.

La deuxième composante principale de X doit vérifier les mêmes critères que $\(\bf{w_1}\)$ : être de norme 1 et maximiser $\(\bf{w_2}^\top \Sigma \bf{w_2}\)$,  mais lui est orthogonale. Il s'agit donc du vecteur propre de $\(\Sigma\)$ correspondant à sa deuxième plus grande valeur propre.

Et ainsi de suite pour les autres composantes principales.

Nous pouvons donc utiliser comme nouvelles dimensions la base formée par les vecteurs propres de la matrice de covariance des données.

Comment choisir le nombre de composantes principales ?

La méthode que nous venons de décrire nous permet de construire autant de composantes principales que $\(\Sigma\)$ a de vecteurs propres, soit autant que le nombre de descripteurs p de nos données. Nous n'avons pas encore réduit la dimension de nos données.

Pour ce faire, nous allons regarder la proportion de variance expliquée par chacune des composantes principales.

La variance totale du jeu de données est données par la somme des termes diagonaux de la matrice de covariance $\(\Sigma\)$ (autrement dit la somme des variances de toutes les variables), soit sa trace. Or $\(Tr(\Sigma) = \lambda_1 + \lambda_2 + \dots + \lambda_p\)$.

La variance totale est donnée par $\(\lambda_1 + \lambda_2 + \dots + \lambda_p\)$, et celle expliquée par les k premières composantes principales, par $ $\(\lambda_1 + \lambda_2 + \dots + \lambda_k\)$ $. La proportion de variance expliquée par les k premières composantes principales est donc $\(\frac{\lambda_1 + \lambda_2 + \dots + \lambda_k}{\lambda_1 + \lambda_2 + \dots + \lambda_p}\)$.

Nous pouvons maintenant regarder comment cette proportion évolue en fonction du nombre de composantes, et construire ce qu'on appelle en anglais un scree plot. Ce graphique présente la proportion de variance expliquée par la k-ième composante principale, ou par les k premières composantes principales, en fonction de k.

On peut l'utiliser pour choisir :

  • le nombre de composantes principales qui explique un pourcentage de la variance que l'on s'est initialement fixé (par exemple, 90%)

  • le nombre de composantes principales correspondant au « coude » du graphe, à partir duquel ajouter une nouvelle composante principale ne fait pas grande différence.

 

le pourcentage de variance expliqué par chacune des composantes principales. À partir de 6 composantes principales, ajouter une composante n'est pas très informatif.
le pourcentage de variance expliqué par chacune des composantes principales. À partir de 6 composantes principales, ajouter une composante n'est pas très informatif.
le pourcentage _cumulé_ de variance expliqué par chacune des composantes principales. Si on se fixe une proportion de variance expliquée de 95%, on peut se contenter de 9 composantes principales.
le pourcentage cumulé de variance expliqué par chacune des composantes principales. Si on se fixe une proportion de variance expliquée de 95%, on peut se contenter de 9 composantes principales.

Une autre possibilité consiste à utiliser seulement deux ou trois composantes pour visualiser les données.

Les deux premières composantes principales des génomes de 1387 Européens correspondent à... une carte de l'Europe
Les deux premières composantes principales des génomes de 1387 Européens correspondent à... une carte de l'Europe

Résumé

  • Les composantes principales forment une base orthonormée et sont construites pour que les données aient une variance maximale selon ces nouveaux axes.

  • Les composantes principales sont en fait les vecteurs propres de la matrice de covariance des données, classées par ordre décroissant de valeur propre correspondante.

  • Pour choisir le nombre de composantes à utiliser, on regarde la proportion de la variance totale expliquée par k composantes.

 

Exemple de certificat de réussite
Exemple de certificat de réussite