Clasifications et partitions Fichier

Transcription

Clasifications et partitions Fichier
Ecole Doctorale MNHN Module Analyse des Données avec R
Michel Baylac, UMR 7205, UMS 2700 plate­forme Morphométrie
[email protected]
6
Classifications et partitions
7
5
Partitions
4
6
3
2
1
1
2
3
7
6
4
5
Données
(N=7, p=2)
Distances
Classificationsrarchique
Diagrammes d'Euler
superposés aux données
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Classifications
bibliothèques R
­ la fonction hclust() dans stats est la plus simple d'utilisation. Elle contient les approches agglomératives ascendantes classiques et ne nécessite pas le chargement d'une bibliothèque additionnelle
­ la bibliothèque cluster de Rousseeuw, plus sophistiquée, s'appuie sur le livre de Kaufman and Rousseeuw (1990). Plus riche, elle propose notamment des approches divisives. ­ la bibliothèque ape (E. Paradis) avec une implémentation du neighbor­joining : nj() et une du minimum spanning tree mst() ­ la bibliothèque igraph (graphes et analyse de réseaux) contient également une fonction minimum.spanning.tree()
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Classifications hiérarchiques
exemples
La plupart des fonction exige en entrée une matrice de distances
On calcule d'abord la matrice des distances euclidiennes avec dist()
On utilisera ici la seule fonction hclust() avec encore et toujours l'exemple des crabes . > d <­ dist(crab)
> ?hclust
> hc <­ hclust(d, "ave") # méthode du lien moyen (paramètre "ave")
> plot(hc)
# tracé de l'arbre
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Classifications hiérarchiques
exemples
Une étude plus fine de l'arbre peut être faite grâce à la fonction identify() qui renvoie les numéros des individus pointés par un clic gauche de la souris :
> identify(hc,print,N=20) # étudiez l'aide, ?identify
Un moyen d'examiner la qualité de la topologie obtenue est de calculer les distances d'arbre, puis la corrélation ­ appelée corrélation cophénétique ­ entre les distances d'arbre et les distances euclidiennes initiales. Plus cette corrélation est élevée, meilleure est la représentation obtenue. > d2 <­ cophenetic(hc) > cor(d,d2) # Ce n'est pas le cas de celle obtenue ici, avec r = 0.6714 !
Examinez l'arbre obtenu. Les groupes sont­ils satisfaisants ? Pourquoi ?
Comment pourriez­vous expliquer un tel résultat ? Que peut­on faire dans un tel cas ?
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Classifications hiérarchiques
exemples
> dr <­ dist(prcomp(crab)$x[,­1]) # Etudiez la syntaxe utilisée
> hcr <­ hclust(dr, "ave")
> plot(hcr)
Examinez l'arbre obtenu. Les groupes sont­ils satisfaisants maintenant ? Si on calcule la corrélation cophénétique on a
> drc <­ cophenetic(hcr)
> cor(drc,dr)
Est­il étonnant de trouver la même (mauvaise) valeur ? Qu'elle est est la signification de ce coefficient de corrélation ? Que peut­on dire de l'arbre obtenu ? Et de sa topologie ?
Refaites les mêmes calculs en utilisant les méthodes du lien simple, complet, et de Ward. Conclusions
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Classifications hiérarchiques
exemples
dans le contexte de l'étude des crabes, le coefficient de corrélation cophénétique n'est pas la seule mesure . Suggérez en une autre
Puisqu'on connaît les affectations exactes aux 4 groupes, on peut comparer les affectations d'origine et celles calculées par les classifications hiérarchiques. La fonction cutree() découpe l'arbre soit en fonction d'un nombre de groupes pré­établi (paramètre k =), soit à un niveau ad hoc tiré de l'étude de l'arbre considéré (h=)
On prendra ici k = 4
La syntaxe est la suivante dans le cas du lien moyen : Ecole Doctorale MNHN Module Analyse des Données avec R
R : Classifications hiérarchiques
exemples
> hcr <­ hclust(dr, "ave")
> plot(hcr)
> afav <­ cutree(hcr, k = 4)
> table(gl(4,50), afav)
qui fournit la matrice de confusion suivante : (avec lignes = origine, colonnes = cutree())
1
2
3
4
1
47
3
1
0
2
3
47
0
1
3
0
0
49
5
4
0
0
0
44
On a (47+47+49+44)/2 = 93.5 % de bien classés. Si on fait de même avec les méthodes "ward", "single", "complete" (attention aux numéros de groupes qui ne se correspondent pas) on obtient : "ward" : 54.5 %, "single" : 25.5 %, "complete" : 57 %, "mcquitty" : 81 %, "median" : 87.5 %, "centroid" : 96 %)
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Partitions par les moyennes mobiles
principe
A
B
Partition par les moyennes mobiles en quatre étapes sur un ensemble de 9 points et pour k=2 groupes :
A : Tirage de k=2 noyaux, (points entourés) tirés au hasard, ou issus d'une classification préliminaire (hiérarchique par exemple)
C
D
B : On rattache chaque point au noyau le plus proche
C : On calcule les centres de gravité des nouveaux groupes (croix)
D : On rattache chaque point au noyau le plus proche et on recommence si nécessaire
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Partitions par les moyennes mobiles
principe
A
C
B
D
A noter que le résultat final dépend du tirage initial (notion de minimum local). Il convient donc de recommencer plusieurs fois avec des tirages aléatoires initiaux différents et de choisir par exemple la solution la plus fréquente.
En minimisant la dispersion intra­groupe, la méthode des centres mobiles tend à rechercher des classes sphériques, de volumes similaires et de variances minimales. Ce qui ne correspond pas nécessairement à la réalité des classes existantes
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Partitions par les moyennes mobiles
exemple
On utilisera la fonction kmeans() de la bibliothèque stats
Appelez l'aide de cette fonction (?kmeans) pour pouvoir l'utiliser avec les crabes (encore !)
Utilisez kmeans en fixant k le nombre de groupes recherché k = ?
calculez la matrice de confusion
projetez les classes ainsi obtenues dans le premier plan de l'ACP, que vous recalculerez au passage. Résultats. ?
Quel(s) plan(s) utiliser de préférence ?
Résultats dans le plan 2/3 ? Satisfaisant ? Pourquoi ?
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Partitions par les moyennes mobiles
exemple
Refaites les mêmes analyses en éliminant le premier axe de l'ACP
projetez les classes
Résultat ?
Calculez la matrice de confusion Concluez Le modèle sous­jacent aux moyennes mobiles s'applique­t'il bien ici ?
Ecole Doctorale MNHN Module Analyse des Données avec R
R : Partitions par les moyennes mobiles
exemple
Autres méthodes de partitions :
­ mélanges gaussiens : mélanges de distributions gaussiennes, maximum de vraisemblance et sélection sur modèles distributionnels pré­définis
­ approches “neuronales” : SOM ...
Ces méthodes seront présentées dans le cadre du module de l'école doctorale du MNHN, R: approfondissements et applications