Ich bin begeistert, was ChatGPT mit Code Interpreter für die Datenanalyse leisten kann
Ich stellte ChatGPT vage Fragen wie "Erzähl mir etwas Interessantes" über Treasury-Daten – es generierte sofort aufschlussreiche Grafiken, die ich manuell Stunden gebraucht hätte zu erstellen.
Dieser Beitrag wurde 2023 geschrieben. Einige Details können sich seitdem geändert haben.
Als Ethan Mollick darüber schrieb, wie mächtig chatGPT mit Code Interpreter ist, war ich äußerst neugierig. Ich war zu diesem Zeitpunkt im Urlaub, daher hatte ich erst heute die Gelegenheit, damit zu spielen. Und wow, es verschlägt mir den Atem!
Zur Einordnung: Ich beschloss, Daten über verschiedene US-Staatsanleihen von der Website Treasury Direct zu verwenden. Ich wählte diesen Datensatz, weil ich zuvor einen Blogbeitrag über "Why You Shouldn't Believe the Hype About the TreasuryDirect Website Being Outdated" geschrieben hatte und daher mit dem Datensatz einigermaßen vertraut bin. Und noch wichtiger: Ich erinnere mich ungefähr daran, wie lange es mich gekostet hat, die Grafiken zu erstellen.
Den gesamten Datensatz hochzuladen ist extrem einfach
Mit nur einem Klick kann ich den gesamten Datensatz zusammen mit dem Datenwörterbuch hochladen. Und ich musste nicht viel über den Datensatz sagen, nur diese Sätze von der Website: "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."
Ich schätze, dass chatGPT ohne Aufforderung erklärt, wie es den Datensatz auf hohem Niveau versteht, und mir die ersten Datenzeilen als Vorschau gibt.
Jetzt kann ich mit den Daten "sprechen"
Kannst du mir etwas Interessantes über diesen Datensatz erzählen?
Ich stellte chatGPT eine eher nebulöse Frage: "Can you tell me something interesting about this dataset?" Das ist eine super generische Frage, denn ich möchte sehen, ob chatGPT intuitiv erraten kann, was Menschen interessieren könnte.
Und das ist die Antwort:
Wie du sehen kannst, hat chatGPT richtig geraten, dass der Trend des Bruttoumsatzes über die Zeit vielleicht eine der ersten interessanten Anmerkungen zum Datensatz ist, die mich interessieren könnte. Dann schlüsselt es den Bruttoumsatz nach Wertpapiertyp im nächsten Diagramm auf. (Wenn du genau zwischen der Formulierung und dem Enddiagramm schaust, siehst du, dass chatGPT die falsche Farbe "orange" statt "dunkleres Blau" angegeben hat – aber das ist kein Beinbruch.)
Als nächstes stellte ich chatGPT eine weitere nebulöse Frage :P
"Based on this dataset, do you think that the website treasury direct is getting more popular?"
Und ich mag die Antwort, die es mir gab: "The popularity of the TreasuryDirect website could be inferred by examining the trends in sales and the number of transactions over time. If we see an increase in these metrics, it could suggest that more people are using the website to purchase Treasury bonds. However, it's important to note that this is a rough estimation and might not represent the full picture of the website's popularity, as there might be other factors at play."
Ich mag die Antwort, weil der Ton stimmt. ChatGPT erklärt klar, dass es unsicher ist und die Antwort nur eine von vielen möglichen ist.
Das ist das Diagramm, das chatGPT generiert hat
Iteration ist der Schlüssel
Obwohl die obigen Diagramme in Ordnung sind, sind sie noch nicht das Endprodukt, nach dem ich suche. Also bat ich chatGPT: "I want to include the chart about the number of transactions over time on my blog, can you reformat the chart so that it is easier to read?"
Und du kannst die Verbesserung über die Zeit unten sehen, eine nach der anderen:
Erste Verbesserung
Das ist, was chatGPT mir nach meiner Anfrage zurückschickte:
Absolutely, I can modify the chart to make it easier to read. Some changes that could improve the chart's readability include:
- Increasing the font size of the title, labels, and ticks.
- Adjusting the linewidth of the plot for better visibility.
- Adding a more descriptive title and labels.
- Making the gridlines lighter to avoid distraction.
Und das ist das Diagramm
Zweite Verbesserung
Mir fiel etwas Seltsames mit der vertikalen Achse auf, also sagte ich: "for the vertical axis, I am not sure if my audience will understand what 1e6 means?"
Und das ist das Ergebnis:
"Understandable, scientific notation can sometimes be confusing for a general audience. Instead, we can convert the y-axis labels to millions and add that information to the label. This way, the numbers will be more straightforward to understand. Let's make that adjustment."
Dritte Revision
Das ist meine Antwort nach dem obigen Diagramm: "yes this graph is getting much better! I notice from the trend that the number of transactions increased significantly over the past few years. How do we show this better to my audience?"
Und chatGPT antwortete:
"One common method for highlighting trends in data over time is to include a trend line in the graph. A trend line (also called a line of best fit) is a line that is used to represent the behavior of a group of data to see if there's a certain pattern.
In the context of your data, adding a trend line can help visualize whether there's an overall increase in the number of transactions over time, despite any short-term fluctuations.
Let's add a trend line to the graph. We'll use a simple linear regression model to estimate the trend. We'll also include the equation of the trend line and the R-squared value (which measures how closely the data fit the regression line) in the graph's legend to provide more context for the audience."
Obwohl chatGPTs Antwort selbstbewusst klingt, ist keine rote Trendlinie im obigen Diagramm zu sehen. Also gab ich mein Feedback.
Vierte Revision
"I dont see the red line at all from the above chart"
Und das antwortete chatGPT:
"I apologize for the confusion. The red line representing the trend might not be visible due to the large fluctuations in the data. A trend line, especially for a linear regression model, may not adequately represent the data if there are large-scale fluctuations or if the trend is not linear.
An alternative way to highlight the trend could be to use a rolling mean (also known as a moving average). This technique averages out the fluctuations over a certain period to highlight the longer-term trend.
Let's apply a 12-month rolling mean to the data and plot it along with the original data. This should help us better visualize the overall trend."
"A rolling mean smooths out short-term fluctuations and highlights longer-term trends in data. In this case, it's calculated by averaging the number of transactions over 12-month periods.
The rolling mean line shows the general trend of the data despite the monthly fluctuations. As we can see, there's a clear upward trend in the number of transactions, which supports your observation that TreasuryDirect is becoming more popular."
Ist das nicht großartig? Ich habe chatGPT nicht gesagt, dass ich den 12-Monats-gleitenden Durchschnitt sehen möchte, aber es schlug ihn vor. Ehrlich gesagt hatte ich nicht daran gedacht, die massive Veränderung in den letzten Jahren im Vergleich zu den letzten 20 Jahren auf diese Weise zu visualisieren. Wieder super beeindruckt!
Du wirst auch die Farbwahl bemerken – es verwendet absichtlich eine dunklere Farbe für die Trendlinie, um die Veränderung hervorzuheben, was genau das ist, was ich möchte.
Letzte Revision
Obwohl ich bereits vom letzten Diagramm beeindruckt bin, fügte ich hinzu: "actually, one additional question, do we need the gridlines for the above chart? do you think we can simlify the chart further by eliminating the gridlines?"
Und das ist, was ich zurückerhielt:
Wenn du diesen Revisionsprozess liest, hast du möglicherweise das Gefühl, dass er zu lange dauert – aber nein, in der Realität dauert jede Iteration weniger als 5-10 Sekunden. Es ist definitiv viel schneller, als wenn ich das selbst machen würde!
Direkter Vergleich zwischen meinem eigenen Diagramm und dem chatGPT-Diagramm
Wie oben erwähnt, hatte ich zuvor einen Blogbeitrag mit diesem Datensatz geschrieben und selbst einige Diagramme erstellt. Jetzt möchte ich vergleichen, wie schnell es sein wird, dasselbe Diagramm mit chatGPT neu zu erstellen.
Also schrieb ich: "can you generate a graph to show the trend of funded account at treasury direct from Jan 2016 to Feb 2023?"
Lass mich dir mein eigenes Diagramm und das von chatGPT erstellte nebeneinander zeigen. Unten sehen wir, was ich selbst erstellt habe:
Wenn ich mich recht entsinne, hat es mich mehr als 5-10 Minuten gekostet, dieses Diagramm früher zu erstellen.
Aber mit chatGPT dauerte es Sekunden, und das ist, was ich erhalten habe (mit dem Bonus des 12-Monats-gleitenden Durchschnitts). Du kannst selbst urteilen, welche Version besser ist :P
Fazit
Ich bin begeistert, was chatGPT mit Code Interpreter JETZT für die Datenanalyse leisten kann, und ich freue mich darauf zu sehen, was es in Zukunft mit noch mehr Verbesserungen leisten kann :D
Was ist die aufwändigste Datenaufgabe, die du regelmäßig erledigst? Hast du schon versucht, sie dem Code Interpreter zu übergeben? Ich bin neugierig, ob es deine fachspezifischen Daten genauso gut behandelt wie meine.
Viele Grüße,
Chandler
















