Boîtes, moustaches et violons





Très souvent, les données doivent être comparées. Par exemple, nous disposons de plusieurs séries de données sur certains domaines de l'activité humaine (industrie, médecine, gouvernement, ...), et nous voulons comparer leur similitude ou, au contraire, comment certains indicateurs se distinguent par rapport à d'autres. Pour faciliter la perception, prenons des données plus simples, universelles et neutres - la hauteur au garrot et le poids de plusieurs races de chiens selon l'American Kennel Club. Les données de taille moyenne des roches peuvent être trouvées ici... Ajoutez la fonction random.uniform de la bibliothèque numpy Python, convertissez les pouces en centimètres et les livres en kilogrammes, et nous avons maintenant un ensemble de données de taille de chien multi-races réaliste avec lequel travailler. Dans notre exemple, ce sont les Chihuahuas, les Biglies, les Rottweilers et les Setters anglais.







Un analyste que vous pouvez utiliser pour comparer ces 4 séries de nombres est de regarder leur médiane. Il divise la série de données en deux parties: la moitié des valeurs sont inférieures à la médiane et l'autre moitié sont supérieures. Nous trouvons les valeurs médianes en les regroupant par la colonne «Race» en utilisant la bibliothèque pandas et en appliquant la fonction médiane aux données groupées. De même, vous pouvez consulter d'autres statistiques: moyenne (moyenne) et mode (mode).



Nous voyons que la moitié des Chihuahuas que nous avons rencontrés ont une hauteur au garrot ne dépassant pas 18 cm, le beagle est beaucoup plus haut - dans la région de 41 cm, et les suivants en taille sont le Rottweiler et le setter anglais, qui diffèrent légèrement en hauteur: 58 et 63 cm.







Figure 2. Médiane les valeurs de la hauteur au garrot des quatre races de chiens.

Mais une seule médiane ne suffit pas pour l'analyse comparative des données. Vous pouvez obtenir plus d'informations en consultant un outil tel qu'un tracé en boîte et moustaches tracé avec la bibliothèque de traçage Seaborn Python. La ligne à l'intérieur de la boîte est la médiane familière. Son niveau sur le graphique de droite (voir figure 3) coïncide avec la hauteur de la colonne correspondante sur la gauche. Mais en même temps, le swing chart contient des informations supplémentaires sur la façon dont les données sont distribuées dans la ligne: la bordure inférieure du rectangle (boîte) est le premier quartile (la valeur dépasse 25% des valeurs de la série), et la bordure supérieure est le troisième quartile (la valeur dépasse 75% des valeurs ). Et ces mêmes "moustaches" sont des segments,s'étendant de haut en bas à partir du milieu du rectangle sont tracés sur la base de l'intervalle interquartile et désignent les limites supérieure et inférieure de la partie significative de nos données, à l'exclusion des valeurs aberrantes. Il n'y a pas d'émissions ici (nous n'avons pas rencontré de dystrophiques et de chiens géants), s'il y en avait, ils seraient affichés comme des marques en dehors de la "moustache".







Figure 3. Comparaison des graphiques à barres et des plages tracés pour le même jeu de données.

Le violinplot de la même bibliothèque Seaborn nous donne encore plus d'informations sur la structure des données en question. La figure 4 ci-dessous montre les trois graphiques, où les roches sont dans le même ordre à chaque fois, et la couleur de la ligne correspondante est préservée.







Figure 4. Comparaison du tracé de la mesure, du swing et du violon pour le même jeu de données.

Par exemple, les données Rottweiler sont affichées en vert.



Les similitudes et les différences entre le diagramme de portée (boîte avec moustache) et le graphique du violon sont illustrées dans la Figure 5. Premièrement, les similitudes: (1) les deux graphiques sous une forme ou une autre représentent 0,25 quantile, 0,5 quantile (médiane) et 0,75 quantile; (2) à la fois là-bas et il y a des valeurs extrêmes qui sont proches de la valeur d'un intervalle interquartile et demi (IQR), tracées à partir des bords inférieur et supérieur de la boîte - la même "moustache" pour le diagramme de swing, en dehors de laquelle il y a des "valeurs aberrantes".



La différence est que le graphique du violon contient également des informations sur la façon dont les données sont distribuées en interne. les limites du "violon" construit sont la densité de distribution tournée de 90 degrés. Et dans ce cas, lors de l'analyse du graphique, nous avons beaucoup plus d'informations: en plus des quantiles et des valeurs décrivant les 4 distances interquartiles (1,5 + 1 + 1,5), sur le graphique du violon, vous pouvez voir si les données sont uniformément réparties ou s'il y a plusieurs centres où les valeurs sont plus souvent.







Figure 5. Explications sur la correspondance des éléments des deux graphiques: span et violon.

Cette idée peut être vue plus clairement dans le graphique suivant (Figure 6), où les données pour les deux groupes de Rottweilers diffèrent, mais sont sélectionnées de manière à ce que les médianes coïncident (le graphique le plus à gauche) et encore plus - les diagrammes de swing (au centre) coïncident également! Et seul le graphique du violon (à l'extrême droite) nous montre qu'en fait la structure des données est très différente.







Figure 6. Un exemple où seul le graphique du violon nous permet de voir les différences dans la structure interne des données considérées.

En utilisant le clustering K-Means (cluster.KMeans) du module sklearn, nous pouvons représenter visuellement les données groupées en traçant un nuage de points en utilisant la fonction de nuage de points du module seaborn. Ici, la couleur sépare un cluster, créé par l'algorithme ML, d'un autre et la forme du marqueur montre l'original appartenant à un groupe particulier. Il n'était pas nécessaire de réduire la dimension en utilisant l'ACP ou toute autre méthode, car les données sont à l'origine 2D.







Code pour le clustering et le nuage de points:









Ainsi, en utilisant l'exemple des données sur la hauteur au garrot de plusieurs races de chiens, nous nous sommes familiarisés avec certaines caractéristiques statistiques des séries de nombres et les outils pour leur visualisation. Un outil simple fournit une métrique claire, mais ne fournit pas une image complète. Des outils plus sophistiqués donnent une image plus profonde des données, mais ils sont également plus difficiles à percevoir en raison de l'augmentation de la quantité d'informations sur le graphique. Et ici, il est important de choisir un outil pour une tâche spécifique afin de trouver un équilibre entre l'exhaustivité requise de l'information et la facilité de sa perception sur la carte.



All Articles