Skip to content
··7 min de lectura

Me ha dejado alucinado lo que ChatGPT con el intérprete de código puede hacer para el análisis de datos

Le hice a ChatGPT preguntas vagas como "dime algo interesante" sobre datos de la Tesorería — e instantáneamente generó gráficos perspicaces que a mí me llevaron horas crear manualmente.

Este artículo fue escrito en 2023. Algunos detalles pueden haber cambiado desde entonces.

Cuando Ethan Mollick escribió sobre lo poderoso que es ChatGPT con Code Interpreter, sentí una curiosidad enorme. Estaba de vacaciones en ese momento, así que solo tuve la oportunidad de probarlo hoy. ¡Y vaya, me ha dejado alucinado!

Como contexto, decidí usar datos sobre diferentes valores del gobierno de EE. UU. del sitio web Treasury Direct. Elegí este conjunto de datos porque escribí un post anterior sobre "Por qué no deberías creerte el hype de que el sitio web de TreasuryDirect está desactualizado", así que estoy algo familiarizado con el conjunto de datos. Y, lo que es más importante, recuerdo más o menos cuánto me llevó generar los gráficos.

Subir el conjunto de datos completo es extremadamente fácil

Con solo un clic, puedo subir el conjunto de datos completo junto con el diccionario de datos. Y no tuve que decir mucho sobre el conjunto de datos, solo estas frases del sitio web: "The Securities Issued in TreasuryDirect dataset details how many of each type of Treasury bonds are issued, redeemed, or outstanding in TreasuryDirect from Fiscal Year (FY) 2002 until present. Outstanding bonds refer to those which are still in circulation, and have not yet been redeemed. The number of outstanding Treasury bonds is determined by taking the difference between the numbers of Treasury bonds issued and redeemed. This dataset does not contain any information on the values or yields of the Treasury bonds."

Me gusta que, sin necesidad de indicárselo, ChatGPT me cuente cómo entiende el conjunto de datos a alto nivel y me dé las primeras filas de datos como vista previa.

Ahora puedo empezar a "hablar" con los datos

¿Puedes decirme algo interesante sobre este conjunto de datos?

Le hice a ChatGPT una pregunta bastante nebulosa: "¿puedes decirme algo interesante sobre este conjunto de datos?" Es una pregunta super genérica porque quiero ver si ChatGPT puede intuir qué podría interesarle a un humano.

Y esta es la respuesta:

can you tell me something interesting about this dataset

can you tell me something interesting about this dataset

can you tell me something interesting about this dataset

Como puedes ver, ChatGPT acertó al adivinar que quizás la tendencia del importe de ventas brutas a lo largo del tiempo es una de las primeras notas interesantes sobre el conjunto de datos que me puede importar. Luego desglosa las ventas brutas por tipo de valor en el siguiente gráfico. (Si te fijas bien entre el texto y el gráfico final, puedes ver que ChatGPT dijo el color equivocado, "naranja" en lugar de "azul oscuro", pero eso no es un problema grave.)

A continuación, le hice a ChatGPT otra pregunta nebulosa :P

"Basándote en este conjunto de datos, ¿crees que el sitio web treasury direct es cada vez más popular?"

Y me gustó la respuesta que me dio: "La popularidad del sitio web TreasuryDirect podría inferirse examinando las tendencias en ventas y el número de transacciones a lo largo del tiempo. Si vemos un aumento en estas métricas, podría sugerir que más personas están usando el sitio web para comprar bonos del Tesoro. Sin embargo, es importante señalar que esto es una estimación aproximada y puede que no represente el panorama completo de la popularidad del sitio web, ya que podrían estar en juego otros factores."

Me gusta la respuesta porque el tono es el adecuado. ChatGPT indica claramente que no está seguro y que la respuesta es solo una de las posibles.

Este es el gráfico que generó ChatGPT:

the number of transactions over time chatGPT first try

La iteración es la clave

Aunque los gráficos anteriores están bien, todavía no son el producto final que busco. Así que le pregunté a ChatGPT: "Quiero incluir el gráfico sobre el número de transacciones a lo largo del tiempo en mi blog, ¿puedes reformatear el gráfico para que sea más fácil de leer?"

Y puedes ver la mejora progresiva a continuación, uno a uno:

Primera mejora

Esto es lo que me respondió ChatGPT tras mi petición:

Por supuesto, puedo modificar el gráfico para hacerlo más fácil de leer. Algunos cambios que podrían mejorar la legibilidad del gráfico incluyen:

  1. Aumentar el tamaño de fuente del título, las etiquetas y las marcas.
  2. Ajustar el grosor de línea del gráfico para mejor visibilidad.
  3. Añadir un título y etiquetas más descriptivos.
  4. Hacer las líneas de cuadrícula más claras para evitar distracciones.

Y este es el gráfico:

First chart improvement chatGPT

Segunda mejora

Noté algo extraño en el eje vertical y dije: "para el eje vertical, no estoy seguro de que mi audiencia entienda qué significa 1e6"

y este es el resultado:

"Entendible, la notación científica puede ser confusa para el público en general. En su lugar, podemos convertir las etiquetas del eje y a millones y añadir esa información a la etiqueta. Así los números serán más sencillos de entender. Hagamos ese ajuste."

TreasuryDirect transactions trend over time with y-axis fixed

Tercera revisión

Esta fue mi respuesta al ver el gráfico anterior: "¡sí, este gráfico está mejorando mucho! Noto por la tendencia que el número de transacciones aumentó significativamente en los últimos años. ¿Cómo podemos mostrárselo mejor a mi audiencia?"

y ChatGPT respondió:

"Un método común para destacar tendencias en los datos a lo largo del tiempo es incluir una línea de tendencia en el gráfico. Una línea de tendencia (también llamada línea de mejor ajuste) es una línea que se usa para representar el comportamiento de un grupo de datos y ver si hay un patrón determinado.

En el contexto de tus datos, añadir una línea de tendencia puede ayudar a visualizar si hay un aumento general en el número de transacciones con el tiempo, a pesar de las fluctuaciones a corto plazo.

Añadamos una línea de tendencia al gráfico. Usaremos un modelo de regresión lineal simple para estimar la tendencia. También incluiremos la ecuación de la línea de tendencia y el valor R-cuadrado (que mide qué tan bien se ajustan los datos a la línea de regresión) en la leyenda del gráfico para dar más contexto a la audiencia."

third revision and chatGPT gets it wrong

Aunque la respuesta de ChatGPT suena segura, puedes ver que no hay ninguna línea de tendencia roja en el gráfico anterior. Así que di mi opinión:

Cuarta revisión

"No veo la línea roja en absoluto en el gráfico anterior"

y esto es lo que me respondió ChatGPT:

"Pido disculpas por la confusión. La línea roja que representa la tendencia puede no ser visible debido a las grandes fluctuaciones en los datos. Una línea de tendencia, especialmente para un modelo de regresión lineal, puede que no represente adecuadamente los datos si hay fluctuaciones a gran escala o si la tendencia no es lineal.

Una forma alternativa de destacar la tendencia podría ser usar una media móvil (también conocida como promedio móvil). Esta técnica promedia las fluctuaciones durante un período determinado para destacar la tendencia a más largo plazo.

Apliquemos una media móvil de 12 meses a los datos y representémosla junto con los datos originales. Esto debería ayudarnos a visualizar mejor la tendencia general."

chatGPT chart revision with trend line

"Una media móvil suaviza las fluctuaciones a corto plazo y destaca las tendencias a más largo plazo en los datos. En este caso, se calcula promediando el número de transacciones durante períodos de 12 meses.

La línea de media móvil muestra la tendencia general de los datos a pesar de las fluctuaciones mensuales. Como podemos ver, hay una clara tendencia alcista en el número de transacciones, lo que apoya tu observación de que TreasuryDirect es cada vez más popular."

¿No es genial? No le dije a ChatGPT que quería ver la media móvil de 12 meses, pero lo sugirió. Honestamente, yo no había pensado en esta forma de visualizar el enorme cambio de los últimos años frente a los últimos 20 años. ¡De nuevo, estoy muy impresionado!

También notarás la elección del color: usa deliberadamente un color más oscuro para la línea de tendencia para destacar el cambio, que es exactamente lo que quería.

Revisión final

Aunque ya estaba impresionado con el último gráfico, añadí esto: "en realidad, una pregunta adicional, ¿necesitamos las líneas de cuadrícula en el gráfico anterior? ¿Crees que podemos simplificar aún más el gráfico eliminando las líneas de cuadrícula?"

y esto es lo que recibí:

final chart revision from chatGPT

Leyendo este proceso de revisión, puede que tengas la sensación de que lleva demasiado tiempo, pero no — en la vida real, cada iteración tarda menos de 5-10 segundos en ejecutarse. ¡Es definitivamente mucho más rápido que hacerlo yo solo!

Comparación directa entre mi propio gráfico y el gráfico de ChatGPT

Como mencioné antes, escribí un post de blog usando este conjunto de datos anteriormente, así que creé algunos gráficos yo mismo en el pasado. Ahora quiero comparar lo rápido que será recrear el mismo gráfico pero usando ChatGPT.

Así que escribí esto: "¿puedes generar un gráfico que muestre la tendencia de cuentas financiadas en treasury direct de enero de 2016 a febrero de 2023?"

Déjame mostrarte lado a lado mi propio gráfico y lo que creó ChatGPT. Esto es lo que yo creé:

Funded accounts trend at TreasuryDirect January 2016 to February 2023

Si recuerdo correctamente, crear este gráfico me llevó más de 5-10 minutos.

Pero con ChatGPT, lo hizo en segundos y esto es lo que recibí (con la bonificación de la media móvil de 12 meses). Tú decides cuál versión es mejor :P

chatGPT with code interpreter revised chart

Conclusión

Me ha dejado alucinado lo que ChatGPT con el intérprete de código puede hacer AHORA para el análisis de datos y no puedo esperar a ver lo que podrá hacer en el futuro, con incluso más mejoras :D

¿Cuál es la tarea de datos más tediosa que haces regularmente? ¿Has intentado pasársela al Code Interpreter? Tengo curiosidad por saber si maneja tus datos específicos de tu sector tan bien como manejó los míos.

Un abrazo,

Chandler

Seguir leyendo

Mi Trayectoria
Conectar
Idioma
Preferencias