1 La méthode de l`ACP - Université de Montpellier

Transcription

1 La méthode de l`ACP - Université de Montpellier
Université de Montpellier 2
M2 MASS
TP4 : Introduction au logiciel SAS
Procédures statistiques multivariées : Analyse en Composantes Principales
1
La méthode de l’ACP
D’après le cours de P. Besse www.math.univ-toulouse.fr/~besse
C’est une méthode dite factorielle de réduction de dimension pour l’exploration statistique
de données quantitatives complexes : Représentations graphiques des individus, des variables ;
qualité de représentation.
1.1
Introduction
Lorsqu’on étudie simultanément un nombre important de variables quantitatives (≥ 3) 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 (par exemple 4). L’objectif de l’Analyse en Composantes Principales (ACP) est de
revenir à un espace de dimension réduite (par exemple 2) en déformant le moins possible la
réalité. 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 facteurs 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.
L’ACP est un grand classique de l’analyse des données "à la française" pour l’étude exploratoire de données quantitatives. Elle sera illustrée ici par un exemple sur l’agriculture de l’ensemble
des comtés de l’Ohio aux États-Unis.
Les données à étudier sont dans le fichier ProdAgricole.txt :
Comté
Adams
Allen
Asbland
Ashtabula
......
Corn Mixed-Grain Wheat
42.41
0.21
22.47
34.43
0.13
23.76
27.05
0.02
24.81
22.88
0.24
13.52
Oats Barley
1.07
0.37
18.35 0.11
17.75 0.07
15.67 0.02
Soysbeans
0.62
12.18
2.21
1.30
Hay
27.80
15.31
24.15
38.89
Pour simplifier l’écriture des variables, nous les nommerons v1 à v7, qui représenteront respectivement les productions de corn (maïs), mixed small grains (petites graines mélangées) Wheat
(blé ou froment) oats (avoine) barley (orge) soybeans (graine de soja) hay (foin).
2
Espaces Vectoriels
2.1
Notations
Soit p variables statistiques réelles X j , pour (j = 1, · · · , p), observées sur n individus i (i =
1, · · · , n) affectés des poids wi :
n
X
∀i = 1, · · · , n wi > 0 et
wi = 1
i=1
∀i = 1, · · · , n xji représente la mesure de la variable X j sur le i-ème individui.
Ces mesures sont regroupées dans une matrice X d’ordre (n × p).
1
2
X 1 X2
x1 x1
 x1 x2
X=  2
2
 ..
..
 .
.
1
xn x2n
· · · X p
· · · xp1
· · · xp2 

..
.. 
.
. 
· · · xpn
- A chaque individu i est associé le vecteur xi contenant la i-ème ligne de X mise en colonne.
C’est un élément de l’espace vectoriel E = Rp de dimension p muni de la base canonique E et
d’une métrique de matrice M définissant une structure d’espace euclidien : E est alors appelé
espace des individus.
- A chaque variable X j est associé le vecteur xj contenant la j-ème colonne centrée (la
moyenne de la colonne est retranchée à toute la colonne) de X. C’est un élément de l’espace
vectoriel noté F = Rn de dimension n, muni de la base canonique F et d’une métrique de matrice D diagonale des poids avec D = diag(w1 , · · · , wn ) ; F est alors appelé espace des variables.
2.2
Métrique des poids
L’utilisation de la métrique des poids dans l’espace des variables F donne un sens très particulier aux notions usuelles définies sur les espaces euclidiens. Ce paragraphe est la clé permettant
de fournir les interprétations en termes statistiques des propriétés et résultats mathématiques.
Moyenne empirique de X j : xj = hXej , 1n iD = (Xej )t D1n
Barycentre des individus : x = X t D1n
Matrice des données centrées : X = X − 1n xt
Ecart-type de X j : σj = [(xj )t Dxj ]1/2 = kxj kD
Covariance de X j et X k : (xj )t Dxk = hxj ; xk iD
Matrice de variances-covariances : S = (X)t DX =
Corrélation de X j et X k :
hxj ;xk iD
kxj kD kxk kD
Pn
i=1 wi (xi
− x)(xi − x)t
= cos(xj , xk )
Par souci de simplicité des notations, on désigne dans toute la suite par xj les colonnes de la
matrice centrée X. On considère donc que des vecteurs variables sont toujours centrés (ou ont été
centrés au préalable). Ainsi, lorsque les variables sont centrées et représentées par des vecteurs
de F = Rn :
- la longueur d’un vecteur représente un écart-type,
- le cosinus d’un angle entre deux vecteurs représente une corrélation.
2.3
Objectifs
Les objectifs poursuivis par une ACP sont :
- la représentation graphique optimale des individus (lignes), minimisant les déformations
du nuage des points, dans un sous-espace Eq de dimension q (q < p),
- la représentation graphique des variables dans un sous-espace Fq en explicitant au mieux
les liaisons initiales entre ces variables,
- la réduction de la dimension (compression), ou approximation de X par un tableau de rang
q (q < p).
Les derniers objectifs permettent d’utiliser l’ACP comme préalable à une autre technique
préférant des variables orthogonales (non-corrélées) comme régression multi-linéaire.
2.4
Définition de l’ACP
On considère p variable statistiques centrées X 1 , · · · , X p . Une combinaison linéaire de coefficients fj de ces variables,
p
X
c=
fj xj = Xf
j=1
définit une nouvelle variable centrée c.
PROPOSITION 1. – Soient p variables quantitatives centrées X 1 , · · · , X p observées sur n individus de poids wi ; l’ACP de (X; M ; D) correspond à la recherche des q combinaisons linéaires
normées des X j , non corrélées et dont la somme des variances soit maximale.
- Les v k , appelés vecteurs principaux, sont les vecteurs propres M -orthonormés de la matrice SM associés aux valeurs propres rangées par ordre décroissant ; Ils permettent de définir les
combinaisons linéaires des X j optimales au sens ci-dessus.
On note Eq = vect(v 1 , · · · , v q ) le sous-espace engendré par les q premiers vecteurs propres.
E2 = vect(v 1 , v 2 ) est appelé le premier plan principal.
- Les vecteurs f k = M v k sont les facteurs principaux.
- Les vecteurs ck = Xf k sont appelées les composantes principales. Ils sont centrés, non
corrélés et de variance λk .
Et on note C = Xf la matrice des composantes principales.
3
3.1
Graphiques
Individus
Les graphiques obtenus permettent de représenter au mieuxles distances euclidiennes interindividus mesurées par la métrique M.
Chaque individu i représenté par xi est approché par sa projection M -orthogonale ziq sur le
sous-espace Eq = vect(v 1 , · · · , v q . La coordonnée de l’individu i sur v k est donnée par :
cki = hxi − x; v k iM = (xi − x)t M v k
PROPOSITION 2. – Les coordonnées de la projection M-orthogonale de xi sur Eq sont les q
premiers élément de la i-ème ligne de la matrice C des composantes principales.
3.2
Qualités
La qualité globale des représentations est mesurée par la part de dispersion expliquée :
Pq
λj
Ppj=1
j=1 λj
Remarque. La dispersion d’un nuage de points unidimensionnel par rapport à sa moyenne se
mesure par la variance. Dans le cas multidimensionnel, la dispersion du nuage N par rapport
à son barycentre x se mesure par l’inertie, que l’on peut voir comme une généralisation de la
variance :
n
X
Ig (N ) =
wi kx − i − xk2M = tr(SM )
i=1
La qualité de la représentation de chaque xi est donnée par le cosinus carré de l’angle qu’il forme
avec sa projection zi :
Pq
(cki )2
q
cos(xi − x; zi ) = Pk=1
p
k 2
k=1 (ci )
3.3
Contributions
Les contributions de chaque individu à l’inertie de leur nuage sont :
P
wi pk=1 (cki )2
Pp
k=1 λk
ainsi qu’à la variance de la k-ème composante principale
wi (cki )2
λk
contribution de l’individu i à ck .
Elle permettent de déceler les observations les plus influentes et, éventuellement, aberrantes.
Ces points apparaissent visiblement lors du tracé des diagrammes en boîtes parallèles des composantes principales qui évitent ainsi une lecture fastidieuse de ce tableau des contributions. En
effet, ils se singularisent aussi comme outliers hors de la boîte (au delà des moustaches) correspondant à une direction principale. Les individus correspondants, considérés comme individus
supplémentaires, peuvent être éliminés lors d’une nouvelle analyse.
3.4
Variables
Les graphiques obtenus permettent de représenter au mieux les corrélations entre les variables (cosinus des angles) et, si celles-ci ne sont pas réduites, leurs variances (longueurs).
Une variable X j est représentée par sa projection D-orthogonale sur le sous-espace
√ Fq engendré par les q premiers axes factoriels. La coordonnée de xj sur l’axe factoriel k est λk vjk .
3.5
Corrélations variables/facteurs
Ces indicateurs aident à l’interprétation des axes factoriels en exprimant les corrélations entre
composantes principales et variables initiales.
√
λk k
j k
k
v
cor(X ; c ) == cos(xj ; c ) =
σj j
3.6
Cercle des corrélations
Dans le cas de variables xj réduites,
= 1, donc leur projection est à l’intérieur
du cercle unité. Plus la projection est proche de
ce cercle, meilleure est la qualité de sa représentation.
kxj kD
4
Choix de la dimension
La qualité des représentations de l’ACP dépend, de façon évidente, du choix de q, c’est-à-dire
du nombre de composantes retenues pour reconstituer les données, ou encore de la dimension du
sous-espace de représentation. De nombreux critères de choix pour q ont été proposés dans la
littérature. Nous présentons ici ceux, les plus courants, basés sur une heuristique.
4.1
Part d’inertie
La qualité globale des représentations est mesurée par la part dŠinertie expliquée :
Pq
λj
Ppj=1
j=1 λj
La valeur de q est choisie de sorte que cette part d’inertie expliquée soit supérieure à une valeur
seuil fixée a priori par l’utilisateur. C’est souvent le seul critère employé.
4.2
Règle de Kaiser
On ne conserve alors que les valeurs propres supérieures à leur moyenne car seules
Ppjugées plus
informatives que les variables initiales ; dans le cas d’une ACP réduite, comme j=1 λj = p,
ne sont donc retenues que celles plus grandes que 1 (1 correspond alors à la moyenne des valeurs
propres). Toutefois, ce critère a tendance à surestimer le nombre de composantes pertinentes.
4.3
Éboulis des valeurs propres
C’est le graphique présentant la décroissance des valeurs propres. Le principe consiste à rechercher, s’il existe, un coude dans le graphe et de ne conserver que les valeurs propres jusqu’à
ce coude.
4.4
Diagrammes en boîtes
Un graphique présentant, en parallèle, les diagrammes en boîtes des composantes principales
illustre bien leurs qualités : stabilité lorsqu’une grande boîte est associée à de petites moustaches,
instabilité en présence d’une petite boîte, de grandes moustaches et de points isolés. Intuitivement,
on conserve les premières grandes boîtes. Les points isolés ou outliers désignent les points à
forte contribution, ou potentiellement influents, dans une direction principale. Ils nécessitent une
étude plus minutieuse (analyse des contributions aux axes)
5
Applications aux données
5.1
La procédure PRINCOMP
Cette procédure de SAS nous fournit la matrice de corrélation des variables v1 à v7 ainsi
que ses vecteurs propres, qui nous permet de trouver ses composantes principales. Le Programme
SAS est le suivant :
PROC PRINCOMP
DATA=Proj
OUTSTAT=Princomp ;
RUN;
PROC PRINT
DATA=Princomp ;
RUN ;
Lorsque l’on exécute le programme, on obtient :
The PRINCOMP Procedure
Observations
Variables
88
7
Simple Statistics
Mean
StD
v1
v2
v3
v4
v5
v6
v7
31.78488636
8.66703730
0.1448863636
0.1074361004
20.15454545
5.67922832
10.39534091
6.46476052
0.1626136364
0.2021294357
5.972386364
6.727515125
25.37056818
13.78278898
Correlation Matrix
v1
v2
v3
v4
v5
v6
v7
v1
v2
v3
v4
v5
v6
v7
1.0000
-.0333
0.4631
-.3282
0.1485
0.0137
-.4490
-.0333
1.0000
-.1246
-.0810
0.2491
0.0028
0.1082
0.4631
-.1246
1.0000
0.0756
-.0439
0.1273
-.6353
-.3282
-.0810
0.0756
1.0000
-.2551
0.3813
-.3186
0.1485
0.2491
-.0439
-.2551
1.0000
-.1928
0.1013
0.0137
0.0028
0.1273
0.3813
-.1928
1.0000
-.5969
-.4490
0.1082
-.6353
-.3186
0.1013
-.5969
1.0000
Eigenvalues of the Correlation Matrix
1
2
3
4
5
6
7
Eigenvalue
Difference
Proportion
Cumulative
2.32094178
1.68927072
1.13070595
0.69556669
0.64066431
0.36705493
0.15579561
0.63167107
0.55856476
0.43513926
0.05490238
0.27360937
0.21125933
0.3316
0.2413
0.1615
0.0994
0.0915
0.0524
0.0223
0.3316
0.5729
0.7344
0.8338
0.9253
0.9777
1.0000
Eigenvectors
v1
v2
v3
v4
v5
v6
v7
Obs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Prin1
Prin2
Prin3
Prin4
Prin5
Prin6
Prin7
0.298192
-.150621
0.476318
0.267334
-.171941
0.428362
-.613996
0.582478
0.121563
0.296149
-.541207
0.420853
-.288211
-.071763
-.093722
0.776774
-.126394
0.177395
0.443139
0.355431
-.133007
-.211690
-.443239
0.129901
0.413756
0.733122
-.177247
-.042113
-.148100
0.400865
0.543787
0.350470
-.232212
-.584042
0.061747
0.645473
0.032667
-.488563
0.522450
-.064888
-.257644
-.007649
0.282199
-.030619
0.343757
0.192825
0.036687
0.410131
0.771053
_TYPE_
MEAN
STD
N
CORR
CORR
CORR
CORR
CORR
CORR
CORR
EIGENVAL
SCORE
SCORE
SCORE
SCORE
SCORE
SCORE
SCORE
_NAME_
v1
v2
v3
v4
v5
v6
v7
Prin1
Prin2
Prin3
Prin4
Prin5
Prin6
Prin7
v1
v2
v3
v4
v5
v6
v7
31.7849
8.6670
88.0000
1.0000
-0.0333
0.4631
-0.3282
0.1485
0.0137
-0.4490
2.3209
0.2982
0.5825
-0.0937
-0.2117
-0.1481
0.6455
0.2822
0.1449
0.1074
88.0000
-0.0333
1.0000
-0.1246
-0.0810
0.2491
0.0028
0.1082
1.6893
-0.1506
0.1216
0.7768
-0.4432
0.4009
0.0327
-0.0306
20.1545
5.6792
88.0000
0.4631
-0.1246
1.0000
0.0756
-0.0439
0.1273
-0.6353
1.1307
0.4763
0.2961
-0.1264
0.1299
0.5438
-0.4886
0.3438
10.3953
6.4648
88.0000
-0.3282
-0.0810
0.0756
1.0000
-0.2551
0.3813
-0.3186
0.6956
0.2673
-0.5412
0.1774
0.4138
0.3505
0.5225
0.1928
0.1626
0.2021
88.0000
0.1485
0.2491
-0.0439
-0.2551
1.0000
-0.1928
0.1013
0.6407
-0.1719
0.4209
0.4431
0.7331
-0.2322
-0.0649
0.0367
5.9724
6.7275
88.0000
0.0137
0.0028
0.1273
0.3813
-0.1928
1.0000
-0.5969
0.3671
0.4284
-0.2882
0.3554
-0.1772
-0.5840
-0.2576
0.4101
25.3706
13.7828
88.0000
-0.4490
0.1082
-0.6353
-0.3186
0.1013
-0.5969
1.0000
0.1558
-0.6140
-0.0718
-0.1330
-0.0421
0.0617
-0.0076
0.7711
Si on veut exclure une variable de l’analyse (variable supplémentaire par exemple), on utilise
l’option de nom drop= comme suit :
PROC PRINCOMP data=Proj(drop=v1) OUT=coords OUTSTAT=Princomp; RUN;
L’option drop= permet d’exclure des variables de l’analyse de la table Proj.
On peut visualiser les 2 tables créées en sortie de la procédure PRINCOMP
PROC PRINT DATA=coords;
title ’Sortie OUT=coords : variables initiales et composantes principales’;
RUN;
PROC PRINT DATA=Princomp;
title ’Sortie OUTSTAT=Princomp : donne les v.p et val. propres’;
RUN;
Autres Options utiles de PROC PRINCOMP est COV (tout court), qui permet de ne pas réaliser
l’ACP normée mais seulement centrée (non-réduite), c’.-à-d. que l’on diagonalise la matrice de
covariance et non celle des corrélations.
– Quels coefficients de corrélation semblent notables ? v7 est anticorrélée avec v3(-0.63) et v6(0.57). v1 et v3 sont corrélées positivement(0.46). v2 et v6 sont non corrélées (0.0028). Les corrélations de sont pas très fortes.
– Quelles sont les coordonnées de l’individu numéro 1 Adams dans le premier plan factoriel ? On
lit la réponse dans les colonnes PRIN1 et PRIN2 de la tables coords qui contient les composantes
principales de tous les individus. On lit donc (-0.54, 2.34).
On peut vérifier que les composantes principales sont des variables centrées et de variance
égale aux valeurs propres λj , en exécutant :
PROC MEANS DATA=coords mean var; RUN;
On peut aussi vérifier que les composantes principales sont non-corrélées, en exécutant :
PROC CORR DATA=coords; var PRIN1 PRIN2 PRIN3 PRIN4 PRIN5 PRIN6 PRIN7 RUN;
– Combien faut-il conserver de composantes principales pour avoir un taux d’inertie d’au moins
70 % ?
Les proportions de l’inertie cumulée sont 0.3316 (axe 1), 0.5729 (axes 1 et 2), 0.7344 (axes 1,
2 et 3).
5.2
Macro SAS pour l’ACP
Pour apprécier tous les résultats de la PROC PRINCOMP, il faut les représenter sur des graphiques, calculer les qualités de représentation, les contributions, les pourcentages d’inertie, etc.
On utilise pour cela des macros SAS. Une macro SAS (ou macro-programme) est un morceau
de code SAS encapsulé, paramétré et stocké. La définition d’une macro commence par l’instruction %MACRO et se termine par %mend.
/* Syntaxe */
%MACRO nom_de_la_macro(parametre1, parametre2, ...)
corps du macro-programme ou code source
%mend
Pour soumettre une macro, il suffit d’exécuter le code de la macro. Il n’y a aucune réaction du
système, simplement la macro a été compilée et on peut ensuite l’utiliser dans un programme.
Pour utiliser la macro, il suffit de l’appliquer aux données. Grâce à cette macro, on a directement
les graphiques qui nous intéressent et les quantités pour l’aide à l’interprétation (contributions,
qualités de représentation, etc).
Nous utiliserons les macros SAS suivantes téléchargeables sur l’ENT :
-----------acp.sas
gacpsx.sas
gacpbx.sas
gacpvx.sas
gacpix.sas
Analyse en composantes principales
eboulis des valeurs propres
boites a moustaches // des composantes
graphique des variables
graphique des individus
Exécution des macros :
%acp(Prod, nom, v1-v7, red=,q=3,poids=poids)
%gacpsx /* Eboulis des valeurs propres */
%gacpbx /* boites a moustaches // des composantes */
%gacpvx(x=1,y=2,nc=4,coeff=1); /*
graphique des variables */
%gacpix(x=1,y=2,nc=6,coeff=1);
/* graphique des individus */
Lorsqu’on exécute ces macro-programmes, on obtient divers graphiques et résultats. Faisons
une étude rapide pour chaque variable :
– v1 est très bien expliquée par les axes 1 et 2.
– v2 est bien expliquée par l’axe 3
– v3 est bien expliquée par l’axe 1
– v4 est bien expliquée par l’axe 2
– v5 est bien expliquée par les axes 2, 3 et 4
– v6 est bien expliquée par l’axe 1
– v7 est quasiment entièrement expliquée par l’axe 1
D’autre part, quand on regarde la représentation des différents comtés sur les axes, on remarque
que sur le graphe où sont représentés les comtés sur les axes 3 et 4, le comté de Highland a déjà
une valeur . Enfin, on remarque également que la plupart des comtés sont expliqués par les deux
premiers axes principaux. En effet, sur les graphiques avec les axes 3 et 4, et les axes 5 et 6,
quasiment tous les comtés sont au centre du graphe.
Repérer les individus qui pourraient être traités en supplémentaires. Refaire l’ACP en les supprimant, puis faire un graphique sur le premier plan factoriel, en rajoutant ces individus (on
calculera leurs coordonnées sur les axes factoriels).

Documents pareils