Analyse en Composantes Principales (ACP)

Mastère ESD - Introduction au Machine Learning

FX Jollois

Que veut-on faire ?

Comment ?

Du choix de la projection dépend l’analyse

Source : https://commons.wikimedia.org/wiki/File:Dualite.jpg

Méthodes descriptives

Lecture

Idée principale : Projeter le nuage dans un sous-espace de dimension inférieure

Exemple en 2D

Repère \((0,X^{(1)},X^{(2)})\)

Repère d’origine

Repère factoriel \((g,F^{(1)},F^{(2)})\) : axe 1 associé à la plus grande valeur propre, axe 2 associé à la plus petite.

Repère factoriel

Rotation du repère…

Repère factoriel rotation

… et changement d’échelle.

Repère factoriel échelle

Problème

Détection

Représentation graphique

Objectifs

Principe

Matrice de corrélation ou de covariance ?

Corrélation

Covariance

Combien d’axes retenir ?

But = Représentation graphique

But = Préparation des données

Quelques notations

Premiers calculs

Utilisation de moyenne arithmétique (pondérée éventuellement), de la variance (elle-aussi pondérée), et de la covariance et de la corrélation entre deux variables

Inertie

Inertie d’un nuage de points :

\[ I_g = \sum_{i=1}^n p_i d_\mathbf{M}^2(x_i - g) = \frac{1}{2} \sum_{i=1}^n \sum_{i'=1}^n p_i p_{i'} d_\mathbf{M}^2(x_i - x_{i'}) = Tr(\mathbf{M}\mathbf{V}\mathbf{M}) \]

L’ACP revient à chercher \(F_k\), sous espace de dimension \(k\) de \(F_p\), tel que l’inertie du nuage projeté sur \(F_k\) soit maximale.

Rappel : Vecteur et valeur propre

\(\mathbf{v} \ne 0\) vecteur propre de \(\mathbf{A}\)

Matrice de dimension \((p,p)\) : \(p\) valeurs propres

Analyse de \(\mathbf{M}\mathbf{V}\mathbf{M}\)

Matrice carrée \((p,p)\) :

Lien avec l’inertie : \(I_g = Tr(\mathbf{M}\mathbf{V}\mathbf{M}) = \sum_{j=1}^p \lambda_j\)

En ne gardant que les \(q\) premiers axes d’inertie

Remarque : l’ACP sur \(k+1\) variables est obtenue par ajout d’une variable d’inertie maximale à l’ACP sur \(k\) variables. Il n’est pas nécessaire de refaire tout le calcul.

Composantes Principales

Coordonnées des individus données par projections orthogonales sur axes principaux

\[ \mathbf{c}_k = \mathbf{Y} \mathbf{M} \mathbf{a}_k \]

ACP avec \(q\) axes retenus expliquera donc une part d’inertie égale à

\[ \frac{\sum_{j=1}^q \lambda_j}{\sum_{j=1}^p \lambda_j} \]

Interprétation

Cercle des corrélations

Sur des données centrées-réduites, il est possible de déterminer le cercle des corrélations, représentation des corrélations entre les variables et les composantes principales. Plus la variable sera proche de 1 ou -1 sur une composante, plus celles-ci seront corrélées.

Contribution des individus et des variables

La contribution d’un individu à un axe est égale à \(\frac{p_i (c_{ik})^2}{\lambda_k}\). Si celle-ci est supérieure à \(\alpha p_i\) (\(\alpha\) étant généralement choisi entre 2 et 4), l’individu seront considéré comme fortement contributeur à la création de l’axe. Mais si elle est très forte, il faudra peut-être considéré l’individu comme aberrant et donc envisager de le mettre de côté pour l’analyse. De manière duale, la contribution d’une variable à un axe est égale à \(\frac{\sqrt{\lambda_k}a_k^j}{s_j}\). Si elle est supérieure à \(\frac{1}{p}\), alors la variable sera considérée comme fortement contribuante.

Interprétation

Qualité de représentation

La qualité de représentation d’un individu par un axe est égale é \(\frac{(c_{ik})^2}{\sum_{\ell=1}^p (c_{i\ell})^2}\). Plus elle est grande mieux l’individu est représenté sur l’axe \(k\). De manière duale, la qualité de représentation d’une variable par un axe est égale à \(\frac{\lambda_k (a_k^j)^2}{\sum_{\ell=1}^p \lambda_\ell (a_\ell^j)^2}\). Idem que pour les individus, plus cette valeur est grande et plus la variable est bien représentée sur l’axe \(k\).

Que faire pour interpréter un axe

Pour comprendre ce que reprèsente un axe, il est nécessaire de recenser les variables qui contribuent le plus, ainsi que celles qui sont très bien représentées. Une fois cette étape réalisée, il est possible (si \(n\) n’est pas très grand) de chercher les individus bien représentés ou contribuant fortement à l’axe.

En plus

Il est aussi possible d’introduire des éléments supplémentaires ne participant pas au calcul, mais pouvant être représentés sur les graphiques :

Exemple simple

Notes obtenues par 9 élèves dans 4 matières (cf Besse and Baccini)

Math Phys Fran Angl
jean 6.0 6.0 5.0 5.5
alan 8.0 8.0 8.0 8.0
anni 6.0 7.0 11.0 9.5
moni 14.5 14.5 15.5 15.0
didi 14.0 14.0 12.0 12.5
andr 11.0 10.0 5.5 7.0
pier 5.5 7.0 14.0 11.5
brig 13.0 12.5 8.5 9.5
evel 9.0 9.5 12.5 12.0

Variance et corrélation des variables

Les variables ont des variances sensiblement différentes.

x
Math 12.81
Phys 10.06
Fran 13.57
Angl 8.90

On voit bien qu’il y a deux groupes de variables.

Math Phys Fran Angl
Math 1.00 0.98 0.23 0.51
Phys 0.98 1.00 0.40 0.65
Fran 0.23 0.40 1.00 0.95
Angl 0.51 0.65 0.95 1.00

Part de la variance expliquée

Valeur propre Variance (%) Cumulée (%)
comp 1 2.88 71.89 71.89
comp 2 1.12 27.99 99.88
comp 3 0.00 0.09 99.97
comp 4 0.00 0.03 100.00

2 axes suffisent à représenter 99.9% de l’information présente dans les données.

Représentation graphique

Individus importants

Contribution

contrib 1 contrib 2 contrib 3 contrib 4
jean 29.1 1.8 1.6 5.4
alan 5.9 0.2 0.1 5.3
anni 4.1 10.9 10.6 0.1
moni 38.1 0.3 0.4 23.8
didi 16.3 3.9 1.9 38.0
andr 3.6 22.3 2.1 19.2
pier 0.4 37.2 9.5 0.9
brig 1.5 16.5 13.6 1.6
evel 1.0 6.7 60.2 5.7
Sum 100.0 100.0 100.0 100.0

Individus importants

Qualité de représentation

qualité 1 qualité 2 qualité 3 qualité 4 Somme
jean 1.0 0.0 0 0 1
alan 1.0 0.0 0 0 1
anni 0.5 0.5 0 0 1
moni 1.0 0.0 0 0 1
didi 0.9 0.1 0 0 1
andr 0.3 0.7 0 0 1
pier 0.0 1.0 0 0 1
brig 0.2 0.8 0 0 1
evel 0.3 0.7 0 0 1

Variables importantes

Contribution

contrib 1 contrib 2 contrib 3 contrib 4
Math 22.9 30.5 4.1 42.5
Phys 28.3 16.5 19.5 35.7
Fran 19.7 38.6 28.3 13.4
Angl 29.1 14.4 48.1 8.4

Qualité de représentation

qualité 1 qualité 2 qualité 3 qualité 4
Math 0.7 0.3 0 0
Phys 0.8 0.2 0 0
Fran 0.6 0.4 0 0
Angl 0.8 0.2 0 0

D’autres exemples

Compression d’image

Visualisation de données