23 votos

¿Cómo hacer boxplots con muestras pequeñas?

Esta pregunta se inspira en este anuncio además de un comentario de @StephanKolassa y una respuesta de @dipetkov que señalan que los gráficos de caja presentados en esa pregunta son engañosos. Como se señala, los boxplots muestran 5 estadísticos de resumen (el mínimo, el cuartil inferior, la mediana, el cuartil superior y el máximo) de una muestra; pero en algunos casos, el tamaño de la muestra era de sólo 2. Parece ridículo intentar construir un "resumen" de 5 números de una muestra de tamaño 2. En la otra cara de la moneda, si tenemos una muestra de 100 observaciones, un boxplot muestra claramente un resumen de los datos.

Esto me llevó a querer investigar qué hacen las funciones populares de R para construir boxplots. De ahí el siguiente ejemplo para un conjunto de datos simulado con tres grupos y tamaños de muestra de 2, 5 y 15 respectivamente.

set.seed(42)
foo = data.frame(group = rep(1:3, c(2, 5, 15)), 
                 y = c(rnorm(2, mean = 2), rnorm(5, mean = 0), 
                       rnorm(15, mean = 1)))

# standard graphics
boxplot(y ~ group, data = foo)

# lattice graphics
library(lattice)

bwplot(~ y | group, data = foo)

# ggplot2 graphics
library(ggplot2)
ggplot(data = foo, aes(factor(group), y)) + geom_boxplot()

Creado el 2022-07-19 por el paquete reprex (v2.0.1)

Lo que vemos es que en los tres métodos gráficos -estándar, celosía y ggplot -- El programa produce gráficos de caja para los tres grupos.

Así que mi pregunta es

  1. ¿Es apropiado que el software boxplot construya un boxplot independientemente del tamaño de la muestra?
  2. Si no, ¿qué debería hacer en su lugar?

20voto

anand Puntos 199

Creo que este es un caso en el que el software engaña a los usuarios. Así que mi respuesta a (1) es "no". Cuando intentamos "resumir" una muestra de 2 valores, o incluso de 5, con una visualización que contiene 5 elementos, eso sólo se puede clasificar como un distorsión no un resumen. El objetivo de los métodos estadísticos es aclarar, no ofuscar; así que creo que los ejemplos de software que vemos aquí son en realidad perjudiciales para la práctica estadística.

Para la pregunta (2), una alternativa muy sencilla es trazar simplemente los puntos en lugar del diagrama de caja cuando el tamaño de la muestra es pequeño. Este diagrama de dispersión unidimensional (o diagrama de puntos) se ajusta a la misma escala que el diagrama de caja, por lo que esta solución no crea complicaciones en el diseño gráfico. Tampoco complica la interpretación del usuario, ya que se explica por sí misma.

Creo que una rutina boxplot decente debería implementar un umbral por debajo del cual se produce un gráfico de dispersión unidimensional en lugar de una caja. Sugiero que el umbral por defecto sea n=8 o n=10 . Además, habría que tener cuidado (por ejemplo, desplazando los puntos en la dirección perpendicular de la escala) para garantizar que cada uno de los puntos sea visible cuando haya valores superpuestos. Esto debería ser sencillo, dado que sólo se trata de un pequeño número de valores.

Anexo

He aquí un hack para la función gráfica estándar:

guts = boxplot(y ~ group, data = foo, plot = FALSE)
guts$stats[,1] = guts$stats[3,1]
guts$stats[,2] = guts$stats[3,2]
guts$out = foo$y[1:7]
guts$group = foo$group[1:7]
bxp(guts, main = "Alternative boxplots", ylab = "y", xlab = "group")

Esto hizo que los 5 números del resumen de 5 números fueran iguales a la mediana de los dos primeros grupos, y designó como valores atípicos todos los valores de los datos de esos grupos. Dicho de otro modo, las alturas de las cajas y las longitudes de los bigotes de los grupos de datos pequeños se fijan en cero, y todos los valores se consideran atípicos. Creo que ésta es una forma mucho más aceptable de presentar los dos primeros grupos.

image of boxplot

19voto

Nick Cox Puntos 22819

Lo que las implementaciones de R (deberían) hacer es para los desarrolladores y usuarios de ese software. Me gustaría comentar más ampliamente las limitaciones de los gráficos de caja.

Esto se solapa un poco con puntos planteados en otras respuestas, y me complace tomar nota de los acuerdos. Pero, a riesgo de repetirme, quería que esta respuesta me pareciera coherente, al menos a mí.

Los gráficos de caja, tal y como se conocen en la actualidad, se deben sobre todo a la reinvención de J.W. Tukey en la década de 1970 (más visiblemente en Análisis exploratorio de datos (1977) de los diagramas de dispersión utilizados habitualmente por los geógrafos a partir de los años treinta, que a su vez canalizaban una idea que se remontaba desde A.L. Bowley hasta Francis Galton de que (en términos modernos) los gráficos, o más en general los informes sobre datos, que se basaban en determinados cuantiles podían ofrecer resúmenes útiles y también detalles útiles.

Esta historia es poco conocida, en parte porque pocos no geógrafos están bien informados sobre la literatura geográfica, aunque el propio Tukey era consciente de ello. El meme de que Tukey inventó los diagramas de caja se complementa, en el mejor de los casos, con una mención sin historia de Marion E. Spear sobre los diagramas de rango-barra. La propia Spear utilizaba pero no citaba trabajos anteriores de Kenneth W. Haemer, que a su vez ignoraba a predecesores geográficos, y a Bowley, y a Galton. Pero no se puede esperar que nadie conozca todos los usos anteriores de los gráficos estadísticos en ninguna parte.

En muchos casos, los precursores de los gráficos de caja mostraban muchos más detalles que los gráficos de caja desnudos, a menudo todos los puntos de datos. Por el contrario, el trabajo de Tukey sobre los gráficos de caja se centraba en lo que podía hacerse rápidamente sólo con papel y bolígrafo, con la expectativa de que el usuario fuera capaz y estuviera dispuesto a hacer algunos cálculos sencillos, como promediar dos números o multiplicar por 1,5. Como alguien de 25 años en 1977, todavía me benefician los años de escolarización en "aritmética mental". Como alguien de 25 años en 1977, todavía me beneficio de años de escolarización en "aritmética mental" (no se permitía trabajar sobre papel, y mucho menos con reglas de cálculo o calculadoras o cualquier otra ayuda) así como en "aritmética mecánica" (se permitía trabajar sobre papel). Esto casi nunca es la situación rutinaria de nadie en el análisis de datos 50 años después. Además, el objetivo de un gráfico de caja era sobre todo exploratorio, por ejemplo para identificar puntos de datos sobre los que había que reflexionar, y posiblemente alguna acción como una transformación.

El propio Tukey nunca habría defendido el diagrama de cajas como adecuado para todo tipo de datos. Las áreas problemáticas incluyen, y no se limitan a,

  1. Muestras muy pequeñas como en la pregunta.

  2. Resultados discretos (por ejemplo, datos contados o categóricos). Por ejemplo, hay muchos hilos aquí que surgen de la perplejidad cuando no se muestra el bigote o falta aparentemente algún otro elemento de un diagrama de cajas. Los datos no tienen por qué ser patológicos o extraños para producir un gráfico de caja de aspecto extraño que resulte difícil de descifrar para muchos principiantes. Por ejemplo, supongamos que el 60% de los valores son 0, el 30% de los valores son 1 y el 10% de los valores son 2. Entonces, el mínimo, el cuartil inferior y el cuartil inferior son 0. En ese caso, el mínimo, el cuartil inferior y la mediana coinciden, el IQR es 1 y los 2 aparecen implícitamente al final de un bigote. Supongamos ahora que el 80% de los valores son 0.....

  3. Distribuciones en forma de U . Tukey puso el ejemplo de los datos de Rayleigh (que condujeron al descubrimiento del argón), que caen en dos grupos, de modo que la caja es larga y los bigotes cortos. Además, las cajas largas y los bigotes cortos suelen interpretarse erróneamente como distribuciones con colas cortas y finas, ya que la gente olvida que si el 50% de la distribución está dentro de la caja, el 50% está fuera, y la densidad media fuera de la caja puede ser (mucho) mayor.

En todos estos casos, hay réplicas sencillas: utilizar otra cosa en su lugar o pensar un poco más (o aportar una historia mejor).

En cuanto a la pregunta:

  • Los programadores (yo también en otros contextos) tienen que pensar cuál es el comportamiento por defecto de sus programas. Yo no recomendaría un umbral de tamaño de muestra por debajo del cual se ignora el gráfico de caja y se hace otra cosa. Podría recomendar una opción para hacerlo.

  • Como en el caso anterior, la mayoría de las dificultades se evitan trazando rutinariamente gráficos de caja con alguna otra representación yuxtapuesta o superpuesta, ya sea un gráfico de puntos o de franjas o un gráfico de cuantiles (u ocasionalmente un histograma). Ya existen muchas variantes de esta idea. Las más populares parecen basarse en la separación de puntos de datos idénticos. Yo prefiero el apilamiento en cierto sentido, ya que el jittering no es tan fácil de decodificar en términos de densidad local.

He aquí un ejemplo con el mismo espíritu que la pregunta.

enter image description here

Siempre que los puntos de datos se muestren directamente, resulta trivial descifrar los enigmáticos gráficos de caja o ignorarlos por considerarlos inútiles. Con muestras más grandes, que no es la cuestión, pero que sin duda también son importantes, se puede utilizar la mayor parte del espacio para la representación directa de los datos y dejar que los gráficos de caja sean breves resúmenes.

Detalle: Si muestra todos los datos, la necesidad de seguir reglas como "Trazar los puntos de datos individualmente siempre que alguno esté a más de 1,5 IQR del cuartil más cercano" disminuye, si es que no desaparece. En cualquier caso, estas reglas no se explican bien, no se entienden bien o ambas cosas. Por lo tanto, los bigotes pueden extenderse hasta los extremos o (como se hace a menudo) hasta los puntos del 5% y el 95%, siempre que se explique la convención.

El marcado contraste convencional entre la caja gruesa y los bigotes finos exagera la importancia de los cuartiles como umbrales o incluso como resúmenes. Naturalmente, esto resulta familiar a cualquiera que prefiera un gráfico de densidad o incluso un histograma.

Con este estilo no es necesario variar el ancho de la caja, ya que los diferentes tamaños de grupo se muestran por el número de puntos de datos. En cualquier caso, suele ser útil añadir texto de la forma n=15 en algún lugar conveniente.

Como una señal más de las posibilidades, considere este diseño para un conjunto de datos más grande en el que los valores de datos empatados hacen esencial el apilamiento (como aquí) o el jittering (si lo prefiere) si quiere ver el detalle de todos los puntos de datos. El gráfico de caja es un gráfico de caja sin caja basado en una sugerencia de 1983 de Edward R. Tufte. Llamó a este diseño gráfico de cuartiles . Otros han utilizado el término parcela midgap . El nombre carece de importancia, salvo para las menciones en Google. El objetivo original de Tufte parece sobre todo una visualización mínima que utilice la menor cantidad de tinta posible. A mí también me gusta su minimalismo, pero sugiero un motivo más estadístico: desplaza útilmente el énfasis de los puntos medios a las colas. A menudo, si no la mayoría de las veces, lo que ocurre en las colas es tan o más importante de seguir que lo que ocurre en las partes medias de las distribuciones. Yo utilizo un marcador o símbolo de punto para la mediana que es más prominente que los símbolos de punto utilizados por Tufte. El minimalismo, como casi cualquier otra virtud, puede llevarse al exceso.

Irónicamente, o no, en su libro de 2020 Tufte se manifiesta en contra de este diseño anterior y recomienda mostrar los datos en detalle. Pero como yo también lo hago con este diseño híbrido, no me siento culpable por ello.

enter image description here

15voto

Dipstick Puntos 4869

Esta pregunta toca la intersección de la estadística y la ingeniería de software. La parte estadística de la pregunta es incontrovertible: los gráficos de caja, como muchos otros métodos estadísticos y de visualización de datos, no tienen mucho sentido por debajo de cierto tamaño de muestra. La parte de ingeniería de software es más delicada y menos obvia. Hay muchas soluciones posibles, cada una con sus pros y sus contras:

  • Podrías no hacer nada como ocurre ahora mismo en los ejemplos. Uno de los principios importantes del diseño de software es el principio de menor sorpresa para evitar el wat! momentos , resumido aquí como

    En pocas palabras, este principio sostiene que el resultado de una operación determinada debe ser "obvio, coherente y predecible, basándose en el nombre de la operación y otros indicios".

    La función "boxplot" debería crear un boxplot, así que debería crear un boxplot, ni más ni menos . Producir la trama en tal caso conduce a basura dentro, basura fuera resultado. Estamos dejando que el usuario se pegue un tiro en el pie si eso es lo que quiere hacer. Estoy de acuerdo contigo en que lo anterior no es la solución más bonita. Por otra parte, reconoce el hecho de que los usuarios pueden estar utilizando su software de maneras difíciles de prever (por ejemplo, para crear ejemplos de enseñanza "cómo no hacer boxplots").

  • Si queremos ser un poco más empáticos con el usuario, podemos adviértales que lo que intentan hacer no es lo mejor.

  • Si decidimos que no puede producir una parcela para el pequeño tamaño de la muestra, podemos fallar con un error. Esto es coherente con la idea de fracasando rápidamente .

    Imagine que está autogenerando un informe. Debido a un error en su código, accidentalmente pasa una muestra más pequeña de lo previsto a la función boxplot. Si la función tiene algún tratamiento especial para estos casos (por ejemplo, producir un gráfico diferente), el problema puede pasar desapercibido, o puede que pierdas mucho tiempo depurando la razón por la que el gráfico no es el que esperabas. (Lo mismo ocurre cuando se elige el enfoque de "no hacer nada").

  • Otra solución es que la función se ejecute en modo degradado en caso de datos insuficientes. No podemos producir un boxplot, pero podemos mostrar algo parecido a un boxplot degradado, por ejemplo con tres puntos que muestren sólo el mínimo, el máximo y la moda (los elementos de boxplot ), o mostrar todos los puntos como valores atípicos. Con más puntos, pero aún no suficientes para un boxplot, podría añadir otros elementos si fuera suficiente. Una vez más, puede (si no debe), combinar esto con una advertencia.

  • Por último, podría elaborar un gráfico diferente para esos datos. Yo diría que esto entra en el ámbito de fallando silenciosamente que es un anti-patrón en general.

9voto

Considero que la pregunta "¿Cuál es el tamaño de muestra más pequeño para el que un gráfico de caja y bigotes es un resumen visual útil?" se refiere a una regla empírica para hacer buenos gráficos. (La pregunta "¿Deberían las implementaciones de un gráfico de caja y bigotes imponer un tamaño mínimo de muestra?" sí parece referirse a opiniones más que a la práctica).

Busqué consejo en algunos libros sobre gráficos estadísticos. Parece que es difícil encontrar consejos directos. Hasta ahora tengo:

[1] J. Tukey. Análisis exploratorio de datos (1977)

En primer lugar, un comentario general sobre la página 29:

Si vamos a seleccionar unos pocos números fáciles de encontrar para decir algo sobre un lote en su conjunto, (...) nos gustaría que estos valores fueran fáciles de encontrar y anotar, tanto si el recuento total del lote es 8, como si es 82 o 208.

Y más concretamente sobre los boxplots, que Tukey llama diagramas esquemáticos, en referencia a la visualización de 15 medidas de peso de un experimento de 1893-94 de Lord Rayleigh:

En este caso, la cuestión principal (...) queda bastante clara gracias a los valores individuales del diagrama de puntos, y casi completamente cubierta por el diagrama esquemático. (Sólo casi porque el observador experimentado -al encontrar los bigotes tan cortos, en comparación con la longitud de la caja- es probable que sospeche que debería ver más detalles).
Está claro que no podemos confiar en los gráficos esquemáticos para llamar nuestra atención sobre la estructura cerca del centro del lote (...)
La ilustración 11 utiliza los gráficos esquemáticos para uno de los fines para los que mejor se adaptan: la comparación de dos o más lotes. En él se exponen y comparan los dos lotes de pesos de Rayleigh (un lote de 7 procedentes del aire y otro lote de 8 procedentes de otras fuentes).

[2] F. J. Anscombe. Los gráficos en el análisis estadístico. El Estadístico Americano , 27(1):17-21, 1973.

Cada conjunto de datos del famoso cuarteto tiene 11 puntos, por lo que el consejo implícito de Anscombe es no resumir menos de 12 puntos?


Resumen : John Tukey sugiere indirectamente tener al menos 8 puntos para un gráfico de caja y bigotes. También tiene una pista sobre cómo detectar un boxplot mal aplicado.

8voto

anand Puntos 199

Sólo por curiosidad -- Mirando fuera de R con los mismos datos...

Stata

Stata boxplot

SPSS

SPSS boxplot

Guía SAS para empresas

SAS Enterprise boxplot

MATLAB (herramientas de estadística y aprendizaje automático)

Matlab boxplot

Minitab

Tenía mucha curiosidad por Minitab, pero nuestro acceso al escritorio virtual parecía requerir una licencia. Me gustaría que alguien me lo explicara...

Resumen

Veo un montón de estilos diferentes, algunos me gustan mucho más que otros, pero todos los programas probados estaban contentos de hacer boxplots con 2 valores de datos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X