Usando o ChatGPT para Analisar Seus Dados de Teste

Ari Mahpour
|  Criada: Outubro 18, 2023  |  Atualizada: Julho 1, 2024
Usando o ChatGPT para Analisar Seus Dados de Teste

Em Usando ChatGPT para Testes Automatizados, falamos sobre maneiras fáceis de fazer a IA Generativa escrever scripts de teste e bibliotecas de software, facilitando a comunicação com seu equipamento de teste. Agora que você está familiarizado com a automação dos seus scripts de teste, é hora de automatizar o processamento dos seus dados de teste também. Usar o ChatGPT para análise de dados pode ser simples e eficiente. Neste artigo, vamos ver como fazer isso com dados de teste recentes dos meus últimos testes de bateria.

Contexto

Recentemente, realizei alguns testes para perfilar uma bateria inteligente e queria ver quão precisos eram alguns dos registros de relatório
especificamente:

  1. Temperatura
  2. Tensão
  3. Corrente

 

Os dados de saída que coletei do meu script de teste estavam em formato CSV, então foi fácil importá-los para o Microsoft Excel. Naturalmente, como a maioria dos engenheiros, eu poderia ter usado planilhas com tabelas sofisticadas, gráficos e um pouco de mágica de fórmulas do Excel para encontrar os dados que estava procurando. No entanto, decidi que o que eu realmente queria era um assistente a quem eu pudesse fazer uma série de perguntas e obter de volta os dados que estava procurando.

Com a IA e seu Modelo de Linguagem Natural, posso fazer perguntas em inglês simples sobre meus dados e obter os resultados que estou procurando. O que é ainda melhor é a recente adição do plugin de Análise Avançada de Dados (anteriormente conhecido como "Intérprete de Código") no GPT-4. Ele não apenas me mostra o código Python que escreve enquanto processa minhas instruções, mas também pode grafar dados para mim usando a biblioteca Matplotlib em Python. Note que estou me referindo a uma versão paga do ChatGPT, mas você ainda pode obter a maior parte do que está procurando na versão gratuita do ChatGPT (ou outros sistemas de IA Generativa).

Testando as Águas

Antes de começar, queria ter uma ideia do que minha IA poderia e não poderia fazer por mim. Eu enviei meus dados de teste em CSV para o ChatGPT e fiz perguntas simples sobre os dados, como “Qual é a temperatura média relatada pela bateria?” Descobri muito rapidamente que o conjunto de dados que dei era grande demais. Eu tinha duas escolhas: reduzir meus dados ou pedir que ele me fornecesse comandos para executar contra meus dados localmente. Decidi fazer ambos. Com o plugin de Análise Avançada de Dados, ele fornecerá o trecho de código (em Python) que executa em suas máquinas. Uma vez que forneci ao GPT-4 meu arquivo reduzido, ele foi capaz de começar a analisar os dados.

Ao longo deste artigo, você verá trechos de código que ele fornece que podem ser executados localmente contra o conjunto maior de dados também. Ter o GPT-4 executar o código primeiro é um componente chave que estava faltando quando eles lançaram o ChatGPT. Eu, frequentemente, recebia código gerado que não funcionava. Com a Análise Avançada de Dados, isso parou de acontecer (já que tentaria se corrigir após uma falha).

Quando você carrega seus dados pela primeira vez, é bom testar as águas um pouco. Para começar, eu dou ao ChatGPT a chance de analisar meus dados e me dizer o que acha que pode fazer:

Carregamento inicial de dados

Figura 1: Carregamento inicial de dados

Depois disso, ele me dá sugestões sobre o que acho que gostaria de ver:

Sugestão de análises

Figura 2: Sugestões de análises

Estou curioso sobre a matriz de correlação. Estou me perguntando como a temperatura se correlaciona com a tensão e corrente de alimentação, então vou perguntar:
Mostre-me a correlação entre temperatura, tensão/corrente de alimentação e tensão/corrente de carga.

Ele me dá uma boa decomposição de como todas as variáveis se correlacionam:

Matriz de correlação

Figura 3: Matriz de correlação

E se eu pedir ao ChatGPT para plotar para mim, eu obtenho:

Gráfico da matriz de correlação

Figura 4: Gráfico da matriz de correlação

Ele me dá algumas correlações extras, que realmente não me interessam, mas estou bem em ignorá-las.

Validação de Dados

Agora que realizei alguma exploração de dados, gostaria de passar para a validação dos meus conjuntos de dados. Como mencionado acima, quero ter uma ideia de quão bem a bateria inteligente relata sua tensão e corrente internas. A maneira mais simples de acompanhar isso é ler a potência de alimentação e carga dos meus instrumentos e compará-la com a potência relatada pela bateria. Obviamente, haverá alguma perda nos cabos e queda de eficiência no carregador, então vamos apenas olhar para a correlação entre os dois e determinar nossa precisão a partir daí.

Embora o modelo de linguagem natural que o ChatGPT fornece seja muito bom, certamente não é perfeito. Existem certos conceitos que ele pode não entender completamente. Se você pedir para realizar análise estatística, geralmente entende o que fazer, mas pode não sempre entender termos de engenharia simples. Para contornar isso, tento fazer meus pedidos da forma mais simples possível para evitar problemas a jusante. Peço ao ChatGPT para criar três novas colunas:

Vamos criar três novas colunas de dados:

  1. Potência de Alimentação: Tensão de Alimentação * Corrente de Alimentação
  2. Potência de Carga: Tensão de Carga * Corrente de Carga
  3. Potência da Bateria: abs(Tensão * Corrente)/1000/1000

Também preciso indicar que quando minha potência de carga = 0 (ou seja, a carga eletrônica DC não está drenando corrente do dispositivo em teste) isso significa que estamos carregando. Quando a potência de carga é diferente de zero, isso é uma indicação de que estamos descarregando a bateria. Novamente, para não confundir o GPT-4, menciono isso na solicitação assim:

Trace a potência de carga e a potência da bateria contra os carimbos de tempo, mas apenas quando a potência de carga é diferente de zero

O resultado que obtenho é um gráfico interessante:

Gráfico de Carga e Bateria

Figura 5: Gráfico de Potência de Carga e Bateria

Agora que os dados parecem bons, posso pedir uma correlação e outras análises:
Mostre-me a correlação entre os dois (apenas em um cenário não nulo)

Cálculo de Correlação

Figura 6: Cálculo de correlação

E quando peço outras estatísticas:
Qual é a diferença média, desvio padrão e variância entre os dois (apenas não nulo) [em porcentagens]

Estatísticas sobre Potência de Carga e Bateria

Figura 7: Estatísticas sobre Potência de Carga e Bateria

Isso me ajuda a validar minha intuição de que os dois estão intimamente ligados, já que há apenas uma pequena perda no cabo. Agora realizo a mesma análise na parte de carregamento:

Vamos realizar a mesma análise, mas traçando a potência de fornecimento e a potência da bateria contra os carimbos de tempo quando a potência de carga é 0

Gráfico de Potência de Fornecimento e Bateria

Figura 8: Gráfico de Potência de Fornecimento e Bateria

Como você pode ver, tenho algumas falhas. Isso se deve à telemetria da bateria inteligente estar fora de sincronia com meus instrumentos. Idealmente, eu deveria entrar no modo de carga (ou seja, desligar a carga eletrônica e ligar a fonte de alimentação) e depois esperar mais alguns segundos antes de coletar a telemetria. A razão para isso é porque há uma série de comandos que são enviados entre a bateria e o carregador para “negociar” quanto poder entregar à bateria. Pense nisso como uma versão simplificada do USB-C Power Delivery (se você estiver familiarizado com o conceito).

Infelizmente, eu não incorporei isso ao meu script de coleta de telemetria, então agora tenho anomalias para filtrar. Sem problemas, o ChatGPT também pode fazer isso. Após algumas iterações, eu “treino” meu IA para “aprender” o que é considerado um glitch e o que não é (por exemplo, o que é considerado uma discrepância que não é contabilizada nas funções padrão de análise estatística) e então ele aplica esse conhecimento:

Gráfico filtrado de energia de Suprimento e Bateria

Figura 9: Gráfico filtrado de energia de Suprimento e Bateria

Quando peço as mesmas estatísticas, recebo uma análise completa:

Estatísticas no gráfico filtrado de energia de Suprimento e Bateria Estatísticas no gráfico filtrado de energia de Suprimento e Bateria1


Figura 10: Estatísticas no gráfico filtrado de energia de Suprimento e Bateria

Isso é uma boa notícia. Estou esperando uma diferença maior entre os valores porque há perda tanto no cabo quanto no conversor de energia.

Limpeza de Dados

O ChatGPT também pode atuar como um limpador para seus dados, procurando por anomalias. No passado, eu vi alguns glitches onde o registro de temperatura ficou um pouco fora de controle. Eu peço ao ChatGPT para “me dizer se você ver algum glitch nos meus dados” e ele retorna com:

Procurando por anomalias nos dados de Temperatura

Figura 11: Procurando por anomalias nos dados de Temperatura

Isso pode dar um bom ponto de partida para identificar glitches. Neste teste específico, parece que o registro de temperatura estava funcionando corretamente. Considere este gráfico de eficiência energética que peço ao ChatGPT para plotar para mim:

Plotando eficiência energética

Figura 12: Plotando eficiência energética

É bastante evidente que há algumas anormalidades nos meus dados. Certamente não é possível ter eficiência > 100% e o GPT-4 sabe disso também:

Opinião do ChatGpt sobre

Figura 13: A opinião do ChatGPT sobre a anomalia

Após minha investigação, descobri que havia, de fato, uma falha no barramento de comunicação. Peço ao ChatGPT para filtrar todos os pontos de dados onde a eficiência é > 100%. Neste ponto, posso solicitar um link para baixar os dados filtrados, plotá-los novamente ou filtrá-los ainda mais.

Conclusão

Neste artigo, olhamos para maneiras de utilizar o ChatGPT para analisar, filtrar e manipular nossos dados de teste a partir de nossos relatórios de teste. Começamos fazendo o upload dos dados de teste e perguntando ao ChatGPT o que ele poderia fazer e, em seguida, avançamos para a validação e limpeza dos dados. A principal conclusão aqui é que podemos utilizar a linguagem natural para nos proporcionar explorações guiadas através do nosso conjunto de dados. Nos próximos meses, veremos outros players no espaço da IA começar a oferecer recursos como este integrados às suas aplicações. À medida que entramos neste ecossistema de pareamento, usaremos a IA para nos apoiar e guiar através de nossa análise em vez de nos substituir. À medida que a IA se torna mais onipresente no processamento de dados, nossas capacidades como indivíduos crescerão, desbloqueando inúmeras possibilidades e potenciais.

Sobre o autor

Sobre o autor

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

Recursos relacionados

Documentação técnica relacionada

Retornar a página inicial
Thank you, you are now subscribed to updates.