Quelles sont les alternatives à un boxplot?

20

Je travaille sur la création d'un site Web, qui affiche les données du recensement pour un utilisateur de polygones sélectionnés et souhaite afficher graphiquement la distribution des différents paramètres (un graphique par paramètre).

Les données ont généralement les propriétés suivantes:

  1. La taille de l'échantillon a tendance à être grande (disons environ 10 000 points de données)
  2. La plage de valeurs a tendance à être large (par exemple, la population minimale peut être inférieure à 100 et le maximum peut être de l'ordre de 500 000)
  3. q1 est généralement proche du minimum (disons 200) tandis que q2 et q3 seront à moins de 10 000
  4. Cela ne ressemble en rien à une distribution normale

Je ne suis pas statisticien et donc ma description n'est peut-être pas tout à fait claire.

Je voudrais montrer cette distribution sur un graphique, qui sera vu par les citoyens (le profane, si vous voulez).

J'aurais préféré utiliser un histogramme, mais ce n'est pas possible en raison de la large gamme de valeurs, à cause de laquelle la création de bacs n'est pas vraiment facile et directe.

D'après le peu que je connais sur les statistiques, un diagramme en boîte est ce qui est souvent utilisé pour montrer ce type de données, mais je pense que pour un profane, déchiffrer le diagramme en boîte n'est pas facile.

Quelles sont mes options pour afficher ces données de manière simple à comprendre?

Devdatta Tengshe
la source
que montrez-vous exactement? Pour moi, le type de données que représente votre point de données unique n'est pas clair.
mpiktas
1
Que diriez-vous d'un tracé de densité du noyau? statmethods.net/graphs/density.html
Roman Luštrik
@mpiktas: Mes données sont des données de recensement pour les villages. Mon site Web permettra à l'utilisateur de sélectionner une zone sur la carte, puis trouvera tous les villages de cette zone. Les données de recensement pour un village se composent de diverses valeurs telles que: population masculine, population féminine, revenu moyen du ménage, etc. pour ce village. J'espère montrer la distribution des données pour une valeur particulière (par exemple: la population totale) pour tous les villages tombant dans la zone sélectionnée par l'utilisateur.
Devdatta Tengshe

Réponses:

13

Un boxplot n'est pas si compliqué. Après tout, il vous suffit de calculer les trois quartiles , ainsi que le min et le max qui définissent la plage; une subtilité apparaît lorsque l'on veut dessiner les moustaches et différentes méthodes ont été proposées. Par exemple, dans une boîte à moustaches de Tukey, des valeurs en dehors de 1,5 fois l'inter-quartile du premier ou du troisième quartile seraient considérées comme des valeurs aberrantes et affichées comme de simples points. Voir aussi Méthodes de présentation des informations statistiques: le diagramme en boîte pour un bon aperçu , par Kristin Potter. Le R logiciel met en œuvre une règle légèrement différente , mais le code source est disponible si vous souhaitez étudier (voir boxplot()etboxplot.stats()les fonctions). Cependant, il n'est pas très utile lorsque l'intérêt est d'identifier les valeurs aberrantes d'une distribution très asymétrique (mais voir, Un boxplot ajusté pour les distributions asymétriques , par Hubert et Vandervieren, CSDA 2008 52 (12)).

En ce qui concerne la visualisation en ligne, je suggère de jeter un œil à Protovis qui est une boîte à outils js sans plugin pour les affichages Web interactifs. La page d' exemples contient des illustrations de ce qui peut être réalisé avec elle, en très peu de lignes.

chl
la source
3
Je travaille dans la recherche biologique. Je connais des collègues (je veux dire des gens qui ont un doctorat) qui ne peuvent pas vraiment saisir les boxplots. Je ne les utiliserais pas pour cibler un public général.
nico
1
@nico C'est un bon point. Mais ce n'est pas une raison pour ne pas utiliser de résumé graphique efficace. Une illustration schématique de ce que fait réellement un boxplot pourrait aider le lecteur.
chl
1
cela dépend vraiment de ce que le public cible est et quel est le but du site. Expliquer les boxplots aiderait certainement, mais quand même, certaines personnes ont beaucoup de mal avec le concept de distribution.
nico
@nico Oui, je suis d'accord. Bien que boxplot ne soit pas mentionné dans A Tour through the Visualization Zoo - mais ce sont pour des ensembles de données volumineux et complexes, je l'aime tout simplement et je suis désolé de voir qu'il n'est pas beaucoup utilisé en sciences expérimentales. La superposition de données brutes est un moyen d'aider le lecteur à visualiser la distribution.
chl
1
Je sais! J'essaie toujours de «convertir» mes collègues en boîtes à moustaches, du moins quand il s'agit d'écrire des articles, de faire des présentations, etc., mais c'est parfois le cas!
nico
11

Vous voudrez peut-être également jeter un coup d'œil aux haricots .

texte alternatif

[ Source ]

Implémenté dans le package R par Peter Kampstra.

radek
la source
7

Je vous suggère de persévérer avec les histogrammes. Ils sont beaucoup plus largement compris que les alternatives. Utilisez une échelle logarithmique pour faire face à la large gamme de valeurs. Voici un exemple que j'ai concocté en quelques minutes dans Stata: j'avoue Histogramme avec échelle logarithmique sur l'axe des valeurs
que les étiquettes numériques de l'axe x n'étaient pas entièrement simples ou automatiques, mais lorsque vous créez un site Web, je suis sûr que vos compétences en programmation sont à la hauteur défi!

un arrêt
la source
Bon point. Les histogrammes (ou diagrammes de densité avec expérience avec la bande passante) sont une excellente solution ici.
suncoolsu
Vous avez tout à fait raison, l'histogramme est le moyen le plus connu pour montrer une distribution. Je vais essayer de faire des histogrammes avec les deux axes en échelle logarithmique.
Devdatta Tengshe
2
Je suggère seulement d'utiliser une échelle logarithmique pour l'axe des x. Je ne pense pas qu'une échelle logarithmique pour l'axe des fréquences serait une bonne idée, car la zone ombrée de chaque barre de l'histogramme ne serait pas proportionnelle au nombre d'observations.
2011
5

Voici une fonction matlab pour tracer plusieurs histogrammes côte à côte en 2D comme alternative au box-plot. Voir l'image en haut. Et en voici un autre

La bande de densité est une autre alternative au box-plot. Il s'agit d'une bande monochrome ombrée dont l'obscurité en un point est proportionnelle à la densité de probabilité de la quantité en ce point. Ceci est une implémentation R de la bande de densité

George Dontas
la source
1
(+1) J'ai oublié ça. Cela pourrait être utile.
chl
1
Je viens de trouver une version PDF non fermée de l' affichage de l'incertitude avec l'ombrage .
chl
@chl: ce lien ne fonctionne pas
kjetil b halvorsen
4

x%x=0,10,20,...,100

mpiktas
la source
3
Citant un de mes amis: si vous voulez «cacher» quelque chose dans un papier, mettez-le dans le texte plutôt que dans une figure. Si vous voulez vous assurer que personne ne le lit, mettez-le dans un tableau! ;) Je plaisante bien sûr, mais avoir un site web avec des cartes interactives pour que les utilisateurs cliquent etc. tout ça pour avoir un tableau ... eh bien ce serait décevant!
nico
@nico, oui, mais parfois les tableaux sont beaucoup plus informatifs que les graphiques. Je préfère par exemple la table au lieu d'un mauvais graphique. Dans ce cas, le tableau peut toujours être représenté par un graphique, et j'ai suggéré des quantiles car ils n'ont pas de problèmes avec les valeurs aberrantes.
mpiktas
C'est ce que je fais actuellement (montrer les déciles sur un graphique), mais après l'avoir montré à certains de notre public cible, nous avons reçu des commentaires, que les graphiques n'étaient pas faciles à comprendre.
Devdatta Tengshe
2

Si vous ciblez la population en général (c'est-à-dire un public non averti en statistiques), vous devez vous concentrer sur le plaisir des yeux plutôt que sur la précision statistique.

Oubliez les boxplots, et encore moins les complots de violon (je les trouve personnellement très difficiles à lire)! Si vous demandez à l'homme de la rue ce qu'est un quantile, vous obtiendrez surtout un silence aux yeux écarquillés ...

Vous devez utiliser des graphiques à barres, des graphiques à bulles, peut-être des graphiques circulaires (brrrr). Oubliez les barres d'erreur (même si je mettrais SD dans le texte quelque part le cas échéant).

Utilisez des couleurs, des formes, des lignes épaisses, 3D. Vous devez rendre chaque graphique unique et immédiatement facile à comprendre, même sans avoir à lire toutes les légendes / axes, etc. Faites une utilisation intelligente des cartes en les colorant.

L'information est belle est une très bonne ressource pour trouver des idées. Regardez ce tableau par exemple: Caféine et calories : tout le monde peut le comprendre, et c'est agréable à l'œil.

Et, bien sûr, jetez un œil au travail d'Edward Tufte.

Nico
la source
Notez que je ne proposais pas qu'il utilise des tracés de violon pour ses applications, mais un histogramme avec des bacs espacés logarithmiquement. Les complots de violon étaient la réponse à la question dans le titre (qui était plutôt différente de la question dans le message lui-même).
Dikran Marsupial
3
Vous aimerez probablement Many Eyes , dataviz , datavisualization.ch et Ideas2evidence , pour n'en nommer que quelques-uns.
chl
2

J'aime plutôt les intrigues de violon , car cela donne une idée de la forme de la distribution. Cependant, si la grande plage de valeurs est le problème, il serait peut-être préférable de tracer le journal des données plutôt que les valeurs brutes, ce qui rendrait alors le choix des tailles de boîte pour les histogrammes, etc. Comme l'affichage est pour les profanes, ne ne mentionnez pas les journaux et marquez l'axe 10, 100, 1000, 10000, 100000, 1000000 etc.

Dikran Marsupial
la source