Mit ChatGPT Ihre Testdaten analysieren

Ari Mahpour
|  Erstellt: Oktober 18, 2023  |  Aktualisiert am: Juli 1, 2024
Mit ChatGPT Ihre Testdaten analysieren

In Verwendung von ChatGPT für automatisierte Tests haben wir über einfache Wege gesprochen, Generative KI dazu zu bringen, Testskripte und Softwarebibliotheken zu schreiben, was die Kommunikation mit Ihrer Testausrüstung vereinfacht. Jetzt, da Sie mit der Automatisierung Ihrer Testskripte vertraut sind, ist es an der Zeit, auch die Verarbeitung Ihrer Testdaten zu automatisieren. Die Verwendung von ChatGPT für die Datenanalyse kann einfach und effizient sein. In diesem Artikel werden wir uns ansehen, wie genau das mit frischen Testdaten aus meinen jüngsten Batterietests funktioniert.

Hintergrund

Ich habe kürzlich einige Tests durchgeführt, um eine intelligente Batterie zu profilieren und wollte sehen, wie genau einige der Berichtsregister
waren, speziell:

  1. Temperatur
  2. Spannung
  3. Strom

 

Die Ausgabedaten, die ich aus meinem Testskript erhalten habe, waren im CSV-Format, daher war es ein Kinderspiel, sie in Microsoft Excel zu importieren. Natürlich hätte ich wie die meisten Ingenieure Tabellenkalkulationen mit ausgeklügelten Tabellen, Diagrammen und etwas Excel-Formelzauberei verwenden können, um die Daten zu finden, die ich suchte. Ich entschied mich jedoch, dass ich eigentlich einen Assistenten wollte, den ich eine Reihe von Fragen stellen könnte und der mir die gesuchten Daten liefert.

Mit KI und ihrem Natural Language Model kann ich Fragen in einfachem Englisch über meine Daten stellen und die Ergebnisse erhalten, die ich suche. Noch schöner ist die kürzliche Ergänzung des Advanced Data Analysis-Plugins (früher bekannt als „Code Interpreter'') auf GPT-4. Es zeigt mir nicht nur den Python-Code, den es schreibt, während es meine Anweisungen verarbeitet, sondern kann auch Daten für mich grafisch darstellen, und zwar mit der Matplotlib-Bibliothek in Python. Beachten Sie, dass ich mich auf eine kostenpflichtige Version von ChatGPT beziehe, aber Sie können immer noch das meiste von dem bekommen, was Sie suchen, in der kostenlosen Version von ChatGPT (oder anderen Generative AI-Systemen).

Das Wasser testen

Bevor ich anfing, wollte ich ein Gefühl dafür bekommen, was meine KI für mich tun konnte und was nicht. Ich lud meine CSV-Testdaten zu ChatGPT hoch und stellte einfache Fragen zu den Daten wie „Wie hoch ist die durchschnittliche Temperatur, die von der Batterie gemeldet wird?“ Ich stellte sehr schnell fest, dass der Datensatz, den ich gab, zu groß war. Ich hatte zwei Möglichkeiten: meine Daten reduzieren oder sie bitten, mir Befehle zu geben, um lokal gegen meine Daten zu laufen. Ich entschied mich, beides zu tun. Mit dem Advanced Data Analysis-Plugin wird Ihnen der Code-Snippet (in Python) bereitgestellt, den es auf ihren Maschinen ausführt. Nachdem ich GPT-4 meine reduzierte Datei zur Verfügung gestellt hatte, konnte es mit der Analyse der Daten beginnen.

In diesem Artikel sehen Sie Code-Snippets, die es bereitstellt und die auch lokal gegen den größeren Datensatz ausgeführt werden können. Dass GPT-4 den Code zuerst ausführt, ist ein Schlüsselelement, das fehlte, als sie mit ChatGPT herauskamen. Ich bekam häufig generierten Code, der nicht funktionierte. Mit Advanced Data Analysis hörte das auf zu passieren (da es versuchen würde, sich nach einem Fehler zu korrigieren).

Wenn Sie Ihre Daten zum ersten Mal laden, ist es gut, die Gewässer ein wenig zu testen. Zunächst gebe ich ChatGPT die Chance, meine Daten zu analysieren und mir mitzuteilen, was es denkt, tun zu können:

Erstes Laden der Daten

Abbildung 1: Erstes Laden der Daten

Danach gibt es mir Vorschläge, was ich meiner Meinung nach gerne sehen würde:

Analysevorschläge

Abbildung 2: Analysevorschläge

Ich bin neugierig auf die Korrelationsmatrix. Ich frage mich, wie die Temperatur mit Spannung und Strom korreliert, also frage ich:
Zeige mir die Korrelation zwischen Temperatur, Versorgungsspannung/-strom und Lastspannung/-strom.

Es gibt mir eine schöne Übersicht darüber, wie alle Variablen korrelieren:

Korrelationsmatrix

Abbildung 3: Korrelationsmatrix

Und wenn ich ChatGPT bitte, es für mich zu plotten, erhalte ich:

Korrelationsmatrix-Plot

Abbildung 4: Korrelationsmatrix-Plot

Es gibt mir einige zusätzliche Korrelationen, die mich wirklich nicht interessieren, aber ich bin in Ordnung damit, sie zu ignorieren.

Datenvalidierung

Nachdem ich einige Datenexplorationen durchgeführt habe, möchte ich nun zur Validierung meiner Datensätze übergehen. Wie oben erwähnt, möchte ich ein Gefühl dafür bekommen, wie gut der intelligente Akku seine interne Spannung und Stromstärke meldet. Der einfachste Weg, dies zu verfolgen, besteht darin, die Versorgungs- und Lastleistung von meinen Instrumenten abzulesen und mit der gemeldeten Akkuleistung zu vergleichen. Offensichtlich wird es einige Verluste über die Kabel und Effizienzverluste im Ladegerät geben, daher werden wir uns nur die Korrelation zwischen den beiden ansehen und daraus unsere Genauigkeit bestimmen.

Obwohl das natürliche Sprachmodell, das ChatGPT bietet, sehr gut ist, ist es sicherlich nicht perfekt. Es gibt bestimmte Konzepte, die es möglicherweise nicht vollständig versteht. Wenn Sie es bitten, eine statistische Analyse durchzuführen, versteht es normalerweise, was zu tun ist, aber es versteht möglicherweise nicht immer einfache technische Begriffe. Um dies zu berücksichtigen, versuche ich, meine Anfragen so einfach wie möglich zu halten, um Probleme stromabwärts zu vermeiden. Ich bitte ChatGPT, drei neue Spalten zu erstellen:

Lassen Sie uns drei neue Datenspalten erstellen:

  1. Versorgungsleistung: Versorgungsspannung * Versorgungsstrom
  2. Lastleistung: Lastspannung * Laststrom
  3. Batterieleistung: abs(Spannung * Strom)/1000/1000

Ich muss auch darauf hinweisen, dass, wenn meine Lastleistung = 0 ist (d.h. die DC-Elektroniklast keinen Strom vom Prüfgerät zieht), bedeutet das, dass wir laden. Wenn die Lastleistung nicht null ist, ist das ein Hinweis darauf, dass wir die Batterie entladen. Um GPT-4 nicht zu verwirren, erwähne ich dies in der Anfrage so:

Zeichne die Lastleistung und die Batterieleistung gegen Zeitstempel, aber nur, wenn die Lastleistung nicht null ist

Das Ergebnis, das ich erhalte, ist ein schönes Diagramm:

Diagramm von Last und Batterie

Abbildung 5: Diagramm von Last- und Batterieleistung

Jetzt, da die Daten gut aussehen, kann ich nach einer Korrelation und anderen Analysen fragen:
Zeige mir die Korrelation zwischen den beiden (nur in einem Nicht-Null-Zustand)

Korrelationsberechnung

Abbildung 6: Korrelationsberechnung

Und wenn ich nach anderen Statistiken frage:
Was ist der mittlere Unterschied, die Standardabweichung und die Varianz zwischen den beiden (nur Nicht-Null) [in Prozent]

Statistiken zu Last- und Batterieleistung

Abbildung 7: Statistiken zu Last- und Batterieleistung

Dies hilft mir, meine Vermutung zu bestätigen, dass die beiden eng miteinander verbunden sind, da es nur einen geringen Kabelverlust gibt. Ich führe nun die gleiche Analyse für den Ladevorgang durch:

Führen wir die gleiche Analyse durch, aber zeichnen wir die Versorgungsleistung und die Batterieleistung gegen Zeitstempel, wenn die Lastleistung 0 ist

Diagramm von Versorgungs- und Batterieleistung

Abbildung 8: Diagramm von Versorgungs- und Batterieleistung

Wie Sie sehen können, habe ich einige Störungen. Dies liegt daran, dass die intelligente Batterietelemetrie nicht mit meinen Instrumenten synchronisiert ist. Idealerweise sollte ich in den Lademodus wechseln (d.h. die elektronische Last ausschalten und das Netzteil einschalten) und dann noch einige Sekunden warten, bevor ich die Telemetrie sammle. Der Grund dafür ist, dass eine Reihe von Befehlen zwischen der Batterie und dem Ladegerät gesendet werden, um zu "verhandeln", wie viel Leistung an die Batterie geliefert werden soll. Denken Sie daran als eine vereinfachte Version von USB-C Power Delivery (wenn Sie mit dem Konzept vertraut sind).

Leider habe ich das nicht in mein Telemetrieerfassungsskript eingebaut, sodass ich jetzt Anomalien herausfiltern muss. Keine Sorge, ChatGPT kann das auch. Nach einigen Iterationen „trainiere“ ich meine KI, um zu „lernen“, was als Störung betrachtet wird und was nicht (z.B. was als Ausreißer gilt, der in standardmäßigen statistischen Analysefunktionen nicht berücksichtigt wird), und dann wendet sie dieses Wissen an:

Gefilterte Darstellung von Versorgungs- und Batterieleistung

Abbildung 9: Gefilterte Darstellung von Versorgungs- und Batterieleistung

Wenn ich nach denselben Statistiken frage, erhalte ich eine vollständige Aufschlüsselung:

Statistiken zur gefilterten Darstellung von Versorgungs- und Batterieleistung Statistiken zur gefilterten Darstellung von Versorgungs- und Batterieleistung1


Abbildung 10: Statistiken zur gefilterten Darstellung von Versorgungs- und Batterieleistung

Das sind gute Nachrichten. Ich erwarte einen größeren Unterschied zwischen den Werten, da es sowohl im Kabel als auch im Stromwandler Verluste gibt.

Datenbereinigung

ChatGPT kann auch als Bereiniger für Ihre Daten fungieren, indem es nach Anomalien sucht. In der Vergangenheit habe ich einige Störungen gesehen, bei denen das Temperaturregister ein wenig verrückt spielte. Ich bitte ChatGPT, mir zu „sagen, ob du irgendwelche Störungen in meinen Daten siehst“, und es kommt zurück mit:

Suche nach Anomalien in Temperaturdaten

Abbildung 11: Suche nach Anomalien in Temperaturdaten

Dies kann Ihnen einen guten Ausgangspunkt bieten, um Störungen zu identifizieren. In diesem speziellen Test scheint es, als würde das Temperaturregister korrekt funktionieren. Betrachten Sie dieses Diagramm zur Energieeffizienz, das ich ChatGPT bitte, für mich zu erstellen:

Darstellung der Energieeffizienz

Abbildung 12: Darstellung der Energieeffizienz

Es ist ziemlich offensichtlich, dass es einige Unregelmäßigkeiten in meinen Daten gibt. Es ist sicherlich nicht möglich, eine Effizienz > 100% zu haben, und GPT-4 weiß das auch:

ChatGPTs Meinung zur Anomalie

Abbildung 13: ChatGPTs Meinung zur Anomalie

Nach meiner Untersuchung habe ich festgestellt, dass es tatsächlich einen Fehler im Kommunikationsbus gab. Ich bitte ChatGPT, alle Datenpunkte herauszufiltern, bei denen die Effizienz > 100% ist. An diesem Punkt kann ich einen Download-Link anfordern, um die gefilterten Daten zu greifen, sie erneut zu plotten oder sie weiter zu filtern.

Fazit

In diesem Artikel betrachten wir Möglichkeiten, ChatGPT zu nutzen, um unsere Testdaten aus unseren Testberichten zu analysieren, zu filtern und zu manipulieren. Wir haben begonnen, indem wir die Testdaten hochgeladen und ChatGPT gefragt haben, was es damit anfangen kann, und sind dann zur Datenvalidierung und -bereinigung übergegangen. Der wichtigste Punkt hier ist, dass wir natürliche Sprache nutzen können, um uns durch unseren Datensatz zu führen. In den kommenden Monaten werden wir sehen, wie andere Akteure im KI-Bereich beginnen, Funktionen wie diese in ihre Anwendungen zu integrieren. Wenn wir in dieses Ökosystem des Pairings eintreten, werden wir KI nutzen, um uns durch unsere Analyse zu unterstützen und zu leiten, anstatt uns zu ersetzen. Da KI in der Datenverarbeitung immer allgegenwärtiger wird, werden unsere Fähigkeiten als Einzelpersonen wachsen und unzählige Möglichkeiten und Potenziale freisetzen.

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Ari ist ein PCB-Designer mit umfassender Erfahrung in der Entwicklung, Herstellung, Prüfung und Integration verschiedener Softwaresysteme. Dabei bringt er leidenschaftlich gern Entwickler aus den Bereichen Design, Prüfung und Abnahme zusammen, um gemeinsam an Projekten zu arbeiten und diese voranzutreiben.

Ähnliche Resourcen

Verwandte technische Dokumentation

Zur Startseite
Thank you, you are now subscribed to updates.