Est-il approprié de tracer la moyenne dans un histogramme?

13

Est-il "correct" d'ajouter une ligne verticale à un histogramme pour visualiser la valeur moyenne?

Cela me semble bien, mais je n'ai jamais vu cela dans les manuels et autres, alors je me demande s'il y a une sorte de convention pour ne pas faire ça?

Le graphique est pour un papier à terme, je veux juste m'assurer que je ne casse pas accidentellement une règle de statistiques tacite super importante. :)

Client
la source
Pourquoi pas. Juste pour ajouter un commentaire. La moyenne est une valeur récapitulative tout comme l'histogramme. Vous pouvez faire varier le degré d'informations fournies en faisant varier la taille du seau de l'histogramme par exemple. Cependant, généralement, l'histogramme fournit plus d'informations que la moyenne. Vous pouvez en fait approximer la valeur moyenne d'un histogramme. Je pense que c'est pourquoi ils ne sont généralement pas fournis ensemble.
Simone
On voit parfois des histogrammes avec une distribution superposée (par exemple, le plus souvent dans mon expérience, la distribution normale tracée en utilisant la moyenne de l'échantillon et l'écart-type.) Ce qui fait la même chose (et un peu plus) que de tracer une ligne verticale (indiquant où l'échantillon la moyenne est avec le sommet de la courbe.)
James Stanley

Réponses:

30

Bien sûr pourquoi pas?

histogramme avec moyenne

Voici un exemple (l'un des dizaines que j'ai trouvé avec une simple recherche Google):

hist avec moyenne et médiane

(La source de l'image est le blog de mesure de l'utilisabilité, ici .)

J'ai vu des moyennes, des moyennes plus ou moins un écart-type, divers quantiles (comme la médiane, les quartiles, les 10e et 90e centiles), tous affichés de diverses manières.

Au lieu de tracer une ligne juste à travers le tracé, vous pouvez marquer des informations au bas de celui-ci - comme ceci:

histogramme avec boxplot marginal

Il y a un exemple (l'un des nombreux à trouver) avec un boxplot en haut plutôt qu'en bas, ici .

Parfois, les gens marquent dans les données:

tapis de terrain histogramme avec gigue
(J'ai légèrement agité les emplacements des données car les valeurs ont été arrondies à des entiers et vous ne pouviez pas bien voir la densité relative.)

Il y a un exemple de ce genre, fait dans Stata, sur cette page (voir le troisième ici )

Les histogrammes sont meilleurs avec un peu d'informations supplémentaires - ils peuvent être trompeurs par eux-mêmes

Il vous suffit de prendre soin d'expliquer en quoi consiste votre intrigue! (Vous voudriez un meilleur titre et une étiquette sur l'axe des x que je n'ai utilisé ici, pour commencer. Plus une explication dans une légende de figure expliquant ce que vous aviez marqué dessus.)

-

Un dernier complot:

histogramme avec stripchart

-

Mes tracés sont générés en R.

Éditer:

Comme l'a supposé @gung, a abline(v=mean...été utilisé pour tracer la ligne moyenne à travers le graphique et a rugété utilisé pour tracer les valeurs des données (bien que j'aie effectivement utilisé rug(jitter(...parce que les données ont été arrondies à des entiers).

Voici un moyen de faire le boxplot entre l'histogramme et l'axe:

hist(Davis2[,2],n=30)
boxplot(Davis2[,2],
  add=TRUE,horizontal=TRUE,at=-0.75,border="darkred",boxwex=1.5,outline=FALSE)

Je ne vais pas énumérer à quoi tout cela sert, mais vous pouvez vérifier les arguments dans l'aide ( ?boxplot) pour savoir à quoi ils servent et jouer avec eux-mêmes.

Cependant, ce n'est pas une solution générale - je ne garantis pas que cela fonctionnera toujours aussi bien qu'ici (notez que j'ai déjà changé les options atet boxwex*). Si vous n'écrivez pas une fonction intelligente pour prendre soin de tout, il est nécessaire de faire attention à ce que tout fait pour vous assurer qu'il fait ce que vous voulez.

Voici comment créer les données que j'ai utilisées (j'essayais de montrer comment la régression Theil était vraiment capable de gérer plusieurs valeurs aberrantes influentes). Il se trouve que ce sont des données avec lesquelles je jouais lorsque j'ai répondu à cette question pour la première fois.

 library("car")
 add <- data.frame(sex=c("F","F"),
       weight=c(150,130),height=c(NA,NA),repwt=c(55,50),repht=c(NA,NA))
 Davis2 <- rbind(Davis,add)

* - une valeur appropriée pour atest d'environ -0,5 fois la valeur de boxwex; ce serait une bonne valeur par défaut si vous écrivez une fonction pour le faire; boxwexdevrait être mis à l'échelle d'une manière qui se rapporte à l'échelle y (hauteur) du boxplot; Je suggérerais que 0,04 à 0,05 fois la limite supérieure y soit souvent correcte.

Code pour le diagramme à bandes marginales:

 hist(Davis2[,2],n=30)
 stripchart(jitter(Davis2[,2],amount=.5),
       method="jitter",jitter=.5,pch=16,cex=.05,add=TRUE,at=-.75,col='purple3')
Glen_b -Reinstate Monica
la source
+1, ce sont bien; vous voulez ajouter le code? abline(v=mean(Davis2[,2]))& rug(Davis2[,2])Je suppose, mais comment avez-vous coincé le boxplot là-dedans?
gung - Rétablir Monica
1
@gung Voir l'édition pour de brefs détails, y compris un exemple reproductible similaire à celui avec le boxplot. Cela ne fait vraiment rien de plus intelligent que d'utiliser plusieurs des arguments de la boxplotfonction. Entre boxplotet boxpvous pouvez faire des choses assez astucieuses avec peu d'effort.
Glen_b -Reinstate Monica
Sagesse pour les âges: "Si vous n'écrivez pas une fonction intelligente pour prendre soin de tout, il faut faire attention à ce que tout fait pour vous assurer qu'il fait ce que vous voulez" ;-).
gung - Rétablir Monica
Oui. J'ai même envisagé d'écrire quelque chose d'intelligent à définir atet boxwexainsi de suite ... mais au mieux, je ne fais que quelques parcelles comme ça par an, et cela prend quelques secondes à chaque fois pour taper? Boxplot et définir les bonnes options. J'ai pensé qu'il est plus facile de simplement faire attention à ce que je fais.
Glen_b -Reinstate Monica
@gung J'ai édité pour donner du code pour créer les données Davis2 que j'utilisais. J'espère que cela pourra aider.
Glen_b -Reinstate Monica
3

Bien sûr vous pouvez. Assurez-vous simplement d'étiqueter / d'indiquer clairement ce que signifie la ligne et d'éviter de rendre l'intrigue trop «occupée».

Rien n'est pire qu'un graphique qui véhicule trop d'informations pour être facilement compréhensible. Le tableau est un moyen souvent négligé d'afficher des statistiques résumées de manière claire et concise.

TLJ
la source
2

Les réponses précédentes font d'excellents points, mais voici un élément fondamental à ajouter.

La moyenne est le centre de gravité d'une distribution et donc le point de pivot d'un histogramme. C'est là que la distribution s'équilibrerait. Il y a donc une relation réciproque: non seulement la moyenne peut vous aider à penser à un histogramme, mais un histogramme peut aussi vous aider à penser à la moyenne. Cela est peut-être encore plus utile lorsqu'une distribution est asymétrique et que la moyenne de la distribution n'est pas nécessairement au milieu.

Nick Cox
la source
1

Je n'y vois aucun problème, voyez ceci , ceci et cela comme exemples.

RS18
la source