SY09 Rapport TP2 : Analyse factorielle d`un tableau

Transcription

SY09 Rapport TP2 : Analyse factorielle d`un tableau
U NIVERSITÉ DE T ECHNOLOGIE DE C OMPIÈGNE
SY09
Rapport TP2 : Analyse factorielle d’un
tableau de distances, classification
automatique
CUNI Frédéric
21 avril 2015
Objectifs du TP :
Le but de ce TP est l’application de l’analyse factorielle d’un tableau de distances (AFTD)
ainsi que la clarification automatique. l’ADTD ou positionnement multidimensionnelle a
pour objectif d’obtenir une représentation fidèle des données dans des espaces euclidiens
de faible dimension, souvent le plan, à partir d’un tableau de proximités entre les individus
(ce qui diffère de l’analyse en composante principale du TP1).
CUNI Frédéric - P15
1
1 Analyse factorielle d’un tableau de distances
On considère le tableau de données suivants :

8.5
3.5

2.0


9.5
X =
8.5

3.0

9.0
2.0

1.5
5.0

6.5


1.5

2.5

6.5

2.5
5.5
1.1 Tableaux des distances euclidiennes et matrice des produits scalaires

Le tableau D 2 se calcul en
R avec la fonction "dist" et
nous permet d’obtenir la
matrice suivante
La matrice des produits
scalaires W s’obtient en effectuant le produit matricielle du tableau de X par
sa transposé X’ ou alors
par le calcul suivant : W =
−1
2
2 ∗Q n ∗ D ∗Q n
0
 6.1

 8.2


 1
2
D =
 1

7.43

1.11
7.63

74.5
37.25

26.75


 83
W =
 76

35.25

80.25
25.25
6.1
0
2.12
6.95
5.59
1.58
6.04
1.58
37.25
37.25
39.50
40.75
42.25
43
44
34.50
8.2
2.12
0
9.01
7.63
1
8.06
1
1
1
7.43 1.1
6.95 5.6 1.58 6.04
9.01 7.63
1
8.06
0
1.41 8.2 1.11
1.41
0
6.8 0.5
8.2 6.8
0
7.2
1.11 0.5 7.21
0
8.5 7.16 1.41 7.62
26.75
39.50
46.25
28.75
33.25
48.25
34.25
39.75
83
40.75
28.75
92.50
84.50
38.25
89.25
27.25
76
42.25
33.25
84.50
78.50
41.75
82.75
30.75
35.25
43
48.25
38.25
41.75
51.25
43.25
41.75

7.63
1.58

1 


8.5 

7.16

1.41

7.62
0
80.25
44
34.25
89.25
82.75
43.25
87.25
31.75

25.25
34.50

39.75


27.25

30.75

41.75

31.75
34.25
Pour constater que W ou n1 ∗ W est semi définie positive il faut vérifier que ses valeurs
propres soient supérieures à 0. Pour se faire on utilise la fonction eigen( 18 ∗W ), qui calcule
les valeurs et vecteurs propres de W On obtient les valeurs propres suivantes : 51.6, 11.1,
1.2e − 15 , 1.1e − 15, 3.76e − 16, −8.63e − 17, −1.19e − 16, −7.2e − 16. On peut remarquer que seul
deux valeurs propres ont des valeurs bien définies tandis que les autres sont très proches
de 0. Ceci se justifie par le fait que le rang(X) = 2. On peut donc conclure que W est semi
définie positive.
1.1.1 Matrice B des vecteurs propres et matrice L diagonale des valeurs propres
La matrice B correspond à la matrice des vecteurs propres de 18 ∗ W et la matrice L correspond à la matrice diagonale des valeurs propres de 81 ∗ W . On obtient les matrices ciCUNI Frédéric - P15
2
dessous :

−1.15
−0.75

−0.66


−1.27
B =
−1.21

−0.79

−1.27
−0.60
0.77
0
2.47
0
0
0
−0.85 1.81 −0.08 −0.06 1.47
0.98
−1.46 −0.56 0.15
0.06
1.03 −1.58
0.90
0.19 −0.87 −1.77 −0.02 −1.08
0.50 −1.67 −0.72 0.29
0.87
1.42
−1.31 0.10
0.05 −1.03 −1.70
1
0.57
0.95 −0.77 1.78 −0.93 −0.49
−1.19 −0.83 0.09
0.74 −0.52 −0.33

0
0.55 

−1.23


0.70 

−0.35

−0.82

−0.56
2.14


51.60
0
0
0
0
0
0
0
 0

11.12
0
0
0
0
0
0


 0

0
1.2e − 15
0
0
0
0
0




−
0
0
1.1e 15
0
0
0
0
 0

L=

−
 0

0
0
0
3.8e 16
0
0
0


−
 0

0
0
0
0
−8.6e
17
0
0


−
 0

0
0
0
0
0
−1.2e 16
0
0
0
0
0
0
0
0
−7.2e − 16
1.1.2 Représentations multidimensionnelle fournie par l’AFTD et du nuage X
p
Dans un premier temps, il faut calculer les composantes principales C = B L et de tracer
une représentation C qui correspond à la représentation multidimensionnelle fournie par
l’AFTD, ainsi que de tracer le nuage associé au tableau initial X pour pouvoir ensuite les
comparer. Nous obtenons les deux représentations ci-dessous :
On peut constater que les deux
représentations sont relativement
proches, cependant à une isométrie prêt. Dans cet exercice, nous
avions dès le départ la représentation, mais le but de ce-dernier était
de nous faire comprendre et appliquer l’ADTD.
CUNI Frédéric - P15
3
1.1.3 Fonction AFTD en R
La fonction ci-contre, correspond à la fonction aftd
qui prend en argument d’entrée la distance D et comment argument de sortie la représentation multidimensionnelle calculée par l’AFTD ainsi que la qualité
de cette représentation.
1.2 Données de mutations
1.2.1 Utilisation de la fonction AFTD précédente et de cmdscale
L’AFTD des données mutations ont été effectué cicontre par le biais de la fonction cmdscale et de
la fonction réalisée dans la partie précédente. On
constate que l’on obtient la même représentation à
une isométrie prêt. En effet, l’AFTD met en pratique
une ACP, or nous savons que lors du calcul de l’ACP,
les vecteurs propres sont définis au signe prêt ce qui
explique les sens opposé d’une méthode à l’autre.
1.2.2 AFTD avec un nombre de variables de représentations et diagramme de Shepard
Une AFTD est donc réalisée avec un nombre de variables d de représentations allant de 2 à 5 avec
les diagrammes de Shepard correspondant (figure cicontre). Cela signifie que pour la représentation en dimension 2, on prend 2 composantes principales, pour
la représentation en 3 dimensions on prend 3 composantes principales,... Le diagramme de Shepard permet de mesurer la qualité de représentation du tableau D(X2),D(X3),... obtenu en fonction de δ . On
constate donc que plus on prend de composantes
principales, plus la représentation est bonne c’est à
dire plus on se rapproche de la première bissectrice
sans jamais l’atteindre car δ n’est pas euclidien. En
conclusion, le diagramme de Shepard avec 5 dimensions à donc la meilleure qualité de représentation.
CUNI Frédéric - P15
4
2 Méthodes des centres mobiles
2.1 Données Iris
2.1.1 Partition en k (2,3,4) classes avec la fonction kmeans
Nous allons visualiser le résultat du partitionnement des données iris avec l’algorithme
des kmeans, pour différentes valeurs de K (nombre de classes pour la partition). Au préalable il faut définir un nouveau jeu de données NewIris qui ne prend pas en compte l’espèce. En effet, si on ne fait pas abstraction de l’espèce, la fonction kmeans va partitionner
les données en espèces.
On peut constater une diminution de la somme des inerties intra-classes, et une agrégation en boules plus k augmente.
2.1.2 Stabilité du résultat de la partition
On réalise ici plusieurs classification en K = 3 classes du jeu de données. On fait pour cela
4 tests des kmeans et on cherche à savoir s’ils sont égaux. Pour cela on regarde le critère
d’inertie intra-classe entre les différents lancés.
Lancé
Inertie intra-classe
Lancé 1
143
Lancé 2
79
Lancé 3
79
Lancé 4
143
Lancé 5
143
Lancé 6
143
CUNI Frédéric - P15
Le résultat des kmeans dépend du positionnement de départ
car l’algorithme trie au hasard les points de départs. Pour k =
2, on obtient tout le temps le même résultat d’inertie intraclasse, et pour k = 3, tableau ci-contre, on obtient deux résultats. L’algorithme des kmeans tire 100 points au hasard donc
on obtient 100 tirages différents. Or nous constatons que 2 valeurs possibles d’inertie intra-classe pour 100 tirage différents,
ce qui permet de dire que c’est stable. Nous savons que l’algorithme ne garde que le critère d’inertie le plus faible, il suffirait
donc d’effectuer plusieurs lancés et de ne garder que le critère
d’inertie intra-classe minimum.
5
2.1.3 Nombre de classe optimale
Pour effectuer n = 100
classifications en prenant
K = 2 classes jusqu’à K
= 10 classes, on a réalisé une fonction qui permet d’effectuer 9 échantillons contenant 100 valeurs d’inertie intra-classe
chacun, donc les lignes
correspondent aux valeurs
de K, et les 100 colonnes
correspondent aux inerties
intra-classes.
L’algorithme des kmeans minimise l’intertie intra-classe et c’est donc le but recherché ici.
Nous savons que plus K est grand plus l’inertie intra-classe est faible. Pour les valeurs obtenues précédemment, nous allons donc calculer la somme des 100 lignes pour avoir les
inerties intra-classe minimum.
Pour chaque valeur de K on calcul l’inertie intra-classe
minimale et on représente la variation d’inertie minimale en fonction de K. En effet, on entre dans une
matrice les inertie minimum en fonction de K, et on
représente cette variation (figure ci-contre). On utilise
la méthode du coude pour connaître la valeur de K à
retenir. En effet, cette méthode consiste à sélectionner
une valeur de K = nombre de classes résumant bien les
données par rapport à une inertie intra-classe faible.
On peut donc voir ici que cette valeur correspond à K
= 2.
2.1.4 Comparaison partition réelle, partition des centres mobiles
La méthode des centres mobiles suggère une partition en deux classes, ce qui est différent
de la partition réelle (classe = 3) correspondant aux 3 espèces. Cela peut se traduire par le
fait que deux des trois classes d’iris sont très proches.
Pour K = 3, nous retrouvons les trois espèces d’origine.
On peut constater que cest un bon résultat car en effet, la classe 2 permet d’identifier les setosa, la classe
1 les versicolor, tandis que la classe 3 permet d’identifier les virginica.
CUNI Frédéric - P15
Espèce
Classe 1
Classe 2
Classe 3
Setosa
0
50
0
Versicolor 2
48
0
2
Virginica 3
14
0
36
6
2.2 Données Crabs
2.2.1 Classification des données Crabs à l’aide des centres mobiles
Le même raisonnement que précédemment est alors
effectué sur les données Crabs. On utilise la fonction
précédente créée afin d’obtenir plusieurs classifications en prenant K = 1 jusqu’à 10. On calcul ensuite
les inerties intra-classe minimum et on représente ces
inerties en fonction des valeurs de K. On obtient la représentation ci-contre. On peut ainsi trouver la valeur
de K suggérer par le graphique qui est donc K = 4. Ceci
est plausible car dans les données Crabs nous avons 2
espèces et 2 sexes.
2.2.2 Comparaison partition réelle, partition des centres mobiles
La méthode des centres mobiles suggère une partition en 4 classes, ce qui est en concordance avec la partition réelle correspondant aux 2 espèces et aux 2 sexes.
Pour K = 4, nous retrouvons les espèces d’origine ainsi
que leur sexe. On peut remarquer que le partitionnement obtenu est très correct. On voit ainsi, au travers
de cet exemple, que l’algorithme des kmeans est très
puissant et permet de donner une représentation très
proche des données réelles.
Pour K = 4, nous retrouvons les deux espèces d’origine ainsi que leur sexe comme le montre le tableau
ci-contre. On peut constater que cest un bon résultat
car en effet, en prenant K = 4 classes, on peut aussi
bien retrouver l’espèce associé que le sexe des crabes.
CUNI Frédéric - P15
Espèce
Classe 1
Classe 2
Classe 3
Classe 4
B
31
12
22
35
O
26
32
7
35
Sexe
Classe 1
Classe 2
Classe 3
Classe 4
F
27
21
15
37
M
30
23
14
33
7
2.3 Données Mutations
Au préalable de l’étude, il faut tout d’abord calculer une représentation des données mutations dans un espace de dimension d = 5 sur laquelle on pourra utiliser la fonction kmeans.
Une foi la représentation définie, il nous faut effectuer
plusieurs classifications de cette représentation en K =
3 classes. Pour ce faire nous utilisons la fonction mut
ci-contre, qui nous permet d’effectuer 100 classifications différentes et permet de stocker dans un matrice
les inerties intra-classes obtenues à partir de ces lancés.
La représentation ci-joint est celle de la matrice
contenant les inerties intra-classe des différents lancés. On peut constater que celles-ci sont très disparates. En effet, comparé aux données Iris avec K = 3,
nous n’avions que 2 valeurs répétitives de données
intra-classe. Or ici nous obtenons de nombreuses valeurs différentes. On peut donc conclure que le résultat est instable car il dépend du positionnement de
départ car l’algorithme des kmeans trie au hasard les
points de départs.
Conclusion du TP :
Ces différents exercices nous on permis d’utiliser et d’analyser des tableaux de distances
ainsi qu’à différentes méthodes pour les représenter. Nous avons utiliser en première partie l’AFTD qui permet de donner une représentation des données de départ très proche
des données réelles. En seconde partie, nous avons utilisé l’algorithme des kmeans qui
partitionne le tableau de données de départ. Celui-ci nous à permis de comprendre l’interrogation du nombre de classes K à choisir et la méthode pour y parvenir : la méthode
du coude. On a de plus, constater que cette méthode peut suggérer un choix de classe
différent des données réelles. Cependant, la représentation obtenu était très proche des
donnes réelles de départs.
CUNI Frédéric - P15
8

Documents pareils