¿La mejor manera de poner dos histogramas en la misma escala?


14

Digamos que tengo dos distribuciones que quiero comparar en detalle, es decir, de manera que haga que la forma, la escala y el desplazamiento sean fácilmente visibles. Una buena manera de hacerlo es trazar un histograma para cada distribución, colocarlos en la misma escala X y apilar uno debajo del otro.

Al hacer esto, ¿cómo se debe hacer binning? ¿Deberían ambos histogramas usar los mismos límites de bin incluso si una distribución está mucho más dispersa que la otra, como en la Imagen 1 a continuación? ¿Debería hacerse un binning de forma independiente para cada histograma antes del zoom, como en la Imagen 2 a continuación? ¿Hay incluso una buena regla general sobre esto?

Imagen 1 Imagen 2


55
Los gráficos QQ son herramientas mucho mejores para la comparación incisiva de distribuciones empíricas. Usarlos evita el problema del binning por completo.
whuber

3
@whuber: De acuerdo, si solo desea una visualización sensible de si dos distribuciones son diferentes, pero el enfoque de histograma es IMHO mejor si desea una visión detallada de cómo son diferentes.
dsimcha

3
@dsimcha Mi experiencia ha sido todo lo contrario. El gráfico QQ muestra claramente (de manera cuantitativa) las diferencias de escala, ubicación y forma, especialmente en el grosor de las colas. (Intente comparar dos SD directamente de los histogramas, por ejemplo: es imposible cuando tienen un valor cercano. En un gráfico QQ solo necesita comparar pendientes, lo que es rápido y relativamente preciso). Un gráfico QQ es inferior a un histograma en términos de elegir modos, pero ningún histograma es bueno hasta que se haya recopilado una cantidad decente de datos y se haya hecho una buena selección de contenedores.
whuber

1
Estoy de acuerdo en que los gráficos QQ son la mejor solución, aunque no evitan el problema del contenedor, solo te obligan a colocar los contenedores en lugares particulares (los cuantiles :-) Por otro lado, esto implica que los contenedores no , de hecho, no debería ser compartido por las dos distribuciones.
conjugateprior

1
@dsimcha, creo que algo así como las gráficas de edad / género podrían ser imágenes útiles. De todos modos, ¿por qué usar histogramas para esto? Simplemente trace las funciones de distribución directamente. Sin embargo, si estás jugando con cosas empíricas, entonces la sugerencia de la trama QQ es la mejor opción.
Dmitrij Celov

Respuestas:


7

Creo que necesitas usar los mismos contenedores. De lo contrario, la mente te engaña. Normal (0,2) se ve más disperso en relación con Normal (0,1) en la Imagen # 2 que en la Imagen # 1. Nada que ver con las estadísticas. Parece que Normal (0,1) se puso a "dieta".

-Ralph Winters

El punto medio y los puntos finales del histograma también pueden alterar la percepción de la dispersión. Tenga en cuenta que en este applet una selección de bin máxima implica un rango de> 1.5 - ~ 5 mientras que una selección de bin mínima implica un rango de <1 -> 5.5

http://www.stat.sc.edu/~west/javahtml/Histogram.html


1
¿Podría proporcionar alguna justificación teórica para esta opinión?
whuber

No, solo una opinión. Pero si tuviera tiempo, comenzaría mi investigación en el mundo de los envases minoristas (percepción del cuerpo delgado) e incorporaría parte del trabajo de Tufte.
Ralph Winters

@whuber: se relaciona principalmente con la forma en que nuestro cerebro procesa la información. Cuando hay contenedores más pequeños, nuestra mente también "encoge" los límites de la curva. Intente invertir el tamaño de los contenedores en la fig. # 2 para ver a qué me refiero.
nico

@nico Sí, hay un elemento perceptual en la pregunta. Pero en primer plano está el problema estadístico porque tiene una influencia mucho mayor: contenedores más pequeños ==> más variabilidad de la muestra en los contenedores ==> más histogramas "irregulares" ==> mayor dificultad en comparación. Por lo tanto, en mi opinión, cualquier respuesta que valga la pena debe aportar el apoyo de la teoría estadística (como mínimo).
whuber

@whuber: Me refería al hecho de que la distribución se ve dispersa de manera diferente en las dos imágenes. Por supuesto, su aspecto no tiene nada que ver con cuánto están realmente dispersos.
nico

2

Otro enfoque sería trazar las diferentes distribuciones en la misma trama y usar algo como el alphaparámetro ggplot2para abordar los problemas de sobreplotación. La utilidad de este método dependerá de las diferencias o similitudes en su distribución, ya que se trazarán con los mismos contenedores. Otra alternativa sería mostrar curvas de densidad suavizadas para cada distribución. Aquí hay un ejemplo de estas opciones y las otras opciones discutidas en el hilo:

library(ggplot2)

df <- melt(
    data.frame( 
        x = rnorm(1000)
        , y = rnorm(1000, 0, 2)
    )
)


ggplot(data = df) + 
#   geom_bar(aes(x = value, fill = variable), alpha = 1/2)
#   geom_bar(aes(x = value)) + facet_grid(variable ~ .)
#   geom_density(aes(x = value, colour = variable))
#   stat_qq(aes(sample = value, colour = variable))

¿Acaso esto no lleva la pregunta al tema de seleccionar los anchos de kernel apropiados y si (y cómo) uno puede comparar dos lisos usando diferentes anchos de kernel?
whuber

1
@whuber - punto válido. No estaba tratando de sugerir que las curvas de densidad fueran el mejor método para usar, simplemente ofreciendo otras alternativas. Está claro en esta publicación que hay ventajas y desventajas de cualquier enfoque, por lo que ofrecer esto como otra alternativa viable para agregar a la mezcla.
Chase

A la luz de eso, estoy votando tu respuesta, +1.
whuber

0

Entonces, ¿se trata de mantener el mismo tamaño de contenedor o mantener el mismo número de contenedores? Puedo ver argumentos para ambos lados. Una solución alternativa sería estandarizar los valores primero. Entonces podrías mantener ambos.


Eso funcionaría cuando los dos tamaños de muestra son similares. Pero cuando son diferentes, el tamaño común del contenedor (incluso en unidades estandarizadas) podría ser apropiado para uno u otro histograma, pero no para ambos. ¿Cómo lidiarías con ese caso?
whuber

Tal vez estamos pensando en diferentes significados de estandarización. Me refería a la que vinculé donde, por ejemplo, si una población tiene un stdev de 5 y la otra tiene un stdev de 10, después de la estandarización, ambos tendrían un stdev de 1. Entonces podrían ser más equitativamente comparados con el mismo tamaño del contenedor ya que cada contenedor tiene una cantidad comparable de píxeles y datos. O tal vez que estaba recibiendo en la cuestión más amplia que "bin tamaño apropiado" es un poco de un arte negro y único para cada conjunto de datos ...
Xan

Compartimos el mismo significado de "estandarizar". Elegir un tamaño de contenedor requiere juicio y conocimiento del contexto, pero es difícil caracterizarlo como un "arte negro": ver, por ejemplo, stats.stackexchange.com/q/798/919 .
whuber
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.