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 plateforme 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 neighborjoining : 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 sontils satisfaisants ? Pourquoi ? Comment pourriezvous expliquer un tel résultat ? Que peuton 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 sontils satisfaisants maintenant ? Si on calcule la corrélation cophénétique on a > drc < cophenetic(hcr) > cor(drc,dr) Estil étonnant de trouver la même (mauvaise) valeur ? Qu'elle est est la signification de ce coefficient de corrélation ? Que peuton 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 intragroupe, 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 sousjacent aux moyennes mobiles s'appliquet'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