3 puntos por GN⁺ 2023-11-21 | 2 comentarios | Compartir por WhatsApp
  • Un repositorio de GitHub que reúne, con ejemplos, 16 malas prácticas de visualización usadas con frecuencia en artículos científicos y análisis de datos; cada caso puede reproducirse directamente con código en R y datos de simulación
  • Señala en concreto visualizaciones que distorsionan la distribución y las características de los datos, como el mal uso de gráficos de barras para comparar promedios, violin plots con muestras pequeñas y la aplicación de escalas de color bidireccionales a datos unidireccionales
  • Explica los problemas de tipos de gráficos que no consideran las características de la percepción visual humana, como la falta de reordenamiento de filas y columnas en heatmaps, no revisar outliers y las limitaciones fundamentales de los gráficos de pastel y los gráficos de dona concéntricos
  • Incluye advertencias sobre errores estructurales de diseño que inducen a malentendidos, como confundir visualizaciones basadas en posición con visualizaciones basadas en longitud, y gráficos de barras con ejes truncados
  • Una colección práctica de antipatrones útil para cualquier investigador o desarrollador que trabaje con visualización de datos, con métodos alternativos de visualización para cada punto

1. No compares promedios con gráficos de barras

  • Los gráficos de comparación de promedios (means separation) son una de las visualizaciones más comunes en artículos científicos, y su objetivo es mostrar promedios, varianza y distribución de dos o más grupos
  • En el ejemplo, dos grupos tienen promedios y desviaciones estándar similares, pero distribuciones completamente distintas; esta diferencia no puede detectarse solo con un gráfico de barras
  • Antes de usar un gráfico de barras, siempre hay que revisar la distribución de los datos; Weissgerber et al. (2015, PLOS Biology) también señalan las limitaciones de los gráficos de barras

2. No uses violin plots con muestras pequeñas

  • Los violin plots o curvas de distribución suavizadas no tienen sentido cuando el tamaño de la muestra es pequeño
  • En muestras pequeñas, incluso con los mismos valores observados, la distribución y los cuartiles pueden variar mucho, y se necesita un n de 50 o más para que los cuartiles se estabilicen
  • Esto se demuestra con un experimento que compara cuartiles al muestrear varias veces desde la misma distribución normal

3. No uses una escala de color bidireccional para datos unidireccionales

  • En una escala de color, el color más oscuro y el más claro deben representar valores significativos como el máximo, el mínimo, el promedio o 0
  • Que el color más claro u oscuro represente un número arbitrario es un error tan grave como que “la barra más larga de un gráfico de barras no represente el valor máximo”
  • Al usar heatmaps o gradientes de color, es indispensable elegir una escala de color acorde con la direccionalidad de los datos (unidireccional vs. bidireccional)

4. No crees una pradera de gráficos de barras (Bar Plot Meadow)

  • Si se listan los resultados de experimentos multifactoriales como gráficos de barras, se convierten en una “pradera de gráficos de barras” y comunican los resultados de manera ineficiente
  • Para comunicar eficazmente los resultados de experimentos multifactoriales, hay que diseñar con cuidado el agrupamiento y el facetado según los factores de interés
  • En el ejemplo se comparan, a nivel de variedad, los efectos de Treatment y Explant sobre Response, y se enfatiza que el layout debe cambiar según el foco del análisis

5. No ignores el reordenamiento de filas y columnas en un heatmap

  • Los heatmaps son muy comunes en artículos científicos, especialmente en artículos de ómicas (omics), pero si no se reordena el orden de filas y columnas, no es posible extraer información útil
  • El reordenamiento mediante clustering es habitual, pero no es el único método; cuando se representa una disposición física, como una placa de 96 pocillos, no se puede reordenar
  • Al combinar el reordenamiento de filas y columnas con un gradiente de color adecuado, se pueden generar heatmaps visualmente atractivos

6. No dejes de revisar outliers en un heatmap

  • Los outliers pueden cambiar por completo la percepción y la interpretación de un heatmap, y es un problema que aplica a toda visualización que represente datos numéricos con color
  • En el ejemplo, dos observaciones medidas en 20 características parecen, en general, similares si no se revisan los outliers, pero al ajustar la escala de color con base en el percentil 95, aparecen diferencias en todas las características

7. Revisa el rango de datos para cada nivel de factor

  • En experimentos multifactoriales, es común que el rango de la variable de respuesta cambie mucho según el nivel del factor
  • En un experimento hipotético que mide 3 compuestos en 2 grupos (control vs. tratamiento), el rango de concentración del compuesto 1 es mucho más estrecho que el de los demás compuestos, lo que implica riesgo de pasar por alto el efecto del tratamiento
  • Si no se revisa de antemano el rango de datos de cada compuesto, se puede ignorar un efecto de tratamiento importante

8. Prueba varios layouts en gráficos de red

  • La apariencia de un gráfico de red (el layout, no la topología) influye mucho en su eficacia
  • Con los mismos datos, 3 gráficos de red pueden verse completamente distintos, y también se incluye un ejemplo con 9 layouts diferentes aplicados
  • Como el layout puede cambiar mucho la dificultad de interpretar la red, conviene probar varios layouts

9. No confundas visualizaciones basadas en posición con visualizaciones basadas en longitud

  • En gráficos de puntos y líneas, los valores se expresan mediante la posición en los ejes x e y; en gráficos de barras, los valores se expresan mediante la distancia (longitud) desde el eje x
  • En el ejemplo, un gráfico de barras que no parte de 0 hace que la longitud de la barra del punto temporal 2 parezca unas 3 veces la del punto temporal 1, pero la diferencia real de promedios es de aproximadamente 1.6 veces; confundir longitud y posición genera gráficos engañosos
  • Cuidado con los gráficos de barras con eje truncado (Broken Axis)

    • El truncamiento del eje es útil para representar valores de rango amplio (también se puede usar como alternativa un eje en escala logarítmica), pero solo es adecuado en gráficos basados en posición
    • Si se cambia la posición del corte del eje en un gráfico de barras, se produce una ilusión visual que hace que ciertas barras parezcan más largas o más cortas
    • En el ejemplo, la longitud de la barra “d” se ve muy distinta según la posición del corte del eje, porque un gráfico de barras es una gráfica basada en longitud

10. No hagas gráficos de pastel

  • Los gráficos de pastel representan datos proporcionales dividiéndolos en sectores circulares, pero los humanos leemos longitudes mucho mejor que ángulos y áreas
  • En un ejemplo con 2 grupos y 4 subcategorías en cada uno, el gráfico de pastel hace que comparar entre grupos sea muy difícil
  • Aunque se simplifique como gráfico de dona, los datos siguen representándose mediante longitud de arco; por eso es mucho más efectivo desplegar la dona y convertirla en un gráfico de barras apiladas
  • En ggplot, los scripts para gráficos de pastel y de dona son, de hecho, más complejos que para barras apiladas

11. No hagas gráficos de dona concéntricos

  • En una dona concéntrica es fácil pensar que los datos se representan mediante longitud de arco, pero en realidad se representan mediante el ángulo del arco, y los humanos somos malos leyendo ángulos de arco
  • La longitud de arco del anillo externo es mucho mayor que la del interno, así que aunque Group 2 y Group 3 tengan el mismo valor, la longitud de arco de Group 3 se ve mucho mayor
  • El orden de los grupos (qué grupo se ubica en qué anillo) afecta mucho la impresión del gráfico, lo que puede generar la paradoja de que un valor mayor tenga un arco más corto
  • El mismo problema aplica a layouts circulares como circos plot, y la alternativa es simplemente desplegar la dona y convertirla en un gráfico de barras apiladas

12. No uses escalas de color rojo/verde ni arcoíris

  • La anomalía de visión rojo-verde (deuteranomalía) es el tipo más común de daltonismo y ocurre en 1 de cada 16 hombres y 1 de cada 256 mujeres
  • Las escalas de color rojo/verde y arcoíris causan problemas para usuarios daltónicos, y también tienen muy baja conservación de información al imprimirse en blanco y negro
  • Las escalas de color “modernas” como viridis son aptas para daltonismo y seguras en escala de grises, además de ser visualmente superiores

13. No olvides reordenar los gráficos de barras apiladas

  • Los gráficos de barras apiladas se usan con frecuencia para visualizar datos proporcionales, estructura de comunidades, estructura poblacional y análisis de mezcla (admixture analysis)
  • En un ejemplo con 100 muestras y 8 clases, si no se optimiza el orden de las barras, no se puede identificar ningún patrón en el gráfico
  • Después de reordenar las barras, los patrones aparecen de forma dramática; la clave está en agrupar y optimizar el orden de las muestras

14. No mezcles barras apiladas con comparación de promedios

  • Los gráficos de barras apiladas son para datos proporcionales que suman 100%, mientras que los gráficos de comparación de promedios muestran diferencias y varianza de promedios; son dos tareas de visualización completamente distintas
  • En el ejemplo de un experimento con plantas de arándano, el gráfico estándar de barras apiladas muestra claramente que el tratamiento químico desplazó fuertemente el perfil de color del fruto hacia la etapa más madura (dark blue)
  • Si se superponen barras de error y puntos sobre barras apiladas, no queda claro qué barras de error y puntos se están comparando, y las barras de error de los segmentos superiores se desplazan hacia arriba, por lo que la interpretación del eje y no es intuitiva
  • Si el objetivo principal de la visualización es comparar promedios y varianza, es más adecuado usar un gráfico separado de comparación de promedios

15. No uses histogramas con muestras pequeñas

  • A veces se proponen los histogramas como alternativa a los gráficos de barras, pero su robustez frente al número de bins es muy baja en muestras pequeñas
  • Si se muestrea desde la misma distribución normal con n = 10, 100 y 1000, y se dibujan histogramas con 10, 30 y 50 bins, la forma del histograma cambia mucho aunque la distribución sea la misma
  • En muestras pequeñas (n < 30), es mucho más recomendable mostrar directamente todos los puntos de datos en el gráfico; incluso con n = 100, la apariencia del histograma cambia drásticamente según el número de bins
  • Para que un histograma sea robusto a cambios en el número de bins, se necesita un tamaño de muestra de alrededor de 1000 o más

16. No uses boxplots para datos con distribución bimodal

  • Los boxplots se enfocan en la mediana y los cuartiles, por lo que no pueden representar adecuadamente datos con distribución bimodal (o multimodal)
  • Antes de hacer un boxplot, siempre hay que revisar la distribución de los datos
  • Para tamaños de muestra pequeños a medianos (menos de decenas de miles), la mejor práctica es usar geom_quasirandom() del paquete ggbeeswarm para mostrar directamente todos los puntos de datos
  • Los gráficos basados en distribución, como violin plots e histogramas, no son robustos en muestras pequeñas

2 comentarios

 
xguru 2023-11-21

El título del artículo es divertido. Si ven el artículo original, incluye un gráfico de ejemplo, así que es fácil de entender.

 
GN⁺ 2023-11-21
Comentarios de Hacker News
  • Por un lado, este tipo de contenido parece bastante bueno.
    Por otro lado, da la impresión de que una buena parte de estos gráficos malos fueron elegidos a propósito para ocultar que hay pocos puntos de datos o una distribución subyacente sospechosa.
    Así que, más que “si es tu amigo no lo dejarías hacer esto”, se parece más a “si ves un gráfico que vuelve borroso algo en vez de mostrarlo con claridad, sospecha que podría ser intencional”.

    • No es falso, pero los investigadores también son muy imperfectos. Siempre están ocupados, en la práctica no tienen tiempo para mejorar su trabajo, y todo el énfasis está en publicar artículos más o menos suficientemente buenos.
      De los artículos en los que participé, el número de casos con una actitud que no fuera “saquémoslo ya” fue 0.
      Muchas veces los gráficos no son claros porque hacerlos claros requiere tiempo y esfuerzo, y en la academia faltan mucho ambas cosas. Claro que a veces sí se ocultan intencionalmente detalles feos, pero no creo que esa sea la fuente principal de estas malas figuras.
    • AMD y NVIDIA también sacan cada año bastantes gráficos bastante malos, pero eso es intencional.
    • En la literatura de psicología esto definitivamente pasa, sea intencional o no, y creo que especialmente lo primero. Los artículos de psicología reportan el valor p del ANOVA y asumen con toda tranquilidad que todo sigue una distribución normal.
      Hay grupos que simplemente prefieren no meterse en problemas, y otros que de plano no saben. También hay gente que no debería estar haciendo investigación, pero como falta capacitación y tampoco es tan fácil conseguir mano de obra doctoral barata, terminamos con la situación actual.
    • La mayoría de la gente no sabe maquetar gráficos. Muchas veces ni siquiera pueden poner bien las etiquetas de los ejes.
  • El ejemplo de “si es tu amigo no lo dejes hacer un mapa de calor que no tome el valor atípico como máximo” es realmente muy común. También se ve mucho en visualizaciones estadísticas de videojuegos.
    Los juegos de estrategia y simulación tienen muchas visualizaciones para ayudar al jugador a entender una situación o un problema, pero los mapas de calor suelen volverse bastante inútiles en su gradiente de color por el efecto de los valores atípicos.
    Por ejemplo, en Oxygen Not Included, si activas la visualización de temperatura cuando hay una fuente de calor como un volcán, todos los demás colores se ven fríos, así que la pantalla termina volviéndose solo azul o rojo rosado. No puedes distinguir entre un volcán de 1000°C y una cámara de vapor apenas sobrecalentada de 270°C; ambos quedan casi del mismo rojo rosado uniforme. Una base sobrecalentada a 60°C también se ve azul por ser relativamente más fría, así que como mapa de calor para diagnosticar problemas de temperatura es casi inútil.

    • Si una temperatura específica representa un problema importante, entonces el color debería estandarizarse para mostrar esa temperatura, y no generarse automáticamente a partir del rango total de temperaturas presente en ese momento.
      De hecho, suena como una idea bastante mala que el significado del color cambie según cambie la temperatura.
    • ¿Aquí no sería una solución adecuada transformar logarítmicamente los datos? Si la temperatura del volcán en sí no es de interés, probablemente lo correcto sería excluirla o marcarla como valor atípico.
    • Un amigo mío literalmente tiene un mapa térmico. Es decir, una cámara termográfica infrarroja, y marca los valores atípicos evidentes con franjas rojas y blancas, como cuando una videocámara digital muestra áreas sobreexpuestas.
      Funciona como advertencia de puntos calientes y al mismo tiempo como aviso de que los ignores, así que es realmente útil.
  • Hace tiempo hubo una discusión acalorada en HN porque alguien decía que cualquier gráfico cuyo valor mínimo en todos los ejes no fuera 0 era engañoso.
    Estábamos hablando de un gráfico del aumento de la temperatura global por el cambio climático, y esa persona decía que era misleading porque la temperatura del eje Y no empezaba en 0. No sé si hablaba de 0 grados Fahrenheit, 0 grados Celsius o el maldito 0 Kelvin.
    Incluso dijo algo como “si el cambio no se ve cuando dejas la base en 0, quizá no sea un cambio tan significativo”. Durante un tiempo me dejó bastante golpeada la fe en la humanidad, pero me alegra que ahora parezca que estamos discutiendo a un nivel un poco más alto. 2016~2020 parece haber sido otra era.

    • A esa persona solo hay que pasarle un gráfico cuyo eje X sea “año” y que empiece en el año 0 d. C..
    • Si quieres que una razón de temperaturas tenga sentido, en realidad el punto cero debe ponerse en Kelvin.
      Un gráfico que haga parecer que 25°C es “25% más caliente” que 20°C puede considerarse engañoso en ese sentido. Claro, eso no justifica el negacionismo del calentamiento global.
    • Una solución sencilla es graficar el cambio en °C desde una fecha de referencia concreta. En cualquier gráfico, basta con restar y(x_0) de todos los puntos.
    • Estoy de acuerdo hasta cierto punto con la idea de que “los gráficos cuyo mínimo no es 0 en todos los ejes son engañosos”.
      Por ejemplo, este es el primer gráfico que encontré: https://religionnews.com/wp-content/uploads/2014/08/61Years-...
      A simple vista parece que cayó en 2/3, y eso es engañoso. Este tipo de gráficos de descenso muchas veces da una impresión visual que no refleja la magnitud real de la caída.
    • Es un caso clásico de tomar una regla demasiado simplificada de un problema que no se entendió por completo. El conocimiento superficial es peligroso.
  • Si quieres leer más sobre visualización de datos, The Visual Display of Quantitative Information de Edward Tufte es una referencia excelente. Aunque es un clásico publicado por primera vez en 1983, sigue siendo relevante hoy

    • Es un libro interesante y muy recomendable porque sus ejemplos buenos y malos son realmente entretenidos.
      Aun así, la premisa central del texto, “maximiza la proporción de información respecto a la tinta”, suena muy convincente pero tiene un defecto fundamental. La cantidad de tinta, o en pantalla el número de píxeles negros, no es lo mismo que la complejidad visual. Cuando el cerebro interpreta información visual, ya pasó por detección de bordes, agrupamiento y otros preprocesamientos.
      Pone como ejemplo reducir los ejes en un diagrama de dispersión para que no se encuentren en la esquina y solo muestren el rango de los datos; dice que es un ganar-ganar porque usa menos tinta y muestra más información. Pero al compararlos, es evidente que la versión modificada es visualmente más compleja. En una página compleja con texto y varios gráficos, las piezas se mezclarían visualmente y sería peor.
      Una forma de reducir esa complejidad es encerrar áreas grandes como el gráfico completo dentro de una caja, pero las cajas son el enemigo absoluto de Tufte en ese libro y en otros lados. Sorprende que, aun después de tanto tiempo viendo representaciones visuales, siga manteniendo esa postura.
    • Es un buen libro. También recomiendo el artículo clásico de John Tukey Some Graphic and Semigraphic Displays: https://www.edwardtufte.com/tufte/tukey
      Tukey fue uno de los mentores de Tufte.
    • Desde una perspectiva histórica me pareció interesante, pero hoy, cuando hay muchísimo más material disponible en línea, no diría que tenga información “secreta” ni mucho extra que agregar.
      Como panorama de alto nivel para elegir gráficos que encajen con los datos y la historia de esos datos, http://data-to-viz.com es excelente, y los ejemplos de distintas librerías de gráficos también sirven muy bien como referencia para inspirarse. Por ejemplo, https://matplotlib.org/stable/gallery/index.html
    • Es un buen consejo, pero hay que tener presente que desde entonces avanzaron la neurociencia y la comprensión de la percepción.
      Sigue siendo muy interesante y relevante, pero no es la última palabra sobre el tema.
    • Creo que propone un marco muy perspicaz para pensar qué hace buena a una visualización de datos.
      Pero mucha gente se pierde la lógica detrás y simplemente copia el estilo Tufte tal cual, con resultados que a veces se ven demasiado estilizados e iconoclastas. Los gráficos predeterminados de ggplot2 son un buen ejemplo.
  • Es un artículo que repasa muy bien errores comunes en visualización de datos, así que pienso compartirlo con colegas. Como material complementario, recomiendo muchísimo 39 studies about human perception in 30 mins de Kennedy Eliot: https://medium.com/@kennelliott/39-studies-about-human-perce...
    Permite revisar rápidamente la base de investigación detrás de muchas afirmaciones sobre buenas prácticas de visualización. En particular, es interesante el dogma de no usar gráficos de pastel: es un tema que ha incomodado a los diseñadores desde los años 30, pero los resultados de investigación, en el mejor de los casos, no son concluyentes.

  • En “3. Si es tu amigo, no dejes que use una escala de color divergente con datos unidireccionales”, ni siquiera entiendo por qué usan color en esos ejemplos.

    • Exactamente eso. No hace falta codificar la misma información dos veces. Lo único que logras es que haya que pensar más en qué está mostrando el gráfico.
    • En el ejemplo, la escala de color no mejora nada. Aun así, el consejo general en sí sigue siendo bueno.
      En muchos casos, representar una sola variable puede mejorar usando una escala de color en vez de solo tonos de gris. En esos casos, usar una escala divergente para datos unidireccionales es malo, y viceversa.
    • Aquí parece mejor entender el “ejemplo” no como un caso de uso real, sino como una demostración de las propiedades de una escala de color.
      Es decir, no como un ejemplo de cuándo usar una escala de color.
    • Está explicando la situación usando la longitud de las barras. No está recomendando usar ambas cosas al mismo tiempo.
  • Muchas de estas lecciones no son nuevas. Basta con ver el libro de 1939 Graphic presentation de Willard C. Brinton, disponible gratis: https://archive.org/details/graphicpresentat00brinrich/mode/...

  • Para mí, estos también siguen siendo todos malos. Tienen demasiados adornos de gráfico y, en su mayoría, demasiado color.
    No hacen falta todas esas líneas. Si se pone menos, con cuidado, se vuelve más fácil de leer. Cualquier libro de Edward Tufte habla de esto, y con unas pocas técnicas básicas se puede avanzar bastante.

  • Nunca me han gustado los gráficos de violín, aunque para nada soy alguien del campo de la visualización de datos. Justo hace una semana me topé por casualidad con un video llamado violin plots should not exist y ahí todo me hizo clic: https://youtu.be/_0QMKFzW9fw?feature=shared

  • Basándose en la investigación de Bill Cleveland, hizo una presentación llamada How Humans See Data que reúne varias de estas ideas dentro de un marco coherente
    https://www.youtube.com/watch?v=fSgEeI2Xpdc

    • Gracias por compartirla. Fue una excelente presentación, con muy buen ritmo, y los 40 minutos se me pasaron volando
      La parte de las tres etapas de la estimación de verdad me abrió los ojos. Después parece obvio, pero no había hecho la conexión hasta que lo explicó directamente