Pour les données distribuées approximativement normalement, les boîtes à moustaches sont un excellent moyen de visualiser rapidement la médiane et la répartition des données, ainsi que la présence de valeurs aberrantes.
Cependant, pour les distributions plus lourdes, de nombreux points sont indiqués comme des valeurs aberrantes, car les valeurs aberrantes sont définies comme étant en dehors du facteur fixe de l'IQR, et cela se produit bien sûr beaucoup plus fréquemment avec les distributions à queue lourde.
Alors, qu'est-ce que les gens utilisent pour visualiser ce type de données? Y a-t-il quelque chose de plus adapté? J'utilise ggplot sur R, si cela importe.
r
distributions
data-visualization
data-transformation
ggplot2
static_rtti
la source
la source
Réponses:
Le problème central de l'OP semble avoir est qu'ils ont très lourds données tailed - et je ne pense pas que la plupart des réponses actuelles portent réellement sur cette question du tout , donc je fais la promotion de mon commentaire précédent à une réponse.
Si vous souhaitez rester avec des boîtes à moustaches, certaines options sont répertoriées ci-dessous. J'ai créé quelques données dans R qui montrent le problème de base:
La moitié médiane des données est réduite à une minuscule bande de quelques mm de large. Le même problème affecte la plupart des autres suggestions - y compris les parcelles QQ, les graphiques à bandes, les parcelles ruche / chaleur d'abeille et les parcelles violon.
Maintenant, quelques solutions potentielles:
1) transformation ,
Si les journaux ou les inverses produisent une boîte à moustaches lisible, ils peuvent être une très bonne idée, et l'échelle d'origine peut toujours être affichée sur l'axe.
Le gros problème est qu'il n'y a parfois pas de transformation «intuitive». Il y a un problème plus petit qui, bien que les quantiles eux-mêmes se traduisent assez bien par des transformations monotones, les clôtures ne le font pas; si vous venez de tracer les données transformées (comme je l'ai fait ici), les moustaches seront à des valeurs x différentes de celles du tracé d'origine.
Ici, j'ai utilisé un péché hyperbolique inverse (asinh); c'est une sorte de log dans les queues et similaire à linéaire près de zéro, mais les gens ne le trouvent généralement pas une transformation intuitive, donc en général je ne recommanderais pas cette option à moins qu'une transformation assez intuitive comme log soit évidente. Code pour cela:
2) les ruptures d'échelle - prenez des valeurs extrêmes et compressez-les dans des fenêtres étroites à chaque extrémité avec une échelle beaucoup plus compressée qu'au centre. Je recommande fortement une pause complète sur toute l'échelle si vous faites cela.
3) le rognage des valeurs extrêmes (que je ne conseillerais pas normalement sans l'indiquer très clairement, mais il ressemble à l'intrigue suivante, sans les "<5" et "2>" à chaque extrémité), et
4) ce que j'appellerai des "flèches" extrêmement aberrantes - similaires au découpage, mais avec le nombre de valeurs ajustées indiqué à chaque extrémité
la source
Personnellement, j'aime utiliser un stripplot avec gigue au moins pour avoir une idée des données. L'intrigue ci-dessous est avec un réseau en R (désolé pas ggplot2). J'aime ces intrigues car elles sont très faciles à interpréter. Comme vous le dites, l'une des raisons à cela est qu'il n'y a pas de transformation.
Le package beeswarm offre une excellente alternative au stripplot (merci à @January pour la suggestion).
Avec vos données, comme elles sont distribuées approximativement normalement, une autre chose à essayer pourrait être un qqplot, qqnorm dans ce cas.
la source
beeswarm
package.Vous pouvez vous en tenir aux boxplots. Il existe différentes possibilités pour définir des moustaches. Selon l'épaisseur de la queue, le nombre d'échantillons et la tolérance aux valeurs aberrantes, vous pouvez choisir deux quantiles plus ou moins extrêmes. Compte tenu de votre problème, j'éviterais les moustaches définies via l'IQR.
À moins bien sûr que vous ne souhaitiez transformer vos données, ce qui dans ce cas rend la compréhension plus difficile.
la source
Je suppose que cette question concerne la compréhension des données (au lieu de les «gérer» autrement).
Si les données sont lourdes et / ou multimodales, je trouve ces «couches» de ggplot2 très utiles à cette fin:
geom_violin
etgeom_jitter
.la source