Analyse en composantes principales
Un article de Wikivisual, l'encyclopédie libre.
- Pour les articles homonymes, voir ACP. Image:Disambig.svg
|
|
L'analyse en composantes principales (ACP) est une méthode mathématique d'analyse de données qui consiste à rechercher les directions de l'espace qui représentent le mieux les corrélations entre <math>n</math> variables aléatoires. L'ACP est aussi connue sous le nom de transformée de Karhunen-Loève ou de transformée de Hotelling (en l'honneur d'Harold Hotelling).
Lorsqu'on veut compresser un ensemble de <math>N</math> variables aléatoires, les <math>n</math> premiers axes de l'ACP est un meilleur choix, du point de vue de l'inertie expliquée (cf plus loin).
Sommaire |
[modifier] Introduction générale
L'Analyse en Composantes Principales (ACP) est une méthode statistique (initialement de Statistique descriptive) qui a pour but de comprendre et de visualiser comment les effets de phénomènes a priori isolés se combinent.
Lorsque l'on ne considère que deux effets, il est usuel de caractériser leurs effets conjoints via le coefficient de corrélation (son seul défaut est de ne prendre en compte que des effets conjoints linéaires, ce qui se remarque en regardant les coefficients d'une Régression linéaire).
Lorsque l'on se place en dimension deux, les points disponibles (l'échantillon de points tirés suivant la loi conjointe de <math>X_1</math> et <math>X_2</math>) peuvent être représentés sur un plan. Le résultat d'une ACP sur ce plan est de déterminer les deux axes qui expliquent le mieux la dispersion des points disponibles. Les figures ci-contre représentent ces deux axes si on prend comme points ceux d'une photographie.
Lorsqu'il y a plus que deux effets, par exemple trois effets <math>X_1,X_2,X_3</math>, il y a trois coefficients de corrélations à prendre en compte: <math>C(X_1,X_2),C(X_1,X_3),C(X_2,X_3)</math>. La question qui a donné naissance à l'ACP est : "comment avoir une intuition rapide des effets conjoints?".
En dimension plus grande que deux, une ACP va toujours déterminer les axes (si on est en dimension 256, il y aura 256 axes à déterminer), qui expliquent le mieux la dispersion du nuage des points disponibles (de la photographie de ces points). Elle va aussi les ordonner par 'inertie expliquée (dans l'image de l'homme au pistolet à gauche, l'axe expliquant le plus d'inertie est l'axe vertical).
Si on ne décide de ne retenir que les deux premier axes de l'ACP, on pourra alors projeter notre nuage de dimension 256 sur un plan, et le visualiser.
Même si l'ACP est majoritairement utilisée pour visualiser des données, il ne faut pas oublier que c'est aussi un moyen :
- de décorréler ces données (dans la nouvelle base, constituée des nouveaux axes, les points ont une corrélation nulle),
- de débruiter ces données (en considérant que les axes que l'on décide d'oublier sont des axes bruités),
- et même de classifier ces données (en clusters corrélés).
[modifier] Échantillon
On applique usuellement une ACP sur un ensemble de <math>N</math> variables aléatoires <math>X_1,\ldots,X_N</math> connues à partir d'un échantillon de <math>K</math> réalisations conjointes de ces variables.
Cet échantillon de ces <math>N</math> variables aléatoires peut être structuré dans une matrice <math>M</math> à <math>K</math> lignes et <math>N</math> colonnes.
<math>M=\begin{bmatrix} X_{1,1} & \cdots & X_{N,1} \\ \vdots & \ddots & \vdots \\ X_{1,K} & \cdots & X_{N,K}\end{bmatrix}</math>
Chaque variable aléatoire <math>X_n=(X_{n,1},\ldots,X_{n,K})'</math> a une moyenne <math>\bar X_n</math> et un écart type <math>\sigma(X_n)</math>.
[modifier] Transformations de l'échantillon
- Le vecteur <math>(\bar X_1, \cdots, \bar X_N)</math> est le centre de gravité du nuage de points. On le note souvent g.
- La matrice <math>M</math> est généralement centrée sur le centre de gravité :
<math>\bar M=\begin{bmatrix} X_{1,1}-\bar X_1 & \cdots & X_{N,1}-\bar X_N \\ \vdots & \ddots & \vdots \\ X_{1,K}-\bar X_1 & \cdots & X_{N,K}-\bar X_N\end{bmatrix}</math>
- elle peut être aussi réduite:
<math>\tilde M=\begin{bmatrix} {X_{1,1}-\bar X_1\over \sigma(X_1)} & \cdots & {X_{N,1}-\bar X_N\over \sigma(X_N)} \\ \vdots & \ddots & \vdots \\ {X_{1,K}-\bar X_1\over \sigma(X_1)} & \cdots & {X_{N,K}-\bar X_N\over \sigma(X_N)}\end{bmatrix}</math>
Le choix de réduire ou non le nuage de points (i.e. les <math>K</math> réalisations de la variables aléatoire <math>(X_1,\ldots,X_N)</math>) est un choix de modèle:
- si on ne réduit pas le nuage: une variable à forte variance va tirer tout l'effet de l'ACP à elle,
- si on réduit le nuage: une variable qui n'est qu'un bruit va se retrouver avec une variance apparente égale à une variable informative.
[modifier] Calcul de covariances et de corrélations
Une fois la matrice <math>M</math> transformée en <math>\bar M</math> ou <math>\tilde M</math>, il suffit de la multiplier par sa transposée pour obtenir:
- la matrice de variance-covariance des <math>X_1,\ldots,X_N</math> si <math>M</math> n'est pas réduite,
- la matrice de corrélation des <math>X_1,\ldots,X_N</math> si <math>M</math> est réduite.
<math>{\rm Covariances} = {}^t\bar M \cdot \bar M,\; {\rm Correlations} = {}^t\tilde M \cdot \tilde M</math>
Ces deux matrices sont carrées (de taille <math>N</math>), symétriques, et réelles. Elles sont donc diagonalisables dans une base orthonormée.
[modifier] Critère d'inertie
Dans la suite de cet article, nous considérerons que le nuage est transformé (centrée et réduit si besoin est). Chaque <math>X_n</math> est donc remplacé par <math>X_n-\bar X_n</math> ou <math>(X_n-\bar X_n)/\sigma(X_n)</math>. Nous utiliserons donc la matrice <math>M</math> pour noter <math>\bar M</math> ou <math>\tilde M</math> suivant le cas.
Le principe de l'ACP est de trouver un axe <math>u</math>, issu d'une combinaison linéaire des <math>X_n</math>, tel que la variance du nuage autour de cet axe soit maximale.
Pour bien comprendre, imaginons que la variance de <math>u</math> soit égale à la variance du nuage; on aurait alors trouvé une combinaison des <math>X_n</math> qui contient toute la diversité du nuage original (en tout cas toute la part de sa diversité captée par la variance).
Comme le titre de cette section l'indique, le critère couramment utilisé est la variance de l'échantillon (on veut maximiser la variance expliquée par le vecteur <math>u</math>). Pour les physiciens, cela a plutôt le sens de maximiser l'inertie expliquée par <math>u</math> (i.e. minimiser l'inertie du nuage autour de <math>u</math>).
[modifier] Projection
Finalement, nous cherchons le vecteur <math>u</math> tel que la projection du nuage sur <math>u</math> ait une variance maximale. La projection de l'échantillon des <math>X</math> sur <math>u</math> s'écrit:
<math>\pi_u(X) = M\cdot u</math>
la variance empirique de <math>\pi_u(X)</math> vaut donc:
<math>\pi_u(X)' \cdot \pi_u(X) = u'\cdot \underbrace{M' M}_C \cdot u</math>
Comme nous avons vu plus haut que <math>C</math> est diagonalisable dans une base orthonormée, notons <math>P</math> le changement de base associé et <math>\Delta</math> la matrice diagonale formée de son spectre:
<math>\pi_u(X)' \cdot \pi_u(X) = u' P' \Delta P u = (Pu)' \Delta \underbrace{(Pu)}_v</math>
Après cette réécriture, nous cherchons le vecteur unitaire <math>v</math> qui maximise <math>v' \Delta v</math>, où <math>\Delta={\rm Diag}(\lambda_1,\ldots,\lambda_N)</math> est diagonale (rangeons les valeurs de la diagonale de <math>\Delta</math> en ordre décroissant). On peut rapidement vérifier qu'il suffit de prendre le premier vecteur unitaire ; on a alors:
<math>v'\Delta v = \lambda_1</math>
[modifier] Diagonalisation
La diagonalisation de la matrice de corrélation (ou de covariance si on se place dans un modèle non réduit), nous a permis d'écrire que le vecteur qui explique le plus d'inertie du nuage est le premier vecteur propre. De même le deuxième vecteur qui explique la plus grande part de l'inertie restante est le deuxième vecteur propre, etc.
Nous avons vu en outre que la variance expliquée par la <math>n</math>ème vecteur propre vaut <math>\lambda_k</math>.
Finalement, la question de l'ACP se ramène à un problème de diagonalisation de la matrice de corrélation.
[modifier] Numériquement
Numériquement, la matrice <math>M</math> étant rectangulaire, il est plus économique de la décomposer en valeurs singulières, puis de recombiner la décomposition obtenue, plutôt que que diagonaliser <math>M' M</math>.
[modifier] Résultats théoriques
Si les sections précédentes ont travaillé sur un échantillon issu de la loi conjointe suivie par <math>X_1,\ldots,X_N</math>, que dire de la validité de nos conclusions sur n'importe quel autre échantillon issu de la même loi?
Plusieurs résultats théoriques permettent de répondre au moins partiellement à cette question, essentiellement en se positionnant par rapport à une distribution gaussienne comme référence.
[modifier] Applications
L'Analyse en Composantes Principales est usuellement utilisée comme outil de compression linéaire. Le principe est alors de ne retenir que les <math>n</math> premiers vecteurs propres issus de le diagonalisation de la matrice de corrélation (ou covariance), lorsque l'inertie du nuage projeté sur ces <math>n</math> vecteurs représente <math>q_n</math> pourcent de l'inertie du nuage original, on dit qu'on a un taux de compression de <math>1-q_n</math> pourcent ou que l'on a compressé à <math>q_n</math> pourcent. Un taux de compression usuel est de 20%.
Les autres méthodes de compressions statistiques habituelles sont:
- l'Analyse en Composantes Indépendantes;
- les cartes auto-adaptatives (self organizing maps en anglais: SOM); appelées aussi cartes de Kohonen;
- l'Analyse en Composantes Curvilignes;
- la compression par ondelettes.
Il est possible d'utiliser le résultat d'une ACP pour construire une classification statistique des variables aléatoires <math>X_1,\ldots,X_N</math>, en utilisant la distance suivante (<math>C_{n,n'}</math> est la corrélation entre <math>X_n</math> et <math>X_{n'}</math>):
<math>d(X_n,X_{n'})=\sqrt{2\,(1-C_{n,n'})}</math>
[modifier] Voir aussi
- Valeurs propres
- Compression statistique
- Équilibre biais / variance
- Analyse de la variance
- Partitionnement de données
[modifier] Références
- Benzécri, Jean-Paul ; Analyse des données. T2 (leçons sur l'analyse factorielle et la reconnaissance des formes et travaux du Laboratoire de statistique de l'Université de Paris 6. T. 2 : l'analyse des correspondances), Dunod Paris Bruxelles Montreal, 1973
- Benzécri, Jean-Paul at Al. Pratique de l'analyse des données. T1 (analyse des correspondances. Exposé élémentaire), Dunod Paris, 1984,
- Benzécri, Jean-Paul at Al. Pratique de l'analyse des données. T2 (abrégé théorique. Etudes de cas modèle), Dunod Paris, 1984
- Escofier Brigitte, Pagès Jérôme ; Analyse factorielles simples et multiples. Objectifs, méthodes et interprétation, Dunod Paris, 1988
- Lebart Ludovic, Morineau Alain, Piron Marie; Statistique exploratoire multidimensionnelle, Dunod Paris, 1995
| Articles de mathématiques en rapport avec l'algèbre linéaire |
| Espace vectoriel | Base | Dimension | Matrice | Application linéaire | Déterminant | Trace | Rang | Théorème des facteurs invariants | Réduction d'endomorphisme | Réduction de Jordan | Décomposition de Dunford | Valeur propre | Polynôme caractéristique | Forme linéaire | Espace dual | Orthogonalité | Produit scalaire | Produit vectoriel | Polynôme d'endomorphisme | Polynôme minimal | Tenseur | Covecteur | Algèbre multilinéaire |
| Modifier |
| Portail des mathématiques – Accédez aux articles de Wikipédia concernant les mathématiques. |
de:Hauptkomponentenanalyse en:Principal components analysis eo:Analizo al precipaj konsisteroj es:Análisis del componente principal id:Analisis komponen utama it:Analisi delle componenti principali ja:主成分分析 ko:주성분 분석 nl:Hoofdcomponenten pl:Analiza głównych składowych sv:Principalkomponentanalys zh:主成分分析


