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.
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 Rp , et nous avons n observations rassemblées dans une matrice X∈Rp×n .
Commençons par chercher une nouvelle direction, à savoir un vecteur w1∈Rp , 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 w est z1=w1⊤X .
La variance de w1⊤X est égale à E[(w1⊤X−E[w1⊤X])2] , soit, comme E[X]=0 (les données sont centrées), w1⊤E[XX⊤]w1 .
Appelons Σ la matrice de taille p×p égale à XX⊤ . C'est la matrice de covariance des données, et une estimation de E[XX⊤] .
Nous cherchons donc w1 tel que :
w1⊤Σw1 est maximale
||w1||=1
Σ est, par construction, une matrice symétrique définie positive. Elle est donc diagonalisable par un changement de base orthonormé : Σ=Q⊤ΛQ , où Λ∈Rp×p est une matrice diagonale dont les valeurs diagonales sont les valeurs propres de Σ , qui sont toutes positives.
Nous avons donc w1⊤Σw1=w1⊤Q⊤ΛQw1=(Qw1)⊤Λ(Qw1)
Posons v=Qw1 ; nous cherchons à maximiser ∑pj=1v2jλj . Comme ||w1||=1 et que Q est orthonormée, ||v||=1 et donc ∑pj=1v2j=1 . La somme ∑pj=1v2jλj est donc maximisée pour un vecteur v qui a une seule entrée à 1 et les autres à 0, l'entrée à 1 étant pour la valeur maximale des λj , autrement dit la plus grande valeur propre de Σ .
Par conséquent, w1 est le vecteur propre correspondant à la plus grande valeur propre de Σ . 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 w1 : être de norme 1 et maximiser w2⊤Σw2 , mais lui est orthogonale. Il s'agit donc du vecteur propre de Σ 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 Σ 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ée par la somme des termes diagonaux de la matrice de covariance Σ (autrement dit la somme des variances de toutes les variables), soit sa trace. Or, Tr(Σ)=λ1+λ2+⋯+λp .
La variance totale est donnée par λ1+λ2+⋯+λp , et celle expliquée par les k premières composantes principales, par λ1+λ2+⋯+λk . La proportion de variance expliquée par les k premières composantes principales est donc λ1+λ2+⋯+λkλ1+λ2+⋯+λ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.
Une autre possibilité consiste à utiliser seulement deux ou trois composantes pour visualiser les données.
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és 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.