Utilizzo di ChatGPT per Analizzare i Tuoi Dati di Test

Ari Mahpour
|  Creato: ottobre 18, 2023  |  Aggiornato: luglio 1, 2024
Utilizzo di ChatGPT per Analizzare i Tuoi Dati di Test

In Utilizzando ChatGPT per i Test Automatici, abbiamo parlato di modi semplici per far scrivere a Generative AI script di test e librerie software, rendendo semplice comunicare con le tue apparecchiature di test. Ora che sei familiare con l'automazione degli script di test, è il momento di automatizzare anche l'elaborazione dei tuoi dati di test. Utilizzare ChatGPT per l'analisi dei dati può essere semplice e snello. In questo articolo vedremo come fare proprio questo con dati di test recenti dai miei ultimi test sulle batterie.

Contesto

Di recente ho eseguito alcuni test per profilare una batteria intelligente e volevo vedere quanto fossero accurati alcuni dei registri di segnalazione
specificamente:

  1. Temperatura
  2. Tensione
  3. Corrente

 

I dati di output che ho raccolto dal mio script di test erano in formato CSV, quindi è stato semplicissimo importarli in Microsoft Excel. Naturalmente, come la maggior parte degli ingegneri, avrei potuto utilizzare fogli di calcolo con tabelle elaborate, grafici e un po' di magia delle formule di Excel per trovare i dati che cercavo. Ho deciso, tuttavia, che quello che volevo veramente era un assistente a cui poter fare una serie di domande e ottenere indietro i dati che cercavo.

Con l'IA e il suo Modello di Linguaggio Naturale posso fare domande in inglese semplice sui miei dati e ottenere i risultati che cerco. Ciò che è ancora più bello è la recente aggiunta del plugin di Analisi Dati Avanzata (precedentemente noto come "Interprete di Codice") su GPT-4. Non solo mi mostrerà il codice Python che scrive mentre elabora le mie istruzioni, ma può anche graficare i dati per me utilizzando la libreria Matplotlib in Python. Nota che mi riferisco a una versione a pagamento di ChatGPT ma puoi comunque ottenere la maggior parte di ciò che cerchi nella versione gratuita di ChatGPT (o altri sistemi di IA Generativa).

Testare le Acque

Prima di iniziare volevo capire cosa il mio IA potesse e non potesse fare per me. Ho caricato i miei dati di test CSV su ChatGPT e ho fatto domande semplici sui dati come "Qual è la temperatura media segnalata dalla batteria?" Ho scoperto molto rapidamente che il dataset che avevo fornito era troppo grande. Avevo due scelte: ridurre i miei dati o chiedergli di fornirmi comandi da eseguire localmente sui miei dati. Ho deciso di fare entrambe le cose. Con il plugin di Analisi Dati Avanzata mi fornirà lo snippet di codice (in Python) che esegue sulle loro macchine. Una volta fornito a GPT-4 il mio file ridotto, è stato in grado di iniziare ad analizzare i dati.

In questo articolo vedrai frammenti di codice che fornisce che possono essere eseguiti localmente anche sul set di dati più grande. Far eseguire prima il codice a GPT-4 è un componente chiave che mancava quando hanno lanciato per la prima volta ChatGPT. Spesso, ottenevo codice generato che non funzionava. Con Analisi Dati Avanzata, questo ha smesso di accadere (poiché tenterebbe di correggersi dopo un fallimento).

Quando carichi i tuoi dati per la prima volta, è bene testare un po' le acque. Per iniziare, do a ChatGPT la possibilità di analizzare i miei dati e di farmi sapere cosa pensa di poter fare:

Caricamento dati iniziale

Figura 1: Caricamento dati iniziale

Dopo ciò, mi fornisce suggerimenti su ciò che penso mi piacerebbe vedere:

Suggerimento analisi

Figura 2: Suggerimenti analisi

Sono curioso riguardo la matrice di correlazione. Mi chiedo come la temperatura si correla alla tensione e alla corrente di alimentazione, quindi chiederò:
Mostrami la correlazione tra temperatura, tensione/corrente di alimentazione e tensione/corrente di carico.

Questo mi fornisce una bella analisi su come tutte le variabili si correlano:

Matrice di correlazione

Figura 3: Matrice di correlazione

E se chiedo a ChatGPT di tracciarla per me ottengo:

Grafico della matrice di correlazione

Figura 4: Grafico della matrice di correlazione

Questo mi fornisce alcune correlazioni extra, che in realtà non mi interessano, ma non ho problemi a ignorarle.

Validazione dei Dati

Ora che ho eseguito un po' di esplorazione dei dati, vorrei passare alla validazione dei miei set di dati. Come accennato sopra, voglio avere un'idea di quanto bene la batteria intelligente riporti la sua tensione e corrente interna. Il modo più semplice per tracciare ciò è leggere la potenza di alimentazione e di carico dai miei strumenti e confrontarla con la potenza della batteria riportata. Ovviamente ci sarà una certa perdita attraverso i cavi e una riduzione dell'efficienza nel caricabatterie, quindi guarderemo solo la correlazione tra i due e determineremo la nostra accuratezza da lì.

Sebbene il modello di linguaggio naturale che ChatGPT fornisce sia molto buono, certamente non è perfetto. Ci sono alcuni concetti che potrebbe non comprendere completamente. Se gli chiedi di eseguire un'analisi statistica di solito capisce cosa fare ma potrebbe non capire sempre termini di ingegneria semplici. Per tener conto di ciò, cerco di rendere le mie richieste il più semplici possibile per prevenire problemi a valle. Chiedo a ChatGPT di creare tre nuove colonne:

Creiamo tre nuove colonne di dati:

  1. Potenza di Alimentazione: Tensione di Alimentazione * Corrente di Alimentazione
  2. Potenza di Carico: Tensione di Carico * Corrente di Carico
  3. Potenza della Batteria: abs(Tensione * Corrente)/1000/1000

Devo anche indicare che quando la potenza del mio carico = 0 (cioè il carico elettronico DC non sta assorbendo corrente dal dispositivo in prova) significa che stiamo caricando. Quando la potenza del carico è diversa da zero, ciò indica che stiamo scaricando la batteria. Ancora, per non confondere GPT-4, menziono questo nella richiesta così:

Traccia la potenza del carico e la potenza della batteria rispetto ai timestamp ma solo quando la potenza del carico è diversa da zero

Il risultato che ottengo è un bel grafico:

Grafico di Carico e Batteria

Figura 5: Grafico di Potenza di Carico e Batteria

Ora che i dati sembrano buoni posso chiedere una correlazione e altre analisi:
Mostrami la correlazione tra i due (solo in un contesto non nullo)

Calcolo della Correlazione

Figura 6: Calcolo della correlazione

E quando chiedo altre statistiche:
Qual è la differenza media, la deviazione standard e la varianza tra i due (solo non nullo) [in percentuali]

Statistiche su Potenza di Carico e Batteria

Figura 7: Statistiche su Potenza di Carico e Batteria

Questo mi aiuta a validare il mio presentimento che i due siano strettamente collegati insieme dato che c’è solo una piccola perdita nei cavi. Ora eseguo la stessa analisi sulla parte di carica:

Eseguiamo la stessa analisi ma tracciando la potenza di alimentazione e la potenza della batteria rispetto ai timestamp quando la potenza del carico è 0

Grafico di Potenza di Alimentazione e Batteria

Figura 8: Grafico di Potenza di Alimentazione e Batteria

Come puoi vedere ho alcuni problemi. Questo è dovuto al fatto che la telemetria della batteria intelligente non è sincronizzata con i miei strumenti. Idealmente, dovrei passare alla modalità di carica (cioè spegnere il carico elettronico e accendere l'alimentatore) e poi aspettare qualche secondo prima di raccogliere la telemetria. Il motivo è che viene inviata una serie di comandi tra la batteria e il caricatore per "negoziare" quanta potenza fornire alla batteria. Pensate a questo come a una versione semplificata di USB-C Power Delivery (se siete familiari con il concetto).

Purtroppo, non ho incluso questa funzionalità nel mio script di raccolta telemetria, quindi ora devo filtrare alcune anomalie. Nessun problema, anche ChatGPT può farlo. Dopo alcune iterazioni, "addestro" la mia IA a "imparare" cosa si considera un glitch e cosa no (ad esempio, cosa si considera un valore anomalo che non è contemplato nelle funzioni standard di analisi statistica) e poi applica questa conoscenza:

Grafico filtrato di alimentazione e potenza della batteria

Figura 9: Grafico filtrato di alimentazione e potenza della batteria

Quando chiedo le stesse statistiche, ottengo una ripartizione completa:

Statistiche sul grafico filtrato di alimentazione e potenza della batteria Statistiche sul grafico filtrato di alimentazione e potenza della batteria1


Figura 10: Statistiche sul grafico filtrato di alimentazione e potenza della batteria

Questa è una buona notizia. Mi aspetto una differenza maggiore tra i valori perché c'è perdita sia nel cavo che nel convertitore di potenza.

Pulizia dei Dati

ChatGPT può anche agire come uno strumento di pulizia per i tuoi dati cercando anomalie. In passato ho notato alcuni glitch dove il registro della temperatura impazziva. Chiedo a ChatGPT di "dirmi se vedi glitch nei miei dati" e mi risponde con:

Ricerca di anomalie sui dati della temperatura

Figura 11: Ricerca di anomalie sui dati della temperatura

Questo può darti un buon punto di partenza per identificare i glitch. In questo particolare test sembra che il registro della temperatura funzionasse correttamente. Considera questo grafico dell'efficienza energetica che chiedo a ChatGPT di tracciare per me:

Tracciamento dell'efficienza energetica

Figura 12: Tracciamento dell'efficienza energetica

È abbastanza evidente che ci sono alcune anomalie nei miei dati. Certamente non è possibile avere un'efficienza > 100% e anche GPT-4 lo sa:

Il punto di vista di ChatGPT sull'anomalia

Figura 13: Il punto di vista di ChatGPT sull'anomalia

Dopo la mia indagine ho scoperto che c'era, effettivamente, un problema nel bus di comunicazione. Chiedo a ChatGPT di filtrare tutti i punti dati dove l'efficienza è > 100%. A questo punto posso richiedere un link per scaricare i dati filtrati, tracciarli nuovamente o filtrarli ulteriormente.

Conclusione

In questo articolo abbiamo esaminato modi per utilizzare ChatGPT per analizzare, filtrare e manipolare i nostri dati di test dai nostri rapporti di test. Abbiamo iniziato caricando i dati di test e chiedendo a ChatGPT cosa potesse fare e poi siamo passati alla validazione e alla pulizia dei dati. Il punto chiave qui è che possiamo utilizzare il linguaggio naturale per fornirci esplorazioni guidate attraverso il nostro set di dati. Nei prossimi mesi vedremo altri attori nello spazio dell'IA iniziare a fornire funzionalità come questa integrate nelle loro applicazioni. Man mano che entriamo in questo ecosistema di accoppiamento utilizzeremo l'IA per supportare e guidare le nostre analisi invece di sostituirci. Con l'IA che diventa sempre più ubiqua nel trattamento dei dati, le nostre capacità come individui cresceranno, sbloccando innumerevoli possibilità e potenzialità.

Sull'Autore

Sull'Autore

Ari è un ingegnere con una solida esperienza nei campi di progettazione, produzione, collaudo e integrazione di sistemi elettrici, meccanici e software. Ama riunire gli ingegneri addetti alla progettazione, alla verifica e al collaudo e farli lavorare insieme come un'unità affiatata.

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.