0% ont trouvé ce document utile (0 vote)
611 vues42 pages

Projet

Ce document décrit la méthode d'analyse en composantes principales (ACP) pour réduire la dimensionnalité des données. L'ACP permet de projeter les données dans un nouvel espace à dimensions réduites tout en conservant un maximum d'informations. Le document présente les étapes de l'ACP canonique et normée, ainsi que son application avec le logiciel R.

Transféré par

Nadia Zoubir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
611 vues42 pages

Projet

Ce document décrit la méthode d'analyse en composantes principales (ACP) pour réduire la dimensionnalité des données. L'ACP permet de projeter les données dans un nouvel espace à dimensions réduites tout en conservant un maximum d'informations. Le document présente les étapes de l'ACP canonique et normée, ainsi que son application avec le logiciel R.

Transféré par

Nadia Zoubir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

MASTER

MÉTHODES NUMÉRIQUES ET STATISTIQUES APPLIQUÉES

Projet en :

"Analyse en Composantes Principales"


Zoubir Nadia Zahir Yasmine Fouad Safae

Encadré par :
[Link] Hasna
Département de Mathématiques

2021-2022
CONTENTS

Préliminaire : 4

Introduction Générale : 6

1 Le tableau des données: 7

2 ACP Canonique: ACPC 10


2.1 Choix d’une distance: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 La matrice des poids des individus: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Le point moyen ou centre de gravité: . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Moments d’inertie: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Inertie totale du nuage des individus . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2 Inertie du nuage des individus par rapport à un axe passant par G . . . . . . . 14
2.4.3 Inertie du nuage des individus par rapport à un sous-espace vectoriel V passant
par G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.4 Décomposition de l’inertie totale . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5 Recherche de l’axe ∆1 passant par G d’inertie minimal: . . . . . . . . . . . . . . . . 15
2.5.1 Expressions algébriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.2 Recherche du maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Recherche des axes suivants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7 Composantes principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.8 Contributions des axes à l’inertie totale . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.9 Représentation des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 ACP Normée : ACPN 19

4 ACP dans R : 21
4.1 ACP avec R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.1 Packages R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.2 Standardisation des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.3 Code R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.4 Visualisation et interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.5 Valeurs propres / Variances . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.6 Graphique des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.7 Cercle de corrélation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2
CONTENTS

4.1.8 Qualité de représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29


4.1.9 Contributions des variables aux axes principaux . . . . . . . . . . . . . . . . . 30
4.1.10 Description des dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.11 Graphique des individus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Les applications de l’ACP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Neurosciences: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.2 Finance quantitative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.3 La reconnaissance faciale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.4 Autres applications de l’ACP . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Compression d’images dans R: 35

6 Conclusion: 39

Annexe A : Références 40
6.1 Notions de base: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2 Analyse bidimensionnelle: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Annexe B : Définitions et Rappels 41

3
LIST OF FIGURES

2.1 Centre de Gravité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12


2.2 Cercle des corrélations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.1 Reconstruction d’image à l’aide de 2 composantes principales . . . . . . . . . . . . . . 38


5.2 Reconstruction d’image à l’aide de 30 composantes principales . . . . . . . . . . . . . 38
5.3 Reconstruction d’image à l’aide de 200 composantes principales . . . . . . . . . . . . 38
5.4 Reconstruction d’image à l’aide de 300 composantes principales . . . . . . . . . . . . 38
5.5 L’image originale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4
PRÉLIMINAIRE :

La statistique descriptive permet de représenter de façon vivante et assimilable des informations


statistiques en les simplifiant et les schématisant. La statistique descriptive multidimensionnelle en
est la généralisation naturelle lorsque ces informations concernent plusieurs variables ou dimensions.
On désigne par statistique descriptive multidimensionnelle l’ensemble des méthodes de la statis-
tique descriptive (ou exploratoire) permettant de traiter simultanément un nombre quelconque de
variables. Les méthodes les plus classiques de la statistique descriptive multidimensionnelle sont les
méthodes factorielles, leurs domaines d’utilisation sont nombreux et diversifiés: biologie, économétrie,
médecine, etc... On s’intéresse à l’analyse en composantes principales pour un tableau de variables
quantitatives, que, à partir d’un tableau rectangulaire de données comportant les observations de
p variables quantitatives sur n individus, on peut obtenir des représentations géométriques de ces
individus et de ces variables dans un sous espace de faible dimension. Conçue pour la première
fois par Karl Pearson en 1901, intégrée à la statistique mathématique par Harold Hotelling en 1933,
l’analyse en composantes principales n’est vraiment utilisée que depuis l’avènement et la diffusion
des moyens de calculs actuels. La technique d’analyse en composantes principales peut être présentée
de divers points de vue. Pour le statisticien classique, il s’agit de la recherche des axes principaux de
l’ellipsoïde indicateur d’une distribution normale multidimensionnelle, ces axes étant estimés à partir
d’un échantillon. C’est la présentation initiale de Hotelling (1933), puis celle des manuels classiques
d’analyse multivariée, comme l’ouvrage fondamental d’Anderson (1958). L’analyse en composantes
principales présente de nombreuses variantes selon les transformations apportées au tableau de don-
nées: le nuage des points-individus peut être centré ou non, réduit ou non. Parmi ces variantes,
l’Analyse en Composantes Principales Canonique(nuage centré) et Normée (nuage centré réduit)
sont certainement les plus utilisées et ce sont que nous choisirons pour présenter les principes de
l’analyse en composantes principales.

5
INTRODUCTION GÉNÉRALE :

Lorsqu’on étudie simultanément un nombre important de variables quantitatives, comment en faire


un graphique global ? La difficulté vient de ce que les individus étudiés ne sont plus représentés
dans un plan, espace de dimension 2, mais dans un espace de dimension plus importante. L’objectif
de l’Analyse en Composantes Principales (ACP) est de revenir à un espace de dimension réduite.
Il s’agit donc d’obtenir le résumé le plus pertinent possible des données initiales. C’est la matrice
des variances-covariances (ou celle des corrélations) qui va permettre de réaliser ce résumé pertinent,
parce qu’on analyse essentiellement la dispersion des données considérées. De cette matrice, on va
extraire, par un procédé mathématique adéquat, les facteurs que l’on recherche, en petit nombre. Ils
vont permettre de réaliser les graphiques désirés dans cet espace de petite dimension (le nombre de fac-
teurs retenus), en déformant le moins possible la configuration globale des individus selon l’ensemble
des variables initiales (ainsi remplacées par les facteurs). C’est l’interprétation de ces graphiques qui
permettra de comprendre la structure des données analysées. Cette interprétation sera guidée par
un certain nombre d’indicateurs numériques et graphiques, appelés aides à l’interprétation, qui sont
là pour aider l’utilisateur à faire l’interprétation la plus juste et la plus objective possible. L’idée est
ensuite de pouvoir projeter ces données sur l’hyperplan le plus proche afin d’avoir une représentation
simple de nos données. Évidemment, qui dit réduction de dimension dit perte d’informations. C’est
là tout l’enjeu que représente une Analyse en Composantes principales. Il faut pouvoir réduire la
dimension de nos données tout en conservant un maximum d’informations,en déformant le moins
possible la réalité.

6
CHAPTER 1
LE TABLEAU DES DONNÉES:

L’utilisateur éventuel de l’analyse en composantes principales se trouve dans la situation suivante: il


possède un tableau rectangulaire de mesures, dont les colonnes figurent des variables quantitatives
à valeurs numériques continues (des mensurations, des taux, etc.) et dont les lignes représentent les
individus sur lesquels ces variables sont mesurées.
Le tableau des données brutes à partir duquel on va faire l’analyse est noté X et a la forme
suivante :
v v2 . . . v j . . . vp
 1 
u1 x11 x12 . . . x1j . . . x1p
u2  x x22 . . . x2j . . . x2p 
 
 21
..  .. .. .. .. .. .. .. .. .. .. 
.  . . ... . ... . 

X=   
ui  xi1 xi2 . . . xij . . . xip 
.. 
 .. .. .. .. .. .. .. .. .. .. 

.  . . ... . ... .  
un xn1 xn2 . . . xnj . . . xnp
On peut représenter chaque unité par le vecteur de ses mesures sur les p variables :

xi2
 
 . 
 .. 
h i  
t
Ui = xi1 xi2 . . . xij . . . xip ce qui donne Ui = 
 xij .

 ..
 
 .


xip

Alors Ui est un vecteur de Rp . De façon analogue, on peut représenter chaque variable par un vecteur
de Rn dont les composantes sont les valeurs de la variable pour les n unités :
 
x1j
x2j
 
 

.. 
.
 
Vj =
 
 
 xij 
.. 
 


 . 

xnj

Pour avoir une image de l’ensemble des unités, on se place dans un espace affine en choisissant comme
origine un vecteur particulier de Rp , par exemple le vecteur dont toutes les coordonnées sont nulles.

7
CHAPTER 1. LE TABLEAU DES DONNÉES:

Alors, chaque unité sera représentée par un point dans cet espace. L’ensemble des points qui représen-
tent les unités est appelé traditionnellement “nuage des individus”. En faisant de même dans Rn ,
chaque variable pourra être représentée par un point de l’espace affine correspondant. L’ensemble des
points qui représentent les variables est appelé “nuage des variables”. On constate, que ces espaces
étant de dimension supérieure en général à 2 et même à 3, on ne peut visualiser ces représentations.
L’idée générale des méthodes factorielles est de trouver un système d’axes et de plans tels que les
projections de ces nuages de points sur ces axes et ces plans permettent de reconstituer les positions
des points les uns par rapport aux autres, c’est-‘a-dire avoir des images les moins déformées possible.

Exemple: Mesure de la tension artérielle diastolique, systolique et du


taux de cholestérol de 6 patients.

v1 v2 v3
u1 90 140 6.0
 
 
 
60
u2  85 5.9
 

 
 
u3 75 135 6.1
 

X=
 
 
 
70
u4  145 5.8

 
 
85 130 5.4
 
u5  
 
 
u6 70 145 5.0

8
CHAPTER 1. LE TABLEAU DES DONNÉES:

Le nuage des n = 6 individus est


compris dans un sous-espace de
dimension 3

Remarque
Dans une ACP, dans l’espace des individus on s’intéresse aux proximités (métriques ou distances),
alors que dans l’espace des variables on s’intéresse aux angles.

9
CHAPTER 2
ACP CANONIQUE: ACPC

2.1 Choix d’une distance:


Pour faire une représentation géométrique, il faut choisir une distance entre deux points de l’espace.
La distance utilisée par l’ACP dans l’espace où sont représentés les unités, est la distance euclidienne
classique. La distance entre deux unités ui et ui′ est égale à :
p
d (ui , ui′ ) =
2
(xij − xi′ j )2
X

j=1

Avec cette distance, toutes les variables jouent le même rôle et les axes définis par les variables
constituent une base orthogonale. à cette distance on associe un produit scalaire entre deux vecteurs
: p
⟨−→, −ou→′ ⟩ = x x ′ = tU U ′
X
ou i i ij i j i i
j=1

ainsi que la norme d’un vecteur :


p
∥−→∥ 2 = X x2 = t U U
ou i ij i i
j=1

On peut alors définir l’angle α entre deux vecteurs par son cosinus :
→,˜− Pp ˜
⟨− → t U˜U ′
ou i oui′ ⟩ xij xi′ j i i
cos(α) = −→ ˜ −→ = qP j=1 ˜ P =q ˜ .
∥oui ∥ ∥oui′ ∥ p
x
j=1 ij
2 p
x
j=1 i j
2
′ ( t U U ) (t U ′ U ′ )
i i i i

2.2 La matrice des poids des individus:


On suppose que chaque individu est muni d’un poids pi tel que pi ≥ 0 et ni=1 pi = 1. Dans certain
P

cas, il est utile de travailler avec des poids pi différents (données regroupées...). Ces poids sont
regroupés dans la matrice diagonale Dp de taille n:
0
 
p1

p2 
Dp = 
 
.. 

 . 

0 pn
1 1
Si les poids sont égaux à on a Dp = In où IN est la matrice identité.
n n
10
CHAPTER 2. ACP CANONIQUE: ACPC

2.3 Le point moyen ou centre de gravité:


Le point o correspondant au vecteur de coordonnées toutes nulles n’est pas forcément une origine
satisfaisante, car si les coordonnées des points du nuage des individus sont grandes, le nuage est
éloigné de cette origine. Il apparaît plus judicieux de choisir une origine liée au nuage lui-même : le
centre de gravité du nuage. Par définition, le centre de gravité est défini comme le point tel que :
n
−−→ → −
∀i = 1, . . . , n pi Gui = 0
X

i=1

Pour l’ACP on choisit de donner le même poids n1 à tous les individus. Le centre de gravité G du
nuage des individus est alors le point dont les coordonnées sont les valeurs moyennes des variables :
 
x1

x2 
G= ..
 

.
 
 
xp

tel que
1X n
xj = xij
n i=1
Le point G est appelé parfois le point moyen du nuage. Prendre G comme origine, conformément à
la figure suivante, revient alors à travailler sur le tableau des données centrées :

x11 − x1 · · · x1j − xj · · · x1p − xp


 
.. .. ..
. . .
 
 
 
Xc = 
 xi1 − x1 · · · xij − xj · · · xip − xp 


.. .. .. 
. . .
 
 
xn1 − x1 · · · xnj − xj · · · xnp − xp

et le vecteur des coordonnées centrées de l’unité ui est :


 
xi1 − x1
xi2 − x2
 
 

.. 
.
 
Uci =
 
 
 xij − xj 
..
 
 

 . 

xip − xp

11
CHAPTER 2. ACP CANONIQUE: ACPC

Figure 2.1: Centre de Gravité

Exemple: Mesure de la tension artérielle diastolique, systolique et du


taux de cholestérol de 6 patients.

75.0
 
 
 
130.0
 
G= 



 
 5.7 
 

vc1 vc2 vc3


15 10 0.3
 
uc1
 
 
−15
uc2  −45 0.2 
 

 
 
uc3  0 5 0.4 
 

Xc =
 
 
 
 −5
uc4  15 0.1 
 
 
 10 0
 
uc5  −0.3
 
 
uc6 −5 15 −0.7

12
CHAPTER 2. ACP CANONIQUE: ACPC

2.4 Moments d’inertie:


2.4.1 Inertie totale du nuage des individus
On note IG le moment d’inertie du nuage des individus par rapport au centre de gravité G :

1X n
1X n X p  2 1X n
IG = d2 (G, ui ) = xij − xj = t
Uci Uci
n i=1 n i=1 j=1 n i=1

Ce moment d’inertie totale est intéressant car c’est une mesure de la dispersion du nuage des individus
par rapport à son centre de gravité. Si ce moment d’inertie est grand, cela signifie que le nuage est
très dispersé, tandis que s’il est petit, alors le nuage est très concentré sur son centre de gravité.

Remarque:
On peut voir, en inversant l’ordre des signes sommes, que IG peut aussi s’écrire sous la forme suivante
:
1 n 
p " X p
#
2
IG = = Var (vj )
X X
xij − xj
j=1 n i=1 j=1

où V ar(vj ) est la variance empirique de la variable vj . Sous cette forme, on constate que l’inertie
totale est égale à la trace de la matrice de covariance Σ,

IG = trace(Σ)

Var (v1 ) Cov (v1 , v2 ) . . . Cov (v1 , vj ) . . . Cov (v1 , vp )


 

Cov (v2 , v1 ) Var (v2 ) . . . Cov (v2 , vj ) . . . Cov (v2 , vp )


 
 

.. .. ... .. .. .. 
. . . . .
 
Σ=
 
Cov (vj , v1 ) Cov (vj , v2 ) Var (vj ) . . . Cov (vj , vp )
 
 ... 
.. .. .. .. .. ..
 
.
 

 . . . . . 

Cov (vp , v1 ) Cov (vp , v2 ) . . . Cov (vp , vj ) . . . Var (vp )
avec  2
Var (vj ) = 1 Pn
n i=1 xij − xj
  
Cov (vj , vj ′ ) = 1 Pn
n i=1 xij − xj xij ′ − xj ′
On peut voir que
 Pn Pn Pn 
1
n i=1 x′2
i1 ··· 1
n i=1 x′i1 x′ij · · · 1
n i=1 x′i1 x′ip
 .. .. .. .. .. 

. . . . .

1 n  
Uci t Uci =
 1 Pn ′ ′ Pn 1 Pn
1
x′2 ′ ′ 
X 
 n i=1 xij xi1
 ··· n i=1 ij ··· n i=1 x ij x ip
n i=1 .. .. .. .. ..

 P . . . . .
 
 

n ′ ′ Pn n
1
xip xi1 · · · 1
x′ip x′ij ··· 1
x′2
P
n i=1 n i=1 n i=1 ip

On retrouve bien la matrice de covariance empirique Σ.

13
CHAPTER 2. ACP CANONIQUE: ACPC

Exemple: Mesure de la tension artérielle diastolique, systolique et du


taux de cholestérol de 6 patients.

var (v1 ) cov (v1 , v2 ) cov (v1 , v3 )


 
 
 
= cov (v2 , v1 ) var (v2 ) cov (v2 , v3 )
X  
 
 
 
cov (v3 , v1 ) cov (v3 , v2 ) var (v3 )

IG = var (v1 ) + var (v2 ) + var (v3 ) = 533.476

2.4.2 Inertie du nuage des individus par rapport à un axe passant par
G
L’inertie du nuage des individus par rapport à un axe ∆ passant par G est égale, par définition, à :

1X n
I∆ = d2 (h∆i , ui )
n i=1

où h∆i est la projection orthogonale de ui sur l’axe ∆. Cette inertie mesure la proximité à l’axe ∆
du nuage des individus.

2.4.3 Inertie du nuage des individus par rapport à un sous-espace vec-


toriel V passant par G
1X n
IV = d2 (hV i , ui )
n i=1
o‘u hV i est la projection orthogonale de ui sur le sous-espace V .

2.4.4 Décomposition de l’inertie totale


Si on note V ∗ le complémentaire orthogonal de V dans Rp et hV ∗ i la projection orthogonale de ui
sur V ∗ , en appliquant le théorème de Pythagore, on peut écrire :

d2 (hV i , ui ) + d2 (hV ∗ i , ui ) = d2 (G, ui ) = d2 (G, hV i ) + d2 (G, hV ∗ i )

On en déduit que:
IV + IV ∗ = IG

14
CHAPTER 2. ACP CANONIQUE: ACPC

En projetant le nuage des individus sur un sous-espace V , on perd l’inertie mesurée par IV , on
ne conserve que celle mesurée par IV ∗ . De plus, si on décompose l’espace Rp comme la somme de
sous-espaces de dimension 1 orthogonaux entre eux, on peut écrire
IG = I∆∗1 + I∆∗2 + . . . + I∆∗p

2.5 Recherche de l’axe ∆1 passant par G d’inertie minimal:


On cherche un axe ∆1 passant par G d’inertie I∆1 minimum car c’est l’axe le plus proche de l’ensemble
des points du nuage des individus, et donc, si l’on doit projeter ce nuage sur cet axe, c’est lui qui
donnera l’image la moins déformée du nuage. Si on utilise la relation entre les inerties donnée au
paragraphe précédent, rechercher ∆1 tel que I∆1 est minimum, est équivalent à chercher ∆1 tel que
−−→
I∆∗1 est maximum. On définit l’axe ∆1 par son vecteur directeur unitaire Ga1 . Il faut donc trouver
−−→ −
−→ 2
Ga1 tel que I∆∗1 est maximum sous la contrainte que Ga1 = 1.

2.5.1 Expressions algébriques


D−
−→ −−→E2
d2 (G, h∆1 i ) = Gui , Ga1 = t a1 Uci t Uci a1
en utilisant la symétrie du produit scalaire. On en déduit :
1X n
1X n
" #
I∆1 ∗ = t
a1 Uci t Uci a1 = t a1 Uci t Uci a1
n i=1 n i=1


→ 2
Alors I∆∗1 = t a1 Σa1 et Ga1 = t a1 a1 .

2.5.2 Recherche du maximum


Le problème à résoudre : trouver a1 tel que t a1 Σa1 soit maximum avec la contrainte t a1 a1 = 1, c’est
un problème de recherche d’un optimum d’une fonction de plusieurs variables liées par une contrainte
(les inconnues sont les composantes de a1 ). La méthode des multiplicateurs de Lagrange peut alors
être utilisée. Dans le cas de la recherche de a1 , il faut calculer les dérivées partielles de :
 
g (a1 ) = g (a11 , a12 , . . . , a1p ) = t a1 Σa1 − λ1 t
a1 a1 − 1
En utilisant la dérivée matricielle, on obtient :
∂g (a1 )
= 2Σa1 − 2λ1 a1 = 0
∂a1
Le système à résoudre est :
a1 − λ 1 a1 = 0
( P

t
a1 a1 − 1 =0
on déduit que a1 est vecteur propre de la matrice Σ associé à la valeur propre λ1 . D’où
t
a1 Σa1 − λt1 a1 a1 = 0
Finalement
t
a1 Σa1 = λ1 .
On reconnaît que le premier membre de l’équation précédente est égal à l’inertie I∆∗1 qui doit être
maximum. Cela signifie que la valeur propre λ1 est la plus grande valeur propre de la matrice de
covariance Σ et que cette valeur propre est égale à l’inertie portée par l’axe ∆1 . L’axe ∆1 pour lequel
le nuage des individus a l’inertie minimum a comme vecteur directeur unitaire le premier vecteur
propre associé à la plus grande valeur propre de la matrice de covariance Σ.

15
CHAPTER 2. ACP CANONIQUE: ACPC

Exemple: Mesure de la tension artérielle diastolique, systolique et du


taux de cholestérol de 6 patients.
La matrice de covariance est
100 112.5 0.25
 

 112.5 433.33 −2.16 


Σ= 

0.25 −2.16 0.146


Les valeurs propres sont λ1 = 467.754, λ2 = 65.596 et λ3 = 0.126 Alors I∆∗1 = λ1 = 467.754 De plus,
I∆∗ 467.754
cette inertie représente 1 = = 87.6797% de l’inertie totale.
IG 533.48

2.6 Recherche des axes suivants


On recherche ensuite un deuxième axe ∆2 orthogonal au premier et d’inertie minimum. On peut,
comme dans le paragraphe précédent, définir l’axe ∆2 passant par G par son vecteur directeur
unitaire a2 . L’inertie du nuage des individus par rapport à son complémentaire orthogonal est égale
à : I∆∗2 = t a2 Σa2 elle doit être maximum avec les deux contraintes suivantes :t a2 a2 = 1 et t a2 a1 = 1
La deuxième contrainte exprime que le deuxième axe doit être orthogonal au premier et donc que le
produit scalaire des deux vecteurs directeurs est nul. En appliquant la méthode des multiplicateurs de
Lagrange, cette fois avec deux contraintes, on trouve que a2 est le vecteur propre de Σ correspondant
à la deuxième plus grande valeur propre. On peut montrer que le plan défini par les axes ∆1 et ∆2
est le sous-espace de dimension 2 qui porte l’inertie maximum. On peut rechercher de nouveaux axes
en suivant la même procédure.

2.7 Composantes principales


À chaque axe est associée une variable appelée composante principale. La composante c1 est le
vecteur renfermant les cordonnées des projections des individus sur l’axe ∆1 . La composante c2 est
le vecteur renfermant les cordonnées des projections des individus sur l’axe ∆2 . Pour obtenir ces
coordonnées, on écrit que chaque composante principale est une combinaison linéaire des variables
initiales. Par exemple:
c 1 = a1 x 1 + a2 x 2 + . . . + ap x p
La variance d’une composante principale est égale à l’inertie
 j 
(valeur propre) portée par l’axe principal
c1
 . 
qui lui est associé. La jème composante principale c =  .. 
j 
 fournit les coordonnées des n individus
j
cn
sur le jème axe principal. Si on désire une représentation plane des individus, la meilleure sera celle
réalisée grâce aux deux premières composantes principales.

2.8 Contributions des axes à l’inertie totale


IG = I∆∗1 + I∆∗2 + . . . + I∆∗p = λ1 + λ2 + . . . + λp
La contribution absolue de l’axe ∆k à l’inertie totale du nuage des individus est égale à :

ca (∆k /IG ) = λk

16
CHAPTER 2. ACP CANONIQUE: ACPC

Sa contribution relative est égale à :


λk
cr (∆k /IG ) =
λ1 + λ2 + . . . + λp
On emploie souvent l’expression “ pourcentage d’inertie expliquée par ∆k ” On peut étendre ces
définitions à tous les sous-espaces engendrés par les nouveaux axes. Ainsi, le pourcentage d’inertie
expliqué par le plan engendré par les deux premiers axes ∆1 et ∆2 est égal à :
λ1 + λ2
cr (∆1 ⊕ ∆2 /IG ) =
λ1 + λ2 + . . . + λp
Ces pourcentages d’inertie sont des indicateurs qui rendent compte de la part de variabilité du nuage
des individus expliquée par ces sous-espaces. Si les dernières valeurs propres ont des valeurs faibles,
on pourra négliger la variabilité qu’expliquent les axes correspondants. On se contente souvent de
faire des représentations du nuage des individus dans un sous-espace engendré par les d premiers
axes si ce sous-espace explique un pourcentage d’inertie proche de 1. On peut ainsi réduire l’analyse
à un sous-espace de dimension d < p.

Exemple: Mesure de la tension artérielle diastolique, systolique et du


taux de cholestérol de 6 patients.
On peut vérifier que la somme des inerties (valeurs propres) associées aux différents axes est bien égale
à l’inertie totale :Σλi = ΣI∆∗i = 533.474 L’axe ∆1 seul porte 87.67%de l’inertie totale(0.8767 > 0.75
qui est proche de 1), ce qui suggère de conserver le premier ou les 2 premiers axes dans l’analyse.

2.9 Représentation des variables


La corrélation entre une variable et une composante principale (PC) est utilisée comme coordonnées
de la variable sur la composante principale. La représentation des variables diffère de celle des obser-
vations: les observations sont représentées par leurs projections, mais les variables sont représentées
par leurs corrélations.

Figure 2.2: Cercle des corrélations

Sur le graphique du cercle des corrélations, on peut aussi interpréter les positions des anciennes
variables les unes par rapport aux autres en termes de corrélations. Deux points très proches du

17
CHAPTER 2. ACP CANONIQUE: ACPC

cercle des corrélations, donc bien représentées dans le plan, seront très corrélées positivement entre
elles. Si elles sont proches du cercle, mais dans des positions symétriques par rapport à l’origine,
elles seront très corrélées négativement. Deux variables proches du cercle des corrélations et dont
les vecteurs qui les joignent à l’origine forment un angle droit, ne seront pas corrélées entre elles.
Il faut, pour interpréter correctement ces graphiques des cercles de corrélation, se souvenir qu’un
coefficient de corrélation est une mesure de liaison linéaire entre deux variables, et qu’il peut arriver
que deux variables très fortement liées aient un coefficient de corrélation nul ou très faible, si leur
liaison n’est pas linéaire. La distance entre les variables et l’origine mesure la qualité de représen-
tation des variables. Une variable sera bien représentée sur un plan si elle est proche du bord du
cercle des corrélations, car cela signifie que le cosinus de l’angle du vecteur joignant l’origine au point
représentant la variable avec le plan est, en valeur absolue, proche de 1.

18
CHAPTER 3
ACP NORMÉE : ACPN

Dans les paragraphes précédents, nous avons étudié l’ACP simple, pour laquelle, non seulement tous
les individus ont le même poids dans l’analyse, mais aussi, toutes les variables sont traitées de façon
symétrique (on leur fait jouer le même rôle) et les nouveaux axes sont issus de la matrice de covariance
empirique des variables. Cela pose parfois des problèmes. Le premier reproche fait par des praticiens
est que, si les anciennes variables sont hétérogènes, comme par exemple des poids, des tailles et des
âges, quel sens peut-on donner aux composantes principales qui sont alors des combinaisons linéaires
de variables hétéroclites ? Le deuxième reproche, est que, si on change d’unités sur ces variables, on
peut changer complètement les résultats de l’ACP. Le dernier reproche vient du fait qu’une variable
contribuera d’autant plus à la confection des premiers axes, que sa variance est forte. Pour échapper
à tous ces problèmes, on cherchera à normaliser les variables et à travailler sur des variables sans
dimension. Il y a plusieurs façons de normaliser les variables, mais la plus couramment utilisée est
celle qui consiste à diviser les valeurs des variables par leur écart-type, c’est-à-dire que l’on travaille
sur des variables centrées et réduites. Cela revient à faire la même analyse que pour l’ACP simple,
mais à choisir une autre distance euclidienne entre les individus que la distance euclidienne classique.
La distance choisie est alors : p
1
d2 (ui , ui′ ) = (xij − xi′ j )2
X
2
σ
j=1 j

Cette nouvelle distance ne traite plus les variables de façon symétrique, mais elle permet de faire
jouer un rôle plus équitable à chacune d’entre elles. Si on reprend tous les calculs de l’ACP simple,
mais en remplaçant les variables de départ par les variables centrées réduites, on voit que ce n’est
plus la matrice de covariance, mais la matrice de corrélation R qui intervient pour la recherche des
nouveaux axes. Les particularités de l’ACP normée par rapport à l’ACP simple proviennent du fait
que la matrice de corrélation R n’a que des 1 sur sa diagonale principale. Cela entraîne que sa trace
est toujours égale à p. On a vu que la trace de la matrice est égale à l’inertie totale du nuage calculée
avec la distance euclidienne que l’on a choisie. L’inertie totale du nuage des individus dans Rp est
donc toujours égale à p dans toute ACP normée. Cette particularité donne une règle supplémentaire
pour choisir le nombre d’axes que l’on va garder pour les interprétations, fondée sur le raisonnement
suivant : on a p valeurs propres dont la somme vaut p (puisque l’on a vu que l’inertie totale est aussi
égale à la somme des valeurs propres) ; on peut ne considérer comme significatives que les valeurs
propres dont la valeur est supérieure à 1, puisque la valeur moyenne des valeurs propres vaut 1 et
leur somme vaut p. C’est bien sûr une règle empirique mais qui peut servir de guide pour le choix
de la dimension du sous-espace que l’on veut garder.

19
CHAPTER 3. ACP NORMÉE : ACPN

Exemple: Mesure de la tension artérielle diastolique, systolique et du


taux de cholestérol de 6 patients.

vcr1 vcr2 vcr3


1.5 0.48 0.78
 
ucr1
 
 
−1.5
ucr2  −2.16 0.52 
 

 
 
ucr3  0.0 0.24 1.04 
 

Xcr =
 
 
 
−0.5
ucr4  0.72 0.26 

 
 
 1.0 0.00
 
ucr5  −0.78

 
 
ucr6 −0.5 0.72 −1.83

Le nuage des n = 6 individus est


compris dans un sous-espace de
dimension 3

20
CHAPTER 4
ACP DANS R :

Dans le Plot 1A ci-dessous, les données sont représentées dans le système de coordonnées X-Y. L’ACP
suppose que les directions avec les plus grandes variances sont les plus “importantes” (i.e., princi-
pales). Dans la figure ci-dessous, l’axe P C1 est le premier axe principal le long duquel les échantillons
présentent la plus grande variation. L’axe P C2 est la seconde direction la plus importante et orthog-
onal à l’axe P C1.

Les dimensions de notre jeu de données peuvent être réduites à une seule dimension en projetant
chaque échantillon sur le premier axe principal (Plot 1B)

Notons que l’ACP est particulièrement utile lorsque les variables, dans le jeu de données, sont
fortement corrélées. La corrélation indique qu’il existe une redondance dans les données.

21
CHAPTER 4. ACP DANS R :

En résumé, l’analyse en composantes principales permet en premier lieu, d’identifier des “profils
cachés” dans un jeu de données, de réduire les dimensions des données en enlevant la redondance des
données, et d’identifier les variables corrélées.

4.1 ACP avec R


Dans cette partie, nous allons découvrir l’ACP avec R.

4.1.1 Packages R
Plusieurs fonctions, de différents packages, sont disponibles dans le logiciel R pour le calcul de l’ACP:

• prcomp() et princomp() [fonction de base, package stats],

• PCA() [package FactoMineR],

• [Link]() [package ade4],

• et epPCA() [package ExPosition].

Ici, nous utiliserons les deux packages FactoMineR (pour l’analyse) et factoextra (pour la visualisa-
tion, des données, basée sur ggplot2).

[Link](c("FactoMineR", "factoextra"))
library("FactoMineR")
library("factoextra")

Exemple démonstratif
Nous utiliserons les jeux de données de démonstration decathlon2 du package factoextra:

data(decathlon2)
# head(decathlon2)

22
CHAPTER 4. ACP DANS R :

Comme l’illustre la figure 3.1, les données utilisées ici décrivent la performance des athlètes lors de
deux évènements sportifs (Decastar et OlympicG). Elles contiennent 27 individus (athlètes) décrits
par 13 variables.

Notons que seulement certains de ces individus et variables seront utilisés pour effectuer l’analyse
en composantes principales. Les coordonnées des individus et des variables restants seront prédites
après l’ACP.
Selon la terminologie ACP, nos données contiennent des:

• Individus actifs (en bleu clair, lignes 1:23): individus qui sont utilisés lors de l’analyse en
composantes principales.
• Individus supplémentaires (en bleu foncé, lignes 24:27): les coordonnées de ces individus seront
prédites en utilisant l’information et les paramètres de l’ACP obtenue avec les individus/vari-
ables actifs.
• Variables actives (en rose, colonnes 1:10): variables utilisées pour l’ACP.
• Variables supplémentaires: comme les individus supplémentaires, les coordonnées de ces vari-
ables seront également prédites. On distingue des:
– Variables quantitatives supplémentaires (rouge): les colonnes 11 et 12 correspondent re-
spectivement au rang et aux points des athlètes.
– Variables qualitatives supplémentaires (vert): Colonne 13 correspondant aux deux ren-
contres sportives (Jeux olympiques de 2004 ou Décastar 2004). Il s’agit d’une variable
catégorielle. Elle peut être utilisée pour colorer les individus par groupes.

23
CHAPTER 4. ACP DANS R :

Nous commençons par extraire les individus actifs et les variables actives pour l’ACP:

[Link] <- decathlon2[1:23, 1:10]


head([Link][, 1:6], 4)

4.1.2 Standardisation des données


Dans l’analyse en composantes principales, les variables sont souvent normalisées. Ceci est par-
ticulièrement recommandé lorsque les variables sont mesurées dans différentes unités (par exemple:
kilogrammes, kilomètres, centimètres, . . . ); sinon, le résultat de l’ACP obtenue sera fortement affecté.

L’objectif est de rendre les variables comparables. Généralement, les variables sont normalisées
de manière à ce qu’elles aient au final un écart type égal à un et une moyenne égale à zéro (ACPN).

La fonction scale() peut être utilisée pour normaliser les données.

Remarque
Notons que, par défaut, la fonction P CA() [dans FactoMineR], normalise les données automatique-
ment pendant l’ACP; donc, on n’a pas besoin de faire cette transformation avant l’ACP.

4.1.3 Code R
Fonction R: PCA() [FactoMineR].
Format simplifié:

PCA(X, [Link] = TRUE, ncp = 5, graph = TRUE)

• X: jeu de données de type data frame. Les lignes sont des individus et les colonnes sont des
variables numériques

• [Link]: une valeur logique. Si TRUE, les données sont standardisées/normalisées avant
l’analyse.

• ncp: nombre de dimensions conservées dans les résultats finaux.

• graph: une valeur logique. Si TRUE un graphique est affiché.

Calculer l’ACP sur les individus/variables actifs:

library("FactoMineR")
[Link] <- PCA([Link], graph = FALSE)

24
CHAPTER 4. ACP DANS R :

Le résultat de la fonction PCA() est une liste, contenant les éléments suivants:

print([Link])

4.1.4 Visualisation et interprétation


Les fonctions suivantes, de factoextra, seront utilisées:

• get_eigenvalue([Link]): Extraction des valeurs propres / variances des composantes princi-


pales

• fviz_eig([Link]): Visualisation des valeurs propres.

• get_pca_ind([Link]), get_pca_var([Link]): Extraction des résultats pour les individus et les


variables, respectivement.

• fviz_pca_ind([Link]), fviz_pca_var([Link]): visualisez les résultats des individus et des vari-


ables, respectivement.

• fviz_pca_biplot([Link]): Création d’un biplot des individus et des variables.

Dans les sections suivantes, nous allons illustrer chacune de ces fonctions.

4.1.5 Valeurs propres / Variances


Comme décrit dans les sections précédentes, les valeurs propres (eigenvalues en anglais) mesurent la
quantité de variance expliquée par chaque axe principal.

Nous examinons les valeurs propres pour déterminer le nombre de composantes principales à
prendre en considération. Les valeurs propres et la proportion de variances (i.e. information) retenues
par les composantes principales peuvent être extraites à l’aide de la fonction

25
CHAPTER 4. ACP DANS R :

library("factoextra")
[Link] <- get_eigenvalue([Link])
[Link]

La somme de toutes les valeurs propres donne une variance totale de 10.
La proportion de variance expliquée par chaque valeur propre est donnée dans la deuxième colonne.
Par exemple, 4.124 divisé par 10 est égal à 0.4124, ou, environ 41.24 % de la variation est expliquée
par cette première valeur propre. Le pourcentage cumulé expliqué est obtenu en ajoutant les propor-
tions successives de variances expliquées. Par exemple, 41.242 % plus 18.385 % sont égaux à 59.627
%, et ainsi de suite. Par conséquent, environ 59.627 % de la variance totale est expliquée par les
deux premières valeurs propres.

Les valeurs propres peuvent être utilisées pour déterminer le nombre d’axes principaux à conserver
après l’ACP (Kaiser 1961):

• Une valeur propre > 1 indique que la composante principale (PC) concernée représente plus
de variance par rapport à une seule variable d’origine, lorsque les données sont standardisées.
Ceci est généralement utilisé comme seuil à partir duquel les PC sont conservés. A noter que
cela ne s’applique que lorsque les données sont normalisées.

Dans notre analyse, les trois premières composantes principales expliquent 72 % de la variation.
C’est un pourcentage acceptable.

Une autre méthode pour déterminer le nombre de composantes principales est de regarder le
graphique des valeurs propres (appelé scree plot). Le nombre d’axes est déterminé par le point, au-
delà duquel les valeurs propres restantes sont toutes relativement petites et de tailles comparables.
Le graphique des valeurs propres peut être généré à l’aide de la fonction.

fviz_eig([Link], addlabels = TRUE, ylim = c(0, 50))

26
CHAPTER 4. ACP DANS R :

Du graphique ci-dessus, nous pourrions vouloir nous arrêter à la cinquième composante principale.
87 % des informations (variances) contenues dans les données sont conservées par les cinq premières
composantes principales.

4.1.6 Graphique des variables


Une méthode simple pour extraire les résultats, pour les variables, à partir de l’ACP est d’utiliser
la fonction get_pca_var() [package factoextra]. Cette fonction retourne une liste d’éléments con-
tenant tous les résultats pour les variables actives (coordonnées, corrélation entre variables et les
axes, cosinus-carré et contributions).

var <- get_pca_var([Link])


var

Les composants de get_pca_var() peuvent être utilisés dans le graphique des variables comme
suit:
• coord: coordonnées des variables pour créer un nuage de points.
• var $ cos2: cosinus carré des variables. Représente la qualité de représentation des variables
sur le graphique de l’ACP. Il est calculé comme étant les coordonnées au carré: var.cos2 =
[Link] * [Link].
• var $ contrib: contient les contributions (en pourcentage), des variables, aux composantes
principales. La contribution d’une variable (var) à une composante principale donnée: (var.cos2
* 100) / (total cos2 du composant).

27
CHAPTER 4. ACP DANS R :

Les différents éléments peuvent être consultés comme suit:

# Coordonnées
head(var$coord)
# Cos2: qualité de répresentation
head(var$cos2)
# Contributions aux composantes principales
head(var$contrib)

4.1.7 Cercle de corrélation


# Coordonnées des variables
head(var$coord, 4)

Pour visualiser les variables, on utilise:

fviz_pca_var([Link], [Link] = "black")

Le cercle de corrélation des variables ci-dessus montre les relations entre toutes les variables. Il
peut être interprété comme suit:

28
CHAPTER 4. ACP DANS R :

• Les variables positivement corrélées sont regroupées.

• Les variables négativement corrélées sont positionnées sur les côtés opposés de l’origine du
graphique (quadrants opposés).

• La distance entre les variables et l’origine mesure la qualité de représentation des variables.
Les variables qui sont loin de l’origine sont bien représentées par l’ACP.

4.1.8 Qualité de représentation


La qualité de représentation des variables sur la carte de l’ACP s’appelle cos2 (cosinus carré) .
head(var$cos2, 4)

On peut visualiser le cos2 des variables sur toutes les dimensions en utilisant:
library("corrplot")
corrplot(var$cos2, [Link]=FALSE)

Il est également possible de créer un bar plot du cosinus carré des variables en utilisant la fonction:
# Cos2 total des variables sur Dim.1 et Dim.2
fviz_cos2([Link], choice = "var", axes = 1:2)

29
CHAPTER 4. ACP DANS R :

• Un cos2 élevé indique une bonne représentation de la variable sur les axes principaux en con-
sidération. Dans ce cas, la variable est positionnée à proximité de la circonférence du cercle de
corrélation.

• Un faible cos2 indique que la variable n’est pas parfaitement représentée par les axes principaux.
Dans ce cas, la variable est proche du centre du cercle. Pour une variable donnée, la somme
des cos2 sur toutes les composantes principales est égale à 1.

Si une variable est parfaitement représentée par seulement deux composantes principales (Dim.1 et
Dim.2), la somme des cos2 sur ces deux axes est égale à 1. Dans ce cas, les variables seront position-
nées sur le cercle de corrélation.

Pour certaines des variables, plus de 2 axes peuvent être nécessaires pour représenter parfaitement
les données. Dans ce cas, les variables sont positionnées à l’intérieur du cercle de corrélation.

En résumé:

• Les valeurs de cos2 sont utilisées pour estimer la qualité de la représentation

• Plus une variable est proche du cercle de corrélation, meilleure est sa représentation sur la
carte de l’ACP (et elle est plus importante pour interpréter les composantes principales en
considération)

• Les variables qui sont proche du centre du graphique sont moins importantes pour les premières
composantes.

4.1.9 Contributions des variables aux axes principaux


Les contributions des variables dans la définition d’un axe principal donné, sont exprimées en pour-
centage.

• Les variables corrélées avec PC1 (i.e., Dim.1) et PC2 (i.e., Dim.2) sont les plus importantes
pour expliquer la variabilité dans le jeu de données.

30
CHAPTER 4. ACP DANS R :

• Les variables qui ne sont pas en corrélation avec un axe ou qui sont corrélées avec les derniers
axes sont des variables à faible apport et peuvent être supprimées pour simplifier l’analyse
globale.
La contribution des variables peut être extraite comme suit:
head(var$contrib, 4)

La fonction fviz_contrib() [package factoextra] peut être utilisée pour créer un bar plot de la con-
tribution des variables. Le code R ci-dessous montre le top 10 des variables contribuant le plus aux
composantes principales:
# Contributions des variables à PC1
fviz_contrib([Link], choice = "var", axes = 1, top = 10)
# Contributions des variables à PC2
fviz_contrib([Link], choice = "var", axes = 2, top = 10)

La contribution totale à P C1 et P C2 est obtenue avec le code R suivant:


fviz_contrib([Link], choice = "var", axes = 1:2, top = 10)
La ligne en pointillé rouge, sur le graphique ci-dessus, indique la contribution moyenne attendue. Si
la contribution des variables était uniforme, la valeur attendue serait 1/length(variables) = 1/10 =
10 %. Pour une composante donnée, une variable avec une contribution supérieure à ce seuil pourrait
être considérée comme importante pour contribuer à la composante.
On peut voir que les variables - X100m, [Link] et [Link] - contribuent le plus aux dimensions
1 et 2.
Les variables les plus importantes (ou, contributives) peuvent être mises en évidence sur le graphe
de corrélation comme suit:
fviz_pca_var([Link], [Link] = "contrib",
[Link] = c("#00AFBB", "#E7B800", "#FC4E07")
)

31
CHAPTER 4. ACP DANS R :

4.1.10 Description des dimensions


Dans les sections précédentes, nous avons décrit comment mettre en évidence les variables en fonction
de leurs contributions aux composantes principales.
La fonction dimdesc() [dans FactoMineR], pour dimension description (en anglais), peut être utilisée
pour identifier les variables les plus significativement associées avec une composante principale donnée
. Elle peut être utilisée comme suit:

[Link] <- dimdesc([Link], axes = c(1,2), proba = 0.05)


# Description de la dimension 1
[Link]$Dim.1

# Description de la dimension 2
[Link]$Dim.2

32
CHAPTER 4. ACP DANS R :

Dans le résultat ci-dessus, $quanti représente les résultats pour les variables quantitatives. Notez
que les variables sont triées en fonction de la p-value de la corrélation.

4.1.11 Graphique des individus


Les résultats, pour les individus, peuvent être extraits à l’aide de la fonction get_pca_ind() [pack-
age factoextra]. Comme get_pca_var(), la fonction get_pca_ind() retourne une liste de matrices
contenant tous les résultats pour les individus (coordonnées, corrélation entre individus et axes,
cosinus-carré et contributions).

ind <- get_pca_ind([Link])


ind

Pour accéder aux différents éléments:


# Coordonnées des individus
head(ind \$ coord)
# Qualité des individus
head(ind \$ cos2)
# Contributions des individus
head(ind \$ contrib)

4.2 Les applications de l’ACP


L’analyse en composantes principales (ACP) est l’un des algorithmes les plus fondamentaux pour la
réduction de dimension et constitue la pierre angulaire de l’apprentissage automatique.
Certaines des applications de l’analyse en composantes principales (ACP) sont:
• Analyse de covariance déclenchée par des pics en neurosciences

• Finance quantitative

• Compression d’images

• La reconnaissance faciale

• D’autres applications comme la corrélation des données médicales

33
CHAPTER 4. ACP DANS R :

4.2.1 Neurosciences:
Une technique connue sous le nom d’analyse de covariance déclenchée par des pics utilise une variante
de l’analyse des composantes principales en neurosciences pour identifier les propriétés spécifiques
d’un stimulus qui augmentent la probabilité qu’un neurone génère un potentiel d’action. L’ACP est
également utilisée pour trouver l’identité d’un neurone à partir de la forme de son potentiel d’action.
L’ACP en tant que technique de réduction de dimension est utilisée pour détecter les activités co-
ordonnées de grands ensembles neuronaux. Il a été utilisé pour déterminer des variables collectives,
c’est-à-dire des paramètres d’ordre, lors des transitions de phase dans le cerveau.

4.2.2 Finance quantitative


L’ACP est une méthodologie pour réduire la dimensionnalité d’un problème complexe. Supposons
qu’un gestionnaire de fonds ait 200 actions dans son portefeuille. Pour analyser quantitativement
ces stocks, un gestionnaire de stocks aura besoin d’une matrice co-relationnelle de la taille 200 * 200,
ce qui rend le problème très complexe.
Cependant, s’il devait extraire 10 composantes principales qui représentent le mieux la variance des
actions, cela réduirait la complexité du problème tout en expliquant le mouvement de l’ensemble des
200 actions. Certaines autres applications de l’ACP comprennent :
Analyse de la forme de la courbe des taux Couverture de portefeuilles obligataires Mise en place
de modèles de taux d’intérêt Prévision des rendements du portefeuille Développement d’algorithmes
d’allocation d’actifs Développement d’algorithmes de trading d’actions long short.

4.2.3 La reconnaissance faciale


L’utilisation d’EigenFaces pour la reconnaissance des visages est une technique essentielle de la vi-
sion par ordinateur. Sirovich et Kirby (1987) ont montré que l’ACP pouvait être utilisée sur une
collection d’images de visages pour former un ensemble de caractéristiques de base.
L’ACP est au cœur de l’approche EigenFaces car l’ensemble des EigenFaces est généré à l’aide de
l’ACP.
L’approche Eigenface réduit la complexité statistique dans la représentation de l’image du visage.
D’autres chercheurs ont augmenté la précision de la reconnaissance faciale en utilisant une combi-
naison d’ondelettes, de PCA et de réseaux de neurones.

4.2.4 Autres applications de l’ACP


L’ACP a également été utilisé dans divers autres domaines. L’ACP a été utilisé sur les données
médicales pour montrer la corrélation du cholestérol avec les lipoprotéines de basse densité.
De plus, cette méthode a été utilisée sur des données HVSR (rapport spectral horizontal sur vertical)
visant à la caractérisation sismique des zones sujettes aux tremblements de terre.
L’ACP a été utilisé dans la détection et la visualisation des attaques de réseaux informatiques ainsi
que la détection d’anomalies.

34
CHAPTER 5
COMPRESSION D’IMAGES DANS R:

Nous allons reconstruire une image en utilisant des quantités croissantes de composantes principales.
Nous verrons que plus le nombre de composantes principales augmente, plus la reconstruction devient
représentative de l’image originale. Combien de P C suffisent pour compresser l’image tout en gardant
une bonne qualité ?

# Load libraries
library(tidyverse)
library(jpeg)
library(factoextra)
library(knitr)
# Data points
x <- c(2.5, 0.5, 2.2, 1.9, 3.1, 2.3, 2, 1, 1.5, 1.1)
y <- c(2.4, 0.7, 2.9, 2.2, 3, 2.7, 1.6, 1.1, 1.6, 0.9)

# Data frame
data <- [Link](x, y)

# Scatter plot
data %>%
ggplot(aes(x,y)) +
geom_point(size=2, shape=3, color="blue") +
theme_bw() +
labs(title="Original data points")
# Structure
str(data)
# Eigenvectors and eigenvalues calculation
eigen <- eigen([Link](c(0.616555556, 0.615444444),
c(0.615444444, 0.716555556)))

# Eigenvectors
eigen$vectors
# Eigenvalues
eigen$values
# Points with the mean substracted

35
CHAPTER 5. COMPRESSION D’IMAGES DANS R:

xMeanSubstracted <- x - mean(x)


yMeanSubstracted <- y - mean(y)
data2 <- [Link](xMeanSubstracted, xMeanSubstracted)

# Eigenvectors functions
fun.1 <- function(x) (0.7351787/0.6778734)*x
fun.2 <- function(x) (0.6778734/-0.7351787)*x

# Scatter plot with the eigenvectors overlayed


data2 %>%
ggplot(aes(xMeanSubstracted, yMeanSubstracted)) +
geom_point(size=2, shape=3, color="blue") +
stat_function(fun=fun.1, linetype="dashed") +
stat_function(fun=fun.2, linetype="dashed") +
theme_bw() +
xlim(-1.5, 1.5) +
labs(title="Mean adjusted data with eigenvectors overlayed",
x="x", y="y") +
annotate("text", x=c(-1.1, 0.9), y=c(1.5, 1.5),
label=c("Second Component", "First Component"))
# Principal Component Analysis
pca <- prcomp(data, center=TRUE)

fviz_eig(pca)

# Cumulative proportion
summary(pca)
# Data expressed in terms of our 2 eigenvectors
dataNewAxes <- [Link](t(t(eigen$vectors) %*% rbind(x - mean(x), y - mean(y))))
names(dataNewAxes) <- c("x", "y")

# New data set


dataNewAxes
# Visualization
dataNewAxes %>%
ggplot(aes(x, y)) +
geom_point(size=2, shape=3, color="blue") +
theme_bw() +
labs(title="Data expressed in terms of our 2 eigenvectors",
x="First Component", y="Second Component")
# Reconstructed data using only the first principal component
[Link](t(t(pca$x[, 1] %*% t(pca$rotation[, 1])) + pca$center)) %>%
ggplot(aes(x, y)) +
geom_point(size=2, shape=3, color="blue") +
theme_bw() +
labs(title="Original data restored using only a single eigenvector")
# Read image
image <- readJPEG("../input/image-compression/[Link]")

36
CHAPTER 5. COMPRESSION D’IMAGES DANS R:

# Structure
str(image)
# RGB color matrices
rimage <- image[,,1]
gimage <- image[,,2]
bimage <- image[,,3]
# PCA for each color scheme
pcar <- prcomp(rimage, center=FALSE)
pcag <- prcomp(gimage, center=FALSE)
pcab <- prcomp(bimage, center=FALSE)

# PCA objects into a list


pcaimage <- list(pcar, pcag, pcab)
# Data frame for easier plotting
df <- [Link](scheme=rep(c("R", "G", "B"), each=nrow(image)),
index=rep(1:nrow(image), 3),
var=c(pcar$sdev^2,
pcag$sdev^2,
pcab$sdev^2))

# Reorder of factors
df$scheme <- factor(df$scheme, levels(df$scheme)[c(3,2,1)])

# Scree plot
df %>%
group_by(scheme) %>%
mutate(propvar=100*var/sum(var)) %>%
ungroup() %>%
ggplot(aes(x=index, y=propvar, fill=scheme)) +
geom_bar(stat="identity") +
geom_line() +
labs(title="Scree plot", x="Principal Component",
y="% of Variance") +
scale_x_continuous(limits=c(0, 20)) +
facet_wrap(~scheme) +
theme_bw() +
theme([Link]=element_blank(),
[Link]="bottom")
# PCs values
pcnum <- c(2, 30, 200, 300)

# Reconstruct the image four times


for(i in pcnum){
[Link] <- sapply(pcaimage, function(j){
[Link] <- j$x[, 1:i] %*% t(j$rotation[, 1:i])
}, simplify=’array’)
writeJPEG([Link], paste("C:/Users/xviva/Desktop/Xavier/Formacion/Trabajos Kaggle/
image compress/Image reconstruction with",
round(i, 0), "principal [Link]"))}

37
CHAPTER 5. COMPRESSION D’IMAGES DANS R:

Figure 5.1: Reconstruction d’image à l’aide Figure 5.2: Reconstruction d’image à l’aide
de 2 composantes principales de 30 composantes principales

Figure 5.3: Reconstruction d’image à l’aide Figure 5.4: Reconstruction d’image à l’aide
de 200 composantes principales de 300 composantes principales

Figure 5.5: L’image originale

38
CHAPTER 6
CONCLUSION:

Si vous avez déjà travaillé avec des jeux de données contenant beaucoup de variables, vous savez que
cela peut présenter des problèmes. Comprenez-vous toutes vos variables et les relations entre-elles ?
Avez-vous tellement de variables que vous risquez de surcharger ou sur-apprendre votre modèle ?

Pour éviter tout cela, les Data Scientists ont recours généralement à l’ACP ou l’Analyse en
Composantes Principales. C’est une méthode de réduction de la dimensionnalité qui améliore la
performance des algorithmes de Machine Learning car elle élimine les variables corrélées qui ne con-
tribuent à aucune prise de décision.
L’analyse en composantes principales (ACP) est un outil extrêmement puissant de compression et de
synthèse de l’information, très utile lorsque l’on est en présence d’une somme importante de données
quantitatives à traiter et interpréter.
L’ACP est donc une méthode de réduction de la dimensionnalité qui permet non seulement d’éviter
le sur-apprentissage, mais aussi de simplifier les données et de gagner en matière de temps et de
puissance de calcul.
Finalement on remercie [Link] de nous avoir donner la chance de traiter ce sujet intéres-
sant et de nous avoir mettre en évidence devant ce thème exclusif.

39
ANNEXE A : RÉFÉRENCES

Abdi, Hervé, and Lynne J. Williams. 2010. “Principal Component Analysis.” John Wiley and Sons,
[Link] Comp Stat

Aluja Banet T., Lebart L. (1984) - Local and partial principal component analysis and
correspondence analysis. In: COMPSTAT, Proceedings in Computational Statistics, Physiea Verlag

[Link], [Link], [Link], [Link] élément d’analyses de données.

Husson, Francois, Sebastien Le, and Jérôme Pagès. 2017. Exploratory Multivariate Analysis by
Example Using R. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC.

Jollife, I.T. 2002. Principal Component Analysis. 2nd ed.

J. Pages, B. Escofier Introduction à l’analyse en composantes principales à partir de l’étude d’un


tableau de notes.

Kassambara, Alboukadel, and Fabian Mundt. 2017. Factoextra: Extract and Visualize the Results
of Multivariate Data Analyses.

Lebart L., Morineau A., Piron M. Statistique Exploratoire Multidimensionnelle.

Mark Richardson, "Principal Component Analysis", lecture note on May 2009

40
ANNEXE B :DÉFINITIONS ET RAPPELS

6.1 Notions de base:


Population : ensemble des individus à étudier.

Individu : appartenant à la population.

Echantillon : partie de la population (n individus) sur laquelle est effectuée l’étude

Variable : caractéristique des individus, définie sur la population.

• Variable quantitative : qui prend des valeurs réelles et peut être :


- discrète (exemple : âge, nombre d’enfants)
- continue (exemple : taille, température)
• Variable qualitative : qui peut être :
- nominale (exemple : couleur [jaune, vert, ..], brouillard [dense, de convection, néant]
- ordinale (exemple : type de voiture [aucune, petite, moyenne, grande]).

6.2 Analyse bidimensionnelle:


Liaison entre 2 variables quantitatives:
• Variance : v
u1 X
u i=n
sx = t (x i − x̄)2
n i=1

• Covariance :

1 i=n
= (xi − x̄) (yi − ȳ)
X
sx,y
n i=1
• Corrélation :
sx,y
r(x, y) =
sx sy

41
CHAPTER 6. CONCLUSION:

• Étude de la liaison linéaire : x et y sont:


* corrélées si la corrélation est positive (i.e. pente positive) : 0 << r(x, y) ⩽ 1; ỹ = ax + b avec
a>0
* anti-corrélées si la corrélation est négative (i.e. pente négative) −1 ⩽ r(x, y) << 0; ỹ = −ax + b
avec a > 0
* dé-corrélées (ou non corrélées) si la corrélation est proche de zéro (pas de pente lisible) : aucune
liaison linéaire entre x et y.
• Remarques : * ỹ := y estimée par la droite de régression de y en x

* r(x, y) = r(ye, y) (mais aussi : r(x, y) = r(xe, x) )


* r2 = var(y)
var(ỹ)
= var(x)
var(x̃)
: i.e. pourcentage de variance expliqué.
* la corrélation est considérée nulle si elle est inférieure en valeur absolue à la corrélation seuil définie
par les tables statistiques.

42

Vous aimerez peut-être aussi