Data Morph Avanzando más allá de la docena de Datasaurus

Avanzando más allá de Datasaurus

Nota del editor: Stefanie Molin es una ponente para ODSC West 2023 este otoño. ¡Asegúrate de ver su charla, “Data Morph: Una historia de advertencia sobre estadísticas resumidas,” allí!

Este artículo presenta Data Morph, un nuevo paquete de Python de código abierto que se puede utilizar para transformar un conjunto de datos de puntos 2D en formas seleccionadas, al tiempo que se conservan las estadísticas resumidas en un número dado de decimales mediante el recocido simulado. Data Morph amplía la investigación de Autodesk para crear la Docena del Datasaurus y está destinado a ser utilizado como una herramienta de enseñanza para ilustrar por qué no se puede depender únicamente de las estadísticas resumidas.

Juguemos un juego. Estoy pensando en una distribución con las siguientes estadísticas resumidas. ¿Puedes imaginar cómo se vería un gráfico de dispersión de los datos?

  • Media de X = 30.37
  • Media de Y = 53.01
  • Desviación estándar de X = 13.44
  • Desviación estándar de Y = 15.53
  • Coeficiente de correlación de Pearson = 0.04

La media es una medida de centralidad, la desviación estándar es una medida de dispersión desde el centro y la correlación cuantifica cómo las variables x e y se mueven juntas, por lo que es tentador pensar que esto es suficiente para describir los datos. Sin embargo, estas estadísticas resumidas son insuficientes: hay múltiples conjuntos de datos posibles para un conjunto dado de estadísticas resumidas. Aquí hay un gráfico de dispersión de los datos que estaba resumiendo. ¿Adivinaste correctamente?

El conjunto de datos de música proporcionado por Data Morph.

La idea de que no podemos depender únicamente de las estadísticas resumidas no es nueva. Los investigadores han ilustrado esto generando muchos conjuntos de datos que son visualmente muy diferentes, pero comparten las mismas estadísticas resumidas. En 1973, Francis Anscombe presentó un conjunto de cuatro de estos conjuntos de datos que se conoce como el Cuarteto de Anscombe:

Cada uno de estos conjuntos de datos es visualmente muy diferente; sin embargo, todos comparten las mismas estadísticas resumidas. (Esta visualización fue creada por Stefanie Molin utilizando el conjunto de datos del Cuarteto de Anscombe proporcionado en seaborn.)

En 2017, los investigadores de Autodesk ampliaron la idea del Cuarteto de Anscombe para desarrollar la Docena del Datasaurus: convirtieron un conjunto de puntos con forma de un dinosaurio (el Datasaurus de Alberto Cairo) en 12 formas distintas utilizando el recocido simulado, que es una técnica para encontrar óptimos globales, en el proyecto Same Stats, Different Graphs:

Los conjuntos de datos de la Docena del Datasaurus. (Esta visualización fue creada por Stefanie Molin utilizando el conjunto de datos de la Docena del Datasaurus proporcionado por jmatejka/same-stats-different-graphs.)

Para generar la Docena del Datasaurus, el algoritmo selecciona repetidamente un punto del conjunto de datos al azar e intenta moverlo a una nueva posición mediante una pequeña perturbación aleatoria. Para que se considere la nueva posición, solo debe cambiar las estadísticas resumidas en una cantidad lo suficientemente pequeña como para que los valores antiguos y nuevos sigan siendo equivalentes a dos lugares decimales. Si el cambio de posición reduce la distancia a la forma objetivo, el algoritmo mueve ese punto a la nueva posición. Sin embargo, si aumenta la distancia a la forma objetivo, el algoritmo solo mueve el punto a la nueva posición con cierta probabilidad, p, que disminuye con el tiempo. Durante las primeras iteraciones, es más probable que el algoritmo acepte nuevas posiciones que lo lleven más lejos de la forma objetivo; a medida que pasan las iteraciones, esta probabilidad disminuye. Este proceso ayuda a evitar quedarse atrapado en óptimos locales y permite más variabilidad en las formas que se pueden crear, ya que se puede explorar más del espacio.

En comparación con el Cuarteto de Anscombe, hay un factor de sorpresa mayor al ver cómo el Datasaurus se transforma en un conjunto de líneas inclinadas, al tiempo que se conservan las estadísticas resumidas. Creo que este factor de sorpresa es más efectivo a la hora de explicar por qué es esencial la visualización de datos, solo tienes que echar un vistazo a las reacciones a esta publicación en LinkedIn.

Quería utilizar este factor sorpresa en mi taller de pandas para motivar la sección de visualización de datos. Después de la sección de manipulación de datos, es crucial enfatizar la importancia de la visualización de datos en este punto porque la codificación de visualizaciones puede ser más complicada. A menudo, las personas están tentadas a tomar el atajo y simplemente usar estadísticas resumidas para describir los datos. Sin embargo, usar el dinosaurio para la animación no encajaba con la imagen de marca del taller, que presenta imágenes de pandas en todo momento. Necesitaba crear un conjunto de datos con forma de panda. Aquí proporciono algunos consejos sobre cómo pasar de una idea a un conjunto de datos de entrada.

Un nuevo conjunto de datos de inicio con forma de panda.

Rápidamente me di cuenta de que los materiales visuales personalizados e impactantes no solo beneficiarían a mi taller, sino también a aquellos que aprenden y enseñan análisis de datos. Así que en 2023, exploré cómo el código de los investigadores de Autodesk podría generalizarse a un conjunto de datos arbitrario, es decir, en lugar del Datasaurio o el panda. Esto me llevó a crear Data Morph, un paquete de Python de código abierto que se puede utilizar para transformar un conjunto de datos de entrada de puntos 2D en formas seleccionadas, manteniendo las estadísticas resumidas en un número dado de puntos decimales utilizando la misma técnica de recocido simulado.

Se requirió una refactorización significativa para generalizar el código Same Stats, Different Graphs para que funcionara con una entrada diferente. Toda la lógica para las formas objetivo (piensa en el centro y el radio de un círculo, los puntos finales de una línea, etc.) estaba codificada en el código y, por lo tanto, era específica de los conjuntos de datos incluidos en el código del equipo de Autodesk. La posición y los atributos de las formas objetivo deben calcularse a partir del conjunto de datos de inicio, siendo algunas formas mucho más simples de codificar que otras. Por ejemplo, para transformarse en la forma de círculo, el centro del círculo puede estar en la media de los valores x e y; el radio puede ser un múltiplo de la desviación estándar (x o y, elige uno):

La forma objetivo que Data Morph calcula al intentar transformar el panda mostrado anteriormente en un círculo. Las distancias se calculan desde los puntos hasta la línea que forma el círculo.

Data Morph proporciona una jerarquía de clases de formas para permitir la creación de formas compuestas (por ejemplo, la forma de círculo se utiliza para crear una forma de diana, que comprende dos círculos concéntricos) y centralizar el cálculo de distancias para un código más eficiente. Sin embargo, para algunas formas, utilizar información de los datos no funciona del todo: a veces los puntos deben moverse fuera de los límites del conjunto de datos de inicio. Para manejar esta lógica, Data Morph incluye algunos cálculos de límites automáticos en los que las formas y la funcionalidad de representación se conectan:

Los límites se calculan automáticamente para su uso en la transformación y representación.

Otro cambio importante fue disminuir la cantidad máxima que los puntos podían moverse con el tiempo, en lugar de mantenerla estática, lo que produce un efecto visual más agradable a medida que los puntos se mueven. Aquí tienes un ejemplo de cómo transformar el conjunto de datos de panda en una estrella:

Transformando el conjunto de datos de panda en una estrella con Data Morph.

Como muestra la animación anterior, tanto el panda como la estrella tienen las mismas estadísticas resumidas, al igual que todos los conjuntos de datos encontrados a lo largo del proceso de transformación. Combinado con el hecho de que el panda también se puede transformar en varias otras formas reconocibles, como el círculo que se mostró anteriormente, tenemos un número infinito de posibles conjuntos de datos que coinciden con las estadísticas resumidas.

Sin embargo, hay algunas limitaciones: no siempre se puede transformar un conjunto de datos en todas las formas objetivo ofrecidas por Data Morph. Si no hay puntos de la forma de inicio en una región específica que forma parte de la forma objetivo, es posible que no sea posible empujar los puntos allí sin alterar las estadísticas resumidas. Por ejemplo, al transformar algún conjunto de datos de entrada en la forma de rectángulo, es posible que falten algunas partes de la(s) línea(s). Una vez que juegues con diferentes conjuntos de datos de entrada, ganarás intuición sobre qué formas funcionarán y cuáles no (y por qué).

En el momento de escribir esto, Data Morph viene con 6 formas de inicio incorporadas y 15 formas objetivo, y habrá más de cada una. La transformación es tan simple como esto:

$ pip install data-morph-ai
$ data-morph --start-shape panda --target-shape star

Se pueden proporcionar formas de inicio arbitrarias/personalizadas a través de archivos CSV, como este (consulte la documentación aquí para obtener consejos sobre cómo crear el suyo propio):

Un ejemplo creado utilizando un archivo CSV.

Data Morph también proporciona documentación para el uso de CLI e intérprete de Python, una suite de pruebas, código modular y una jerarquía de clases flexible para agregar nuevas formas de destino. Puede encontrar más información sobre las mejoras principales en las notas de lanzamiento aquí.

La próxima vez que te encuentres explicando o enseñando estadísticas resumidas, te invito a usar Data Morph para crear una animación divertida y personalizada que enfatice la importancia de visualizar los datos. Pide a los estudiantes o asistentes que creen sus propias animaciones. Ver numerosos ejemplos que comienzan con formas familiares (por ejemplo, el logotipo de tu escuela, mascota, etc.) mantendrá este concepto importante en mente. Si finalmente utilizas Data Morph con un conjunto de datos personalizado y/o con fines educativos, me encantaría saberlo, etiquétame en tus publicaciones en LinkedIn o Twitter.

¡Felices transformaciones!

Artículo originalmente publicado aquí. Repostado con permiso.

Stefanie Molin es una ingeniera de software y científica de datos en Bloomberg en la ciudad de Nueva York, donde aborda problemas difíciles en la seguridad de la información, especialmente aquellos relacionados con el tratamiento/visualización de datos, la construcción de herramientas para recopilar datos y el intercambio de conocimientos. También es autora de “Hands-On Data Analysis with Pandas”, que actualmente está en su segunda edición. Tiene una licenciatura en investigación de operaciones de la Fu Foundation School of Engineering and Applied Science de la Universidad de Columbia, así como una maestría en ciencias de la computación, con especialización en aprendizaje automático, de Georgia Tech. En su tiempo libre, disfruta viajar por el mundo, inventar nuevas recetas y aprender nuevos idiomas hablados tanto por personas como por computadoras.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Este documento de IA desbloquea el secreto del aprendizaje en contexto cómo los modelos de lenguaje codifican funciones en la magia de vectores

En los modelos de lenguaje transformadores autoregresivos, se identifica un mecanismo neuronal que representa una fun...

Inteligencia Artificial

Conoce LoftQ LoRA-Fine-Tuning-Aware Quantization para grandes modelos de lenguaje.

La introducción de los Modelos de Lenguaje Pre-entrenados (PLMs) ha significado un cambio transformador en el campo d...

Inteligencia Artificial

Trabajos que la IA no puede reemplazar

Introducción Ya seas un cibernauta o no, es probable que hayas escuchado el debate sobre los “empleos que la IA...