Vous êtes sur la page 1sur 33

Fouille de données(Data Mining)

Chapitre 7. Analyse en Composantes Principales (ACP)


Description multidimensionnelle de
données numériques

Dans la plupart des applications, on travaille non pas


avec une seule variable, mais avec un nombre de variable
souvent élevé.
L’étude séparée de chacune de ces variables n’est pas
suffisante.
->Il faut donc analyser les données en tenant compte de leur
caractère multidimensionnel
Présentation générale de l'ACP
L'étude séparée de chacune de ces variables donne
quelques informations mais est insuffisante car elle laisse de côté
les liaisons entre elles, ce qui est pourtant souvent ce que l'on
veut étudier.
C'est le rôle de la statistique multifactorielle, que
d'analyser les données dans leur ensemble, en prenant en
compte toutes les variables.
L'Analyse en Composantes Principales est alors une bonne
méthode pour étudier les données multidimensionnelles, lorsque
toutes les variables observées sont de type numérique, de
préférence dans les mêmes unités, et que l'on veut voir s’il y a
des liens entre ces variables.
Le principe d’ACP
La mise en oeuvre mathématique de l'ACP peut être divisée
en 6 étapes principales :
• 1. Préparer les données pour le traitement
• 2. Calculer la matrice des coefficients de corrélations des
variables
• 3. Extraire les valeurs et vecteurs propres de cette matrice
• 4. Classer les vecteurs propres dans l'ordre décroissant des
valeurs propres associées
• 5. Calculer la matrice des composantes principales
Le principe d’ACP -

Préparer les données pour le traitement


Les observations de p variables sur n individus sont rassemblées
dans uns matrice X à n lignes et p colonnes.
Le principe d’ACP
• Le problème est que si on analyse directement la matrice X, les
résultats seraient faussés par les valeurs relatives des variables
(Par exemple si les valeurs ont été mesurées dans des unités
différentes). Préparer les données pour le traitement consiste
donc à transformer le tableau de données pour réduire ces
effets.

• On peut alors travailler sur une version centrée-réduite Xcr de


la matrice X.

• Pour centrer la matrice X, on soustrait à chacune des valeurs la


moyenne de sa variable.
Pour réduire la matrice centrée, on divise chacune des valeurs
par l'écart-type de sa variable.
Le principe d’ACP

• Matrice des composantes principales


La matrice appelée matrice des composantes principales
est celle qui contient les coordonnées des individus dans
l'espace formé par les composantes principales.
Soit CP la matrice des composantes principales. On a alors :
CP = Xrc . u

7
Construire un nouveau système de représentation
(composantes principales, axes factoriels, facteurs : combinaisons linéaires des variables
originelles)
qui permet synthétiser l’information
Analyser un tableau de données – Variables toutes Variables « actives »
quantitatives quantitatives c.-à-d. seront
j : 1.., p utilisées pour la construction
des facteurs
Modele CYL PUISS LONG LARG POIDS V.MAX
Alfasud TI 1350 79 393 161 870 165
Les données « autos » Audi 100 1588 85 468 177 1110 160
Simca 1300 1294 68 424 168 1050 152
(Saporta, 2006 ; page Citroen GS Club 1222 59 412 161 930 151
Fiat 132 1585 98 439 164 1105 165
428) Lancia Beta 1297 82 429 169 1080 160
Peugeot 504 1796 79 449 169 1160 154
Renault 16 TL 1565 55 424 163 1010 140

i : 1.., n
Renault 30
Toyota Corolla
2664
1166
128
55 xij 452
399
173
157
1320
815
180
140

Individus Alfetta 1.66 1570 109 428 162 1060 175


actifs Princess 1800 1798 82 445 172 1160 158
Datsun 200L 1998 115 469 169 1370 160
Taunus 2000 1993 98 438 170 1080 167
Rancho 1442 80 431 166 1129 144
Mazda 9295 1769 83 440 165 1095 165
Opel Rekord 1979 100 459 173 1120 173
Lada 1300 1294 68 404 161 955 140

Questions :
(1) Quelles sont les véhicules qui se ressemblent ? (proximité entre les
individus)
(2) Sur quelles variables sont fondées les ressemblances / dissemblances
(3) Quelles sont les relations entre les variables
Position du problème (1)
Analyse des proximités entre les
individus
Que voit-on dans ce graphique Positionnement des individus (2 variables)
? Les variables CYL et PUISS sont liées.
1.
CYL x PUIS
2. « Opel Reckord » et « Taunus 2000 (Ford) »
ont le Renault 30

même profil (caractéristiques)

120
3. « Renault 30 » et « Toyota Corolla » ont des Datsun 200L

Alfetta 1.66
profils opposés…

100
Opel Rekord
Fiat 132

PUISS
Taunus 2000

Modele CYL PUISS


Audi 100
Toyota Corolla 1166 55 Lancia Beta

80
M
P r n a i c eas9s2198500
z d
Citroen GS Club 1222 59 l sRudnaTcIho Peugeot 504
Afa
Simca 1300 1294 68
Lada 1300 1294 68 SLm
i adcaa11330000

Lancia Beta 1297 82

60
Citroen GS Club
Alfasud TI 1350 79
Toyota Corolla Renault 16 TL
Rancho 1442 80
Renault 16 TL 1565 55 2000 2500 3000
1000 1500
Alfetta 1.66 1570 109 CYL
Fiat 132 1585 98
Audi 100 1588 85
Mazda 9295 1769 83
Peugeot 504 1796 79
Princess 1800 1798 82
Opel Rekord 1979 100 Que faire si on veut prendre en compte (p
Taunus 2000 1993 98 >
Datsun 200L 1998 115
Renault 30 2664 128
2) variables simultanément ?

Tableau trié selon


CYL
Positionnement des individus (p >2)
60 100 160 175 140 170
Impossible de créer un nuage à « p »
dimensions.

1500 2500
CYL On pourrait croiser les variables 2 à 2,
mais
100

PUIS Ce type de représentation n’est utile que pour


S
60

effectuer un diagnostic rapide et repérer les

460
LONG points atypiques.

400
175

LARG
160

1200
POIDS
800
170

V.MAX
140

1500 2500 400 440 800 1200

1
Positionnement des individus – Principe de l’ACP (1) – Notion
d’inertie
Principe : Construire un système de représentation de p
d 2 (i, i') 
x
dimension réduite (q << p) qui préserve les distances Distance euclidienne
xi' j2
entre les individus. On peut la voir comme une entre 2 individus (i,
i’)
 j
1
ij 

compression avec perte (contrôlée) de l’information.

inertie du nuage de points dans l’espace originel. Elle traduit la 1 n n

quantité d’information disponible. Ip  2


2n
 d 2
(i,i')
i1 i'1

1 n 2
Autre écriture de l’inertie : écart par rapport au barycentre G I p   d (i,G)
n i1
(vecteur constitué des moyennes des p variables)

CYL x PUIS

12
0
L’inertie indique la dispersion autour du

10
0
barycentre, c’est une variance PUISS
multidimensionnelle (calculée sur p dimensions) 8 G

0
6
0

1000 1500 2000 2500 3000


CYL
8
Positionnement des individus – Principe de l’ACP (1) – Régression
orthogonale
Habituellement on (a) centre et (b) réduit les variables. On parle 1 n

d’ACP normée. xij  x j


n
x ij
j
zij  x
i1

(a) Pour que G soit situé à l’origine [obligatoire]


 xij  x j2
1 n
s j
s 2j 
n i1
(b) Pour rendre comparables les variables exprimées sur
des échelles (unités) différentes [non obligatoire]

Cas particulier de 2 variables (1) Trouver la première composante F1 qui maximise


c.r. Minimisation l’écartement
(Ip = p =2) global des points par rapport à l’origine :
n
1
F2
CYL x PUIS F 1  F 2  1.796628
1 89.83 ni1 i1
3

10.17
%
% 1 est la part d’inertie expliquée par le 1er
 89.83%
2

Ip axe factoriel (ou 1ère composante)


1
PUISS.CR

(2) Trouver la 2nde composante F2 qui traite l’inertie non-


0

O expliquée (résiduelle) par F1 (par conséquent, F2 est non


corrélée avec F1)
-1

n
1 
-2

  Fi 2   
2 
 10.17% 
n 
 I p 
i1 0.203372
-3

2 2
-3 -2 -1 0 1 2 3
p
CYL.CR
(3) Et bien évidemment
:  k  1.797  0.203  2  I
p k 1
Maximisation Les inerties expliquées s’additionnent. Prendre tous les « p »
facteurs
possibles permet de récupérer toute l’information 9
Préservation des (1) Les proximités entre individus sont préservées si on prend un nombre q de
proximités
composantes suffisamment représentatives (en terme de % d’inertie
dans le repère réduit exprimée)
(2) Si on prend les « p » facteurs, on retrouve les distances dans le repère
Distances dans le repère originel Si on ne tient compte que de la 1ère

originel (variables centrées et composante (1 = 89.83%), les distances

d 2 (1,2)réduites)
 (1.2814  (1.1273))2  (1.4953 
sont approximées. On constate
(1.2933))2 néanmoins que les proximités sont assez
 0.06455 bien respectées (globalement).
d (2,6)  1.14415
2
d 2F (1,2)  (1.9335 1.7117) 2
1
d 2 (1,6)  1.72529
 0.06340
Modele CYL PUISS Modele F1 (89.83%) F2 (10.17%)
d F (2,6)  0.92783
2

1 Toyota Corolla -1.2814 -1.4953 1 Toyota Corolla 1.9635 0.1513 1

2 Citroen GS Club -1.1273 -1.2933 2 Citroen GS Club 1.7117 0.1174 d 2F (1,6)  1.147632
1
3 Simca 1300 -0.9292 -0.8389 3 Simca 1300 1.2502 -0.0639
4 Lada 1300 -0.9292 -0.8389 4 Lada 1300 1.2502 -0.0639
5 Lancia Beta -0.9209 -0.1319 5 Lancia Beta 0.7444 -0.5580
Si on tient compte des 2 composantes,
6 Alfasud TI -0.7751 -0.2834 6 Alfasud TI 0.7484 -0.3477
7 Rancho -0.5219 -0.2329 7 Rancho 0.5337 -0.2044 on retrouve les distances exactes entre
8 Renault 16 TL -0.1835 -1.4953 8 Renault 16 TL 1.1871 0.9276
les individus.
9 Alfetta 1.66 -0.1697 1.2316 9 Alfetta 1.66 -0.7509 -0.9909
10 Fiat 132 -0.1284 0.6761 10 Fiat 132 -0.3873 -0.5689
d 2F1 ,F2 (1,2)  (1.9635 1.7117 ) 2  (0.1513  0.1174)2
11 Audi 100 -0.1202 0.0196 11 Audi 100 0.0711 -0.0989  0.06455
12 Mazda 9295 0.3779 -0.0814 12 Mazda 9295 -0.2097 0.3248
13 Peugeot 504 0.4522 -0.2834 13 Peugeot 504 -0.1194 0.5201 d 2F1,F
2
(2,6)  1.14415
14 Princess 1800 0.4577 -0.1319 14 Princess 1800 -0.2304 0.4169 d 2F1,F
2
(1,6)  1.72529
15 Opel Rekord 0.9558 0.7771 15 Opel Rekord -1.2254 0.1263
16 Taunus 2000 0.9943 0.6761 16 Taunus 2000 -1.1812 0.2250
17 Datsun 200L 1.0081 1.5346 17 Datsun 200L -1.7980 -0.3723 Une des questions clés de l’ACP est de
18 Renault 30 2.8408 2.1911 18 Renault 30 -3.5581 0.4594
définir le nombre de composantes « q
Données centrées et Coordonnées dans le
» à retenir pour obtenir une
réduites repère factoriel approximation suffisamment
satisfaisante !!! 10
Position du problème (2)
Analyse des relations entre les
variables

16
Relations entres variables – Principe de l’ACP (2) – Matrice des
corrélations
Le coefficient de corrélation mesure la liaison
(linéaire)
entre deux variables X et
j m
X

60 100 160 175 140 170

CORR CYL PUISS LONG LARG POIDS V.MAX

1500 2500
CYL
CYL 1 0.797 0.701 0.630 0.789 0.665
PUISS 1 0.641 0.521 0.765 0.844
Matrice des corrélations PUISS

60 100
LONG 1 0.849 0.868 0.476
R

460
LARG 1 0.717 0.473 LONG
sur les données « autos POIDS 1 0.478

400
» V.MAX 1

160 175
LARG

POIDS

800 1200
Elle traduit numériquement ce que l’on peut observer
dans V.MAX

140 170
les graphiques croisés des variables
1500 2500 400 440 800 1200

POIDS CYL PUISS LONG LARG V.MAX


POIDS 1.000 0.789 0.765 0.868 0.717 0.478
CYL 1.000 0.797 0.701 0.630 0.665
On peut essayer de la réorganiser manuellement pour mieux PUISS 1.000 0.641 0.521 0.844
LONG 1.000 0.849 0.476
faire apparaître les « blocs » de variables.
LARG 1.000 0.473
V.MAX 1.000

17
Notion de covariance

 Pour P > 2, on calcule la covariance pour toutes les paires de variables


possibles :
 Matrice C de covariances

 var(X1 ) cov( X 1 , X 2 ) ... cov( X 1 , X j ) ... cov( X 1 , X p )



 cov( X 2 , X 1 ) var(X 2 ) ... cov( X 2 , X j ) cov(

X 2, X p)
 ... 
...

C   co ... ... ... ...
cov( X j , X p )
 ...
... 
 v( X , X ) cov( X , X ) ... var(X j ) ...  
cov( X j , X1 ) cov( X j , X 2) ... cov( X , X 
 ...p 1 ...p 2 ... ...p ...
... var(X p ) 
 Propriétés : j)

 C est une matrice carré de taille p x p


 C est une matrice symétrique
Notion de covariance

 ACP : calculs des CPs basés sur la covariance entre variables


 Qu’est ce que la covariance entre deux variables X1 et X2?
 Indique si à un écart positif de X1 pour un individu i par rapport à la moyenne sur
X1 correspond un écart positif ou négatif de X2 pour ce même individus i par
rapport à la moyenne sur X2

 X X  X
n

i,1  X1 i,2 2
cov( X 1 , X 2 ) 

i 1

n
cov( X 1 , X 1 )  ? 1
 C’est le signe de la covariance qui importe :
 cov(X1, X2) > 0 : X1 augmente quand X2 augmente
 cov(X1, X2) < 0 : X1 augmente quand X2 diminue

 NB : Si X et X sont centrées, alors X1  X 2 


1 2
Notion de corrélation : l’ACP normée

 Corrélation = covariance « standardisée » : réduction


 Comprise entre -1 et 1, la corrélation mesure l’intensité de la liaison
linéaire entre deux variables X1 et X2

cov( X1 , X2 )
( X1 , X 2 )

 ( X1 ) ( X2
)
cov( X1 , X1
( X1 , X1 )
) ( X1 ) ( 1X


)
var(X 1 )
( X1, X1 )
var(X 1 )

 NB : ρ2 = part de la variance partagée entre les 2 variables
Notion de corrélation : ACP normée

 Si l’ACP est basée sur la matrice de covariances, l’ACP normée est


basée elle sur la matrice de corrélations :
 Matrice C de corrélations

 1  ( X 1 , X 2 ) ...  ( X 1 , X ... ( X1 , X p )
  ( X2 , 1 1 ) 2 ( Xj
j ...  ( X2 , X p )

 ,X ) ...  
X ) ... ...
C    ( X...j , X ... 1 
 ( X ,
j j p
... ... ... 
2) ... ...
X ) 1

  ( X..., X )  ( X...p , X ...  ( X p , X ...  ( X1 , X )
 p 1 
 Propriétés2) : ... j ) ...
 C est une matrice carré de taille p x p ...
 C est une matrice symétrique
 C possède une diagonale de 1
ACP non-normée ou ACP normée?

 S’il est recommandé de toujours « centrer » ses donnés en ACP, la


question de les « réduire » (ACP normée) dépend de vos données :
 Si vos données sont toutes dans la même unité de mesure et varient
dans des gammes de valeurs identiques : l’ACP non-normée suffit
 Si vos données sont dans des unités de mesure différentes et varient
dans des gammes de valeurs différentes : l’ACP normée est recommandée
Un cas simple à 2 variables
 Reprenons le cas simple de notre exemple à deux variables X1 et X2 :
 > X1 = c(2.5, 0.5, 2.2, 1.9, 3.1, 2.3, 2, 1, 1.5, 1.1)
 > X2 = c(2.4, 0.7, 2.9, 2.2, 3, 2.7, 1.6, 1.1, 1.6, 0.9)

 X1 et X2 varient d’un même ordre de grandeur?


 var(X1) = 0.6165556
 var(X2) = 0.7165556
 cov(X1, X2) = 0.6154444
 ACP non-normée = matrice de covariances
C   0.6165556 0.6154444 
 0.6154444 0.7165556 
 Utilisation de la matrice de covariances pour changer de référentiel :
 Calcul du vecteur directeur de CP1
 Calcul du vecteur directeur de CP2
Un cas simple à 2 variables
 Une histoire d’algèbre linéaire et de calculs matriciels :
 Détermination des p valeurs propres λj
 Détermination des p vecteurs propres Vj

Soit la matrice de covariances C de taille p x p, elle admet p valeurs


propres et p vecteurs propres associés, tels que :
 CVj = λjVj

 Dans notre exemple à deux variables, C admet 2 valeurs propres et


2
vecteurs propres tels que soit vérifié les égalités suivantes :
 0.6165556 0.6154444 v1,1   v1,1 
  1 
 0.6154444 0.7165556
 1,2   v 1,2 
v
0.6165556 0.6154444 v2,1   v2,1 
  2  
 0.6154444 0.7165556
 2,2  v 2,2 
v
Un cas simple à 2 variables
 Détermination des 2 valeurs propres λ1 et λ2 :
 Calcul du déterminant de C – λI
 Résolution de l’équation det(C – λI) = 0

C  I  0.6165556 0.6154444   1 0 


 0.6154444 0.7165556  0 1
0.615444 
C  I   0.6165556  4
 0.6154444
 0.7165556  
 
det(C  I )  0.6165556   0.7165556   
0.6154444 2
2 1.333111   0.06302444 0
  b 2  4ac
b  b 
1  2a 1.284028 2  2a 
Un cas simple à 2 variables
Chaque valeur propre représente la variance des données autour d’un
nouvel axe CP ou « composante principale » qui est une combinaison
linéaire des variables de départ

1  2  var( X 1 )  var( X 2 )
1.284028  0.04908323  0.6165556  0.7165556  1.333111
La première « composante principale » ou CP1 associée à λ1 porte 96%
de la variance totale
 La deuxième « composante principale » ou CP2 associée à λ2 porte 4%
seulement de la variance totale
A partir d’une seule dimension (CP1), il est possible ici de résumer 96%
de l’information de départ contenue dans deux dimensions (X1, X2)
Un cas simple à 2 variables
 Détermination des 2 vecteurs propres V1 et V2 :
 Résolution des 2 systèmes d’équations CVj - λjVj = 0

λ1 0.6154444 v1,1   1.284028 v1,1 


 0.6165556

0.6154444 0.7165556
 1,2 
 v1,2 
v
 0.6165556  v1,1  0.6154444  v1, 2 1.284028  v1,1 
00.6154444  v1,2  0.7165556  v 1.284028  v 
1,1 1,2

0
λ2
0.6165556 0.6154444 v2,1    0.04908323   v2,1 
0.6154444 0.7165556  v
 v  2,2  2,2 

0.6165556  v2,1  0.6154444  v2,2  0.04908323  v2,1 


0 0.6154444  v
2,1  0.7165556  v  0.04908323  v 
2,2 2,2
Un cas simple à 2 variables
 Une solution possible (cf. sous la contrainte que V1 et V2 soient tout 2
des vecteurs unitaires de taille 1)

2  2
V1   0.6778736  NB : v1,1 
 0.7351785 v 1,2 1
 

  0.7351785   2,2 
2 2
V2   0.677873 NB : v2,1
  v 1
 6
P    0.7351785

0.7351785 0.6778736 
0.6778736

D  1.28402
0 
8 0 0.04908323 

C  PDPt
Un cas simple à 2 variables
 L’information (variance) portée par CP1 est tellement importante que
l’on peut se passer de CP2 :
 Cela revient à compresser l’information originale portée par deux
dimensions sur une seule dimension avec une perte ici de 4% de
l’information d’origine
 Attention :
 L’ACP non-normée est une application rare et en général, on travail avec la
matrice des corrélations (ACP normée)
Un cas simple à 2 variables
 Cas de l’ACP normée sur le même jeu de donnée :

C   1 0.93
 0.93 
C  1I  1 0.93 
 0.93
 
I )  1  1   0.932
•det(C  1

•2  2  0.1351  0
•  b 2  4ac
b  b 
1  2a 1.93 2  2a  0.07
 
Un cas simple à 2 variables
 Une solution possible (cf. sous la contrainte que V1 et V2 soient tout 2
des vecteurs unitaires de taille 1)

NB : v 2  v 2 
 1    1  1
1,1
2 1,2
V12   2 V 
 1 
 1   NB : v 2  v 2 
 2  2  1
2,1
2,2
 1 1 

2 2
P 1 
 1
 2 2 

D  1  0 
 0 1 

Un cas simple à 2 variables
 V1 et V2 sont les vecteurs directeur de CP1 et CP2 :

X '  Pt X V2
t
V1

V2
V1

 CP1 porte 96% de l’inertie totale du nuage de point


Combien de composantes principales?

 L’ACP d’un tableau de données à P variables et N individus admet P


valeurs propres, P vecteurs propres, et P composantes principales :
 Conservez au moins 50-70% de la variance en cumulé
 Conservez toute les composantes principale dont λ > 1 (limite de Kaiser)
 Utilisez l’histogramme des valeurs propres (scree plot)

Vous aimerez peut-être aussi