Introdution à l’Analyse en composantes principales (ACP)anouarbenmalek.free.fr/maths/Master...

82
Introduction à l’Analyse en composantes principales (ACP) 1

Transcript of Introdution à l’Analyse en composantes principales (ACP)anouarbenmalek.free.fr/maths/Master...

Introduction à l’Analyse en composantes principales (ACP)

1

Problème: Un nombre important de variables – Parfois des centaines (spectroscopie) – Pas nécessairement de même nature Constat: difficulté pour l‘être humain de voir dans des espaces de dimension importante – Facilité uniquement pour les espaces de dimension 1 et 2 voire trois Objectif: Réduire le nombre de variables afin de « résumer » des données de dimension importante dans des espaces de dimension acceptable

2

1er exemple d’ACP

3

Autre exemple…

1 ère composante principale

2ème composante principale

4

5

2 variables à résumer en une

seule!

6

Comment réduire un tableau bivarié en une représentation des individus en une seule dimension (classement sur une droite)?

7

On se propose une solution: on va réduire en une dimension en projetant sur l’axe des abscisses

8

On se propose maintenant de faire une projection sur la droite qui passe le plus près possible du nuage de points (au sens orthogonal…)

On insiste: Le calcul des distances des points à la droite ne fait pas intervenir de système de coordonnées!

10

But de l’ACP: en gros, pour visualiser le mieux possible des données multivariées pour N > 3, les distances projetées doivent être les plus proches possibles des distances réelles entre les points dans l’espace d’origine.

11

Exemple: 3 variables à résumer en

deux!

12

Supposons qu’on a 3 variables représentées par un nuage de points dans l’espace à trois dimensions: comment les résumer en deux

autres variables sans trop perdre d’informations?

13

14

1ère composante principale: la variance des points projetés sur la droite est appelée la 1ere valeur propre

15

On cherche en suite le plan perpendiculaire à la 1ère composante principale

16

17

Voilà la 2ème composante principale; la variance des points projetés sur cette droite est la 2eme valeur propre

18

19

20

21

22

23

Pour passer des variables initiales corrélées aux nouvelles variables non corrélées:

outil: 1- La matrice de variance-covariance (si l’on tient compte de la différence des variances entre les variables)

2- la matrice de corrélation (si on centre et on réduit les variables de départ et que seules sont importantes les corrélations entre ces variable. Usage plus général….)

Les valeurs propres de cette matrice: variances des composantes principales Les vecteurs propres de cette matrice: coefficients des combinaisons linéaires des variables initiales donnant les composantes principales 24

Définition: On appelle vecteur propre d’une application linéaire f tout vecteur x, non nul de E, vérifiant : f (x) = λ x. Le scalaire λ est appelé valeur propre associée au vecteur x. Même définition pour une matrice A : A X = λ X Propriété: Une matrice de variance covariance est toujours diagonalisable. Elle possède en effet une "bonne" propriété: elle est semi-définie positive car, pour tout vecteur X X′ΣX≥0

25

26

Combien de composantes principales retenir?

27

Attention: la 1ère composante n’est pas toujours la plus intéressante!

Exemple 1 : Pour un taxonomiste étudiant les variations morphologiques, la 2ème composante sera probablement plus intéressante car elle sera un indicateur de la forme, tandis que la 1ère sera plutôt un indicateur de la grandeur de l’animal

Exemple 2: La 1ère compo. dérivée de scores psychiatriques indiquera plutôt la sévérité des symptômes tandis que la 2ème donnera plus d’informations sur le contenu de ces symptomes

28

29

Un exemple simple: comment réduire le nombre de variables ?

30

31

Utilisation pratique : Ce tableau permet de repérer les variables les plus corrélées entre elles. Si deux variables sont bien représentées sur un plan principal, ces variables seront d’autant plus rapprochées sur le graphique que leur coefficient de corrélation est grand. Exemple : Ici, la matrice de corrélation nous indique que les variables Sciences et Maths sont très corrélées. Les variables Latin et Français sont également très corrélées. La variable Art (dessin et musique) semble particulière. Elle est légèrement négativement corrélée avec le pôle littéraire (latin et français).

32

La colonne valeur propre ou eigenvalue fournit l’inertie (ou la variance expliquée par le vecteur propre correspondant à la valeur propre). Rappelons qu’en ACP normée, la somme des valeurs propres=p=5

33

Utilisation pratique : Permet de choisir le nombre q d’axes à retenir. Critères utilisés pour ce choix : 1) Les critères basés sur le taux d’inertie restitué (à l’aide des 2°, 4° et 5° colonnes) 2) Critère du coude (à l’aide de la 3° colonne) 3) Scree-test 4) Critère de l’interprétabilité de l’axe Dans le cas particulier de l’ACP normée, un critère basé sur le taux d’inertie restitué, appelé critère de Kaiser, conduit à ne retenir que les valeurs propres supérieures à 1, en se basant sur l’idée que chaque axe devrait restituer en moyenne une inertie de 1 (inertie moyenne). CECI N’EST VALABLE QUE DANS LE CAS DE l’ACP NORMEE. Exemple : Ici, le critère de Kaiser nous conduit à sélectionner deux axes (2 valeurs propres supérieures à 1). On voit que l’axe 1 restitue à lui seul plus de la moitié (58%) de l’inertie; avec deux axes, on restitue 87 % de l’inertie totale, ce qui est excellent.

34

Scree-test

35

Coordonnées des axes principaux du nuage de points-individus, dans le repère d’origine constitué par les variables

La colonne PRINk représente les coordonnées du vecteur propre Uk correspondant à la valeur propre λk . L’ACP est normée, donc: les Uk sont de longueur 1: 0,45849² +…+ (-0,102466)²=1

Uk est perpendiculaire à Ul

36

Utilisation pratique du tableau précédent :

Note: La contribution moyenne CM à l’axe k se calcule de la manière suivante: CM²+….+CM²= 1 d’où p* CM²=1 d’où CM=1/racine(p)

37

Exemple : Ici, la racine carrée de la contribution moyenne vaut 0,45, ce qui nous pousse à considérer que toutes les variables, à l’exception de Art, contribuent à la définition de l’axe 1. Le sens de contribution s’établit grâce au signe de la coordonnée. Ici, toutes les variables ont une coordonnée positive. L’axe 1 peut donc s’interpréter comme l’axe des matières académiques (maths, sciences, francais, latin). L’axe 2 est déterminé par les Arts et dans une moindre mesure les Maths. Étant donné la différence importante de contribution entre ces deux variables et la médiocre qualité de représentation de la variable maths , l’axe 2 peut être interprété comme l’axe artistique.

38

Le graphe le plus important pour trouver un sens aux composantes principales retenues!

39

40

PROC CORR DATA=notesStats; VAR prin1 prin2 ; WITH maths sciences francais latin art ; RUN;

41

Ce tableau des corrélations fournit les coordonnées des variables sur les axes factoriels ; ainsi la coordonnée de la variable math sur le premier axe est 0,78182. Par ailleurs, en élevant au carré ces quantités, on obtient les qualités de représentation des variables sur les axes. Les qualités de représentation des variables peuvent donc se lire directement sur le graphique (les variables bien représentées sur un axe ont une coordonnée sur cet axe proche de -1 ou 1 Exemple : Sur l’axe 1, toutes les variables sont bien représentées sauf Art. Sur l’axe 2, les qualités de représentations sont médiocres (<0,5) sauf Art qui est bien représentée (0,78656).

42

43

Ce tableau est obtenu avec l’option OUT de Proc Princomp: il nous donne en particulier les coordonnées des individus sur les nouvelles composantes principales :

44

Étude des individus… (à condition qu’ils soient bien représentés sur ces deux axes…)

45

Rappelons-nous que nous avons affaire à des projections! Individus et…

46

… et variables!

47

On définit des indices de qualité de représentation

48

49

Interpréter avec précaution les proximités sur les graphes

50

51

Appliquons ces règles de précaution à nos élèves de l’exemple…

52

Conclusion pour les individus:

L’axe 1 est l’axe des matières académiques. Il oppose Jean, non académique, à Jacques et Didier ayant de bonnes performances dans ces matières. Pierre, bien représenté sur cet axe est bien expliqué par cet axe : il est plutôt non académique (du côté de Jean). remarque : André n’étant pas très bien représenté, il vaut mieux être réservé quant à la très grande proximité avec Pierre sur cet axe. L’axe 2 est l’axe artistique. Il oppose Alain à Serge et Eric, ayant de bonnes performances artistiques (les autres individus et variables étant assez mal représentées sur cet axe, on n’en parlera pas).

53

L’ACP permet également de faire: - de la classification des individus dans une population - Trouver des groupes dans une population - Expliquer des groupes prédéterminés par une ACP

54

Un exemple célèbre d’utilisation de l’ACP pour une typologie

55

56

57

Extraits de quelques données de l’échantillon de 150 fleurs

data iris; input Sepal_Length Sepal_Width Petal_Length Petal_Width Species; cards; 5.1 3.5 1.4 0.2 1 4.9 3.0 1.4 0.2 1 4.7 3.2 1.3 0.2 1 …. ; 58

proc princomp data=iris plots=scree; var Sepal_Length Sepal_Width Petal_Length Petal_Width; id species; run;

59

60

61

62

63

64 Mais ce tableau ne peut être correctement interprété que si …

65

Mais ce tableau ne peut être correctement interprété que si toutes les variables de départ sont bien représentées dans le plan des 2 premières composantes principales

Ce qui est le cas ici…

66

67

Exemple à traiter par les étudiants:

68

Exemple de chimiométrie: This gives the relative intensities of fluorescence emission at four different wavelengths (300, 350, 400, 450 nm) for 12 compounds, A–L. In each case the emission intensity at the wavelength of maximum fluorescence would be 100. data fluo ; input compound $ W1-W4; cards; A 16 62 67 27 B 15 60 69 31 C 14 59 68 31 D 15 61 71 31 E 14 60 70 30 F 14 59 69 30 G 17 63 68 29 H 16 62 69 28 I 15 60 72 30 J 17 63 69 27 K 18 62 68 28 L 18 64 67 29 ;

69

proc PRINCOMP data= fluo out=fluo_Components plots= score(ellipse ncomp=3); var W1-W4; id compound; run;

70

71

72

73

74

75

Exercice à faire par les étudiants

76

The following data provide crime rates per 100,000 people in seven categories for each of the 50 states in 1977. Since there are seven numeric variables, it is impossible to plot all the variables simultaneously. Principal components can be used to summarize the data in two or three dimensions, and they help to visualize the data. Extraits : data crime; input state $1-15 murder rape robbery assault burglary larceny auto st $; datalines; Alabama 14.2 25.2 96.8 278.3 1135.5 1881.9 280.7 AL Alaska 10.8 51.6 96.8 284.0 1331.7 3369.8 753.3 AK Arizona 9.5 34.2 138.2 312.3 2346.1 4467.4 439.5 AZ Arkansas 8.8 27.6 83.2 203.4 972.6 1862.1 183.4 AR California 11.5 49.4 287.0 358.0 2139.4 3499.8 663.5 CA Colorado 6.3 42.0 170.7 292.9 1935.2 3903.2 477.1 CO

77

proc sgscatter data=crime; title "Scatterplot Matrix for crime Data"; matrix murder rape robbery assault burglary larceny auto; run; title; proc PRINCOMP data= crime out=crime_Components plots(ncomp=2)=all; var murder rape robbery assault burglary larceny auto; id st; run;

78

79

80

81

82