Usando ChatGPT para Analizar Tus Datos de Prueba

Ari Mahpour
|  Creado: Octobre 18, 2023  |  Actualizado: Julio 1, 2024
Usando ChatGPT para Analizar Tus Datos de Prueba

En Usando ChatGPT para Pruebas Automatizadas, hablamos sobre formas fáciles de hacer que la IA Generativa escriba guiones de prueba y bibliotecas de software, facilitando la comunicación con tu equipo de prueba. Ahora que estás familiarizado con la automatización de tus guiones de prueba, es hora de automatizar también el procesamiento de tus datos de prueba. Usar ChatGPT para el análisis de datos puede ser simple y eficiente. En este artículo vamos a ver cómo hacer precisamente eso con datos de prueba recientes de mis últimas pruebas de baterías.

Antecedentes

Recientemente realicé algunas pruebas para perfilar una batería inteligente y quería ver cuán precisos eran algunos de los registros de informes
específicamente:

  1. Temperatura
  2. Voltaje
  3. Corriente

 

Los datos de salida que obtuve de mi guión de prueba estaban en formato CSV, por lo que fue muy fácil importarlos a Microsoft Excel. Naturalmente, como la mayoría de los ingenieros, podría haber utilizado hojas de cálculo con tablas elegantes, gráficos y algo de magia de fórmulas de Excel para encontrar los datos que estaba buscando. Sin embargo, decidí que lo que realmente quería era un asistente al que pudiera hacerle una serie de preguntas y obtener los datos que buscaba.

Con la IA y su Modelo de Lenguaje Natural puedo hacer preguntas en inglés sencillo sobre mis datos y obtener los resultados que busco. Lo que es aún mejor es la reciente adición del plugin de Análisis Avanzado de Datos (anteriormente conocido como "Intérprete de Código") en GPT-4. No solo me mostrará el código de Python que escribe mientras procesa mis instrucciones, sino que también puede graficar datos para mí también usando la biblioteca Matplotlib en Python. Cabe señalar que me estoy refiriendo a una versión de pago de ChatGPT pero aún puedes obtener la mayoría de lo que buscas en la versión gratuita de ChatGPT (u otros sistemas de IA Generativa).

Probando las Aguas

Antes de comenzar, quería tener una idea de lo que mi IA podría y no podría hacer por mí. Subí mis datos de prueba en CSV a ChatGPT y hice preguntas simples sobre los datos como “¿Cuál es la temperatura promedio reportada por la batería?” Descubrí muy rápidamente que el conjunto de datos que di era demasiado grande. Tenía dos opciones: reducir mis datos o pedirle que me proporcionara comandos para ejecutar contra mis datos localmente. Decidí hacer ambas cosas. Con el plugin de Análisis Avanzado de Datos, te proporcionará el fragmento de código (en Python) que ejecuta en sus máquinas. Una vez que proporcioné a GPT-4 mi archivo reducido, pudo comenzar a analizar los datos.

A lo largo de este artículo verás fragmentos de código que proporciona que también pueden ejecutarse localmente contra el conjunto más grande de datos. Que GPT-4 ejecute primero el código es un componente clave que faltaba cuando lanzaron ChatGPT por primera vez. Frecuentemente, obtenía código generado que no funcionaba. Con Análisis Avanzado de Datos, eso dejó de suceder (ya que intentaría corregirse después de un fallo).

Cuando cargas tus datos por primera vez, es bueno probar un poco las aguas. Para comenzar, le doy a ChatGPT la oportunidad de analizar mis datos y dejarme saber lo que piensa que puede hacer:

 

Carga inicial de datos

Figura 1: Carga inicial de datos

Después de eso, me da sugerencias sobre lo que creo que me gustaría ver:

Sugerencia de análisis

Figura 2: Sugerencias de análisis

Tengo curiosidad por la matriz de correlación. Me pregunto cómo se correlaciona la temperatura con el voltaje y la corriente, así que preguntaré:
Muéstrame la correlación entre temperatura, voltaje/corriente de suministro y voltaje/corriente de carga.

Me da un buen desglose de cómo todas las variables se correlacionan:

Matriz de correlación

Figura 3: Matriz de correlación

Y si le pido a ChatGPT que la grafique para mí, obtengo:

Gráfico de la matriz de correlación

Figura 4: Gráfico de la matriz de correlación

Me da algunas correlaciones extra, las cuales realmente no me interesan, pero estoy bien con ignorarlas.

Validación de Datos

Ahora que he realizado algo de exploración de datos, me gustaría pasar a validar mis conjuntos de datos. Como mencioné anteriormente, quiero tener una idea de qué tan bien la batería inteligente informa su voltaje y corriente internos. La forma más simple de rastrear esto es leer la potencia de suministro y carga de mis instrumentos y compararla con la potencia de la batería reportada. Obviamente, habrá alguna pérdida a través de los cables y una caída de eficiencia en el cargador, así que solo miraremos la correlación entre los dos y determinaremos nuestra precisión a partir de ahí.

Aunque el modelo de lenguaje natural que proporciona ChatGPT es muy bueno, ciertamente no es perfecto. Hay ciertos conceptos que puede que no entienda completamente. Si le pides que realice un análisis estadístico, generalmente entiende qué hacer, pero puede que no siempre entienda términos de ingeniería simples. Para tener en cuenta esto, trato de hacer mis solicitudes lo más simples posible para prevenir problemas aguas abajo. Le pido a ChatGPT que cree tres nuevas columnas:

Vamos a crear tres nuevas columnas de datos:

  1. Potencia de Suministro: Voltaje de Suministro * Corriente de Suministro
  2. Potencia de Carga: Voltaje de Carga * Corriente de Carga
  3. Potencia de Batería: abs(Voltaje * Corriente)/1000/1000

También necesito indicar que cuando mi potencia de carga = 0 (es decir, la carga electrónica de CC no está extrayendo corriente del dispositivo bajo prueba) significa que estamos cargando. Cuando la potencia de carga es distinta de cero, eso es una indicación de que estamos descargando la batería. Nuevamente, para no confundir a GPT-4, menciono esto en la solicitud de la siguiente manera:

Trama la potencia de carga y la potencia de la batería contra marcas de tiempo pero solo cuando la potencia de carga no es cero

El resultado que obtengo es un gráfico agradable:

Gráfico de Carga y Batería

Figura 5: Gráfico de potencia de Carga y Batería

Ahora que los datos se ven bien, puedo pedir una correlación y otros análisis:
Muéstrame la correlación entre los dos (solo en un entorno no nulo)

Cálculo de Correlación

Figura 6: Cálculo de correlación

Y cuando pido otras estadísticas:
¿Cuál es la diferencia media, la desviación estándar y la varianza entre los dos (solo no nulo) [en porcentajes]

Estadísticas sobre potencia de Carga y Batería

Figura 7: Estadísticas sobre potencia de Carga y Batería

Esto me ayuda a validar mi presentimiento de que los dos están estrechamente unidos ya que solo hay una pequeña pérdida por el cable. Ahora realizo el mismo análisis en la parte de carga:

Realicemos el mismo análisis pero trazando la potencia de suministro y la potencia de la batería contra marcas de tiempo cuando la potencia de carga es 0

Gráfico de potencia de Suministro y Batería

Figura 8: Gráfico de potencia de Suministro y Batería

Como puedes ver, tengo algunos problemas. Esto se debe a que la telemetría de la batería inteligente no está sincronizada con mis instrumentos. Idealmente, debería pasar al modo de carga (es decir, apagar la carga electrónica y encender la fuente de alimentación) y luego esperar unos segundos más antes de recopilar telemetría. La razón de esto es porque hay una serie de comandos que se envían entre la batería y el cargador para "negociar" cuánta potencia entregar a la batería. Piensa en esto como una versión simplificada de USB-C Power Delivery (si estás familiarizado con el concepto).

Lamentablemente, no incorporé eso en mi script de recolección de telemetría, así que ahora tengo anomalías que filtrar. No hay problema, ChatGPT también puede hacer eso. Después de algunas iteraciones, “entreno” a mi IA para “aprender” qué se considera un fallo y qué no (por ejemplo, qué se considera un valor atípico que no se tiene en cuenta en las funciones de análisis estadístico estándar) y luego aplica ese conocimiento:

Gráfico filtrado de la alimentación y la batería

Figura 9: Gráfico filtrado de la alimentación y la batería

Cuando pido las mismas estadísticas, obtengo un desglose completo:

Estadísticas en el gráfico filtrado de la alimentación y la batería Estadísticas en el gráfico filtrado de la alimentación y la batería1


Figura 10: Estadísticas en el gráfico filtrado de la alimentación y la batería

Esto es una buena noticia. Espero una mayor diferencia entre los valores porque hay pérdida tanto en el cable como en el convertidor de energía.

Limpieza de Datos

ChatGPT también puede actuar como un limpiador para tus datos buscando anomalías. En el pasado he visto algunos fallos donde el registro de temperatura se volvió un poco loco. Le pido a ChatGPT que “me diga si ves algún fallo en mis datos” y devuelve:

Buscando anomalías en los datos de Temperatura

Figura 11: Buscando anomalías en los datos de Temperatura

Esto puede darte un buen punto de partida para identificar fallos. En este test particular parece que el registro de temperatura funcionaba correctamente. Considera este gráfico de eficiencia energética que le pido a ChatGPT que trace para mí:

Trazando la eficiencia energética

Figura 12: Trazando la eficiencia energética

Es bastante evidente que hay algunas anomalías en mis datos. Ciertamente no es posible tener una eficiencia > 100% y GPT-4 lo sabe también:

Opinión de ChatGpt sobre la anomalía

Figura 13: La opinión de ChatGPT sobre la anomalía

Después de mi investigación descubrí que, efectivamente, había un fallo en el bus de comunicación. Le pido a ChatGPT que filtre todos los puntos de datos donde la eficiencia es > 100%. En este punto, puedo solicitar un enlace de descarga para obtener los datos filtrados, volver a graficarlos o filtrarlos aún más.

Conclusión

En este artículo, vemos formas de utilizar ChatGPT para analizar, filtrar y manipular nuestros datos de prueba de nuestros informes de prueba. Comenzamos subiendo los datos de prueba y preguntando a ChatGPT qué podía hacer y luego pasamos a la validación y limpieza de datos. La clave aquí es que podemos utilizar el lenguaje natural para proporcionarnos exploraciones guiadas a través de nuestro conjunto de datos. En los próximos meses, veremos a otros actores en el espacio de la IA comenzar a ofrecer características como esta integradas en sus aplicaciones. A medida que entramos en este ecosistema de emparejamiento, utilizaremos la IA para apoyar y guiarnos a través de nuestro análisis en lugar de reemplazarnos. A medida que la IA se vuelva más ubicua en el procesamiento de datos, nuestras capacidades como individuos crecerán, desbloqueando innumerables posibilidades y potencial.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Ari es un ingeniero con una amplia experiencia en diseño, fabricación, pruebas e integración de sistemas eléctricos, mecánicos y de software. Le apasiona integrar a los ingenieros de diseño, de verificación y de pruebas para que trabajen juntos como una unidad cohesiva.

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.