Skip to content
··6 menit baca

Saya Terpukau dengan Kemampuan ChatGPT Code Interpreter untuk Analisis Data

Saya bertanya ke ChatGPT pertanyaan samar seperti "ceritakan sesuatu yang menarik" tentang data Treasury — langsung menghasilkan grafik penuh wawasan yang butuh waktu berjam-jam jika saya buat sendiri.

Posting ini ditulis pada tahun 2023. Beberapa detail mungkin sudah berubah sejak saat itu.

Ketika Ethan Mollick menulis tentang betapa dahsyatnya chatGPT dengan Code Interpreter, saya sangat penasaran. Saya sedang liburan waktu itu jadi baru sempat main-main dengannya hari ini. Dan wow, sungguh bikin takjub!

Untuk konteks, saya memutuskan untuk menggunakan data tentang berbagai penerbitan sekuritas pemerintah AS dari website Treasury Direct. Saya memilih dataset ini karena saya pernah menulis blog post sebelumnya tentang "Why You Shouldn't Believe the Hype About the TreasuryDirect Website Being Outdated" jadi saya cukup familiar dengan datasetnya. Dan yang lebih penting, saya kurang lebih ingat berapa lama waktu yang saya butuhkan untuk membuat grafiknya.

Mengunggah seluruh dataset sangatlah mudah

Hanya dengan sekali klik tombol, saya bisa mengunggah seluruh dataset beserta kamus datanya juga. Dan saya tidak perlu banyak menjelaskan tentang dataset-nya, hanya kalimat-kalimat ini dari 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."

Saya suka fakta bahwa tanpa diminta, chatGPT memberi tahu cara dia memahami dataset di level tinggi dan memberi preview baris-baris data awal.

Sekarang saya bisa mulai "berbicara" dengan datanya

Bisa ceritakan sesuatu yang menarik tentang dataset ini?

Saya bertanya ke chatGPT pertanyaan yang cukup samar "can you tell me something interesting about this dataset?" Ini pertanyaan super generik karena saya ingin melihat apakah chatGPT bisa secara intuitif menebak apa yang mungkin menarik bagi manusia.

Dan ini jawabannya:

can you tell me something interesting about this dataset

can you tell me something interesting about this dataset

can you tell me something interesting about this dataset

Seperti yang kamu lihat, chatGPT menebak dengan benar bahwa mungkin tren jumlah gross sales dari waktu ke waktu adalah salah satu catatan menarik pertama tentang dataset yang mungkin saya pedulikan. Kemudian dia memecah gross sales berdasarkan jenis sekuritas di grafik berikutnya. (Jika kamu perhatikan dengan cermat antara kata-kata dan grafik akhir, kamu bisa melihat bahwa chatGPT menyebutkan warna "oranye" yang salah padahal seharusnya "biru yang lebih gelap", tapi itu bukan masalah besar).

Selanjutnya, saya bertanya ke chatGPT pertanyaan samar lagi :P

"Based on this dataset, do you think that the website treasury direct is getting more popular?"

Dan saya suka jawaban yang diberikan "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."

Saya suka respons ini karena nada bicaranya tepat. ChatGPT dengan jelas menyatakan bahwa dia tidak yakin dan jawabannya hanya salah satu dari banyak kemungkinan jawaban.

Ini grafik yang chatGPT hasilkan

the number of transactions over time chatGPT first try

Iterasi adalah kuncinya

Meskipun grafik di atas sudah oke, belum merupakan produk akhir yang saya cari. Jadi saya minta 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?"

Dan kamu bisa lihat perbaikan dari waktu ke waktu di bawah, satu per satu:

Perbaikan pertama

Ini yang chatGPT balas setelah permintaan saya:

Absolutely, I can modify the chart to make it easier to read. Some changes that could improve the chart's readability include:

  1. Increasing the font size of the title, labels, and ticks.
  2. Adjusting the linewidth of the plot for better visibility.
  3. Adding a more descriptive title and labels.
  4. Making the gridlines lighter to avoid distraction.

Dan ini grafiknya

First chart improvement chatGPT

Perbaikan kedua

Saya melihat sesuatu yang aneh dengan sumbu vertikal jadi saya bilang "for the vertical axis, I am not sure if my audience will understand what 1e6 means?"

dan ini hasilnya

"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."

TreasuryDirect transactions trend over time with y-axis fixed

Revisi ketiga

Ini respons saya setelah melihat grafik di atas "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?"

dan chatGPT membalas:

"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."

third revision and chatGPT gets it wrong

Meskipun jawaban chatGPT terdengar yakin, kamu bisa lihat bahwa tidak ada garis tren merah di grafik di atas. Jadi saya memberikan feedback saya

Revisi keempat

"I dont see the red line at all from the above chart"

dan ini yang chatGPT balas:

"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."

chatGPT chart revision with trend line

"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."

Hebat kan? Saya tidak bilang ke chatGPT bahwa saya ingin melihat rolling mean 12 bulan tapi dia yang menyarankannya. Jujur, saya tidak kepikiran cara ini untuk memvisualisasikan perubahan besar beberapa tahun terakhir vs 20 tahun terakhir. Lagi-lagi sangat terkesan!

Kamu juga akan melihat pilihan warnanya, dia sengaja menggunakan warna yang lebih gelap untuk garis tren untuk menyoroti perubahan, yang memang saya inginkan.

Revisi terakhir

Meskipun saya sudah terkesan dengan grafik terakhir, saya menambahkan ini "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?"

dan ini yang saya terima

final chart revision from chatGPT

Membaca proses revisi ini, kamu mungkin merasa ini memakan waktu terlalu lama tapi tidak, dalam kehidupan nyata, setiap iterasi memakan waktu kurang dari 5-10 detik untuk dijalankan. Ini jelas jauh lebih cepat daripada saya melakukannya sendiri!

Perbandingan langsung antara grafik saya sendiri dan grafik chatGPT

Seperti disebutkan di atas, saya pernah menulis blog post menggunakan dataset ini sebelumnya jadi saya membuat beberapa grafik sendiri di masa lalu. Sekarang saya ingin membandingkan seberapa cepat untuk membuat ulang grafik yang sama tapi menggunakan chatGPT.

jadi saya menulis "can you generate a graph to show the trend of funded account at treasury direct from Jan 2016 to Feb 2023?"

Mari saya tunjukkan secara berdampingan grafik saya sendiri dan apa yang chatGPT buat. Di bawah ini yang saya buat sendiri:

Funded accounts trend at TreasuryDirect January 2016 to February 2023

Jika saya ingat dengan benar, butuh waktu lebih dari 5-10 menit untuk membuat grafik ini sebelumnya.

tapi dengan chatGPT, hanya butuh hitungan detik dan ini yang saya terima (dengan bonus rolling mean 12 bulan). Kamu yang menilai versi mana yang lebih baik :P

chatGPT with code interpreter revised chart

Kesimpulan

Saya terpukau dengan apa yang chatGPT dengan code interpreter bisa lakukan SEKARANG untuk analisis data dan tidak sabar melihat apa yang bisa dilakukannya di masa depan, dengan perbaikan lebih lanjut :D

Apa tugas data yang paling membosankan yang rutin kamu lakukan? Sudahkah kamu coba melemparkannya ke Code Interpreter? Saya penasaran apakah dia menangani data domain spesifikmu sebaik dia menangani data saya.

Salam,

Chandler

Lanjutkan Membaca

Perjalanan Saya
Terhubung
Bahasa
Preferensi