Skip to content
··7 min de lecture

Je suis soufflé par ce que ChatGPT avec code interpreter peut faire pour l'analyse de données

J'ai posé à ChatGPT des questions vagues comme "dis-moi quelque chose d'intéressant" sur des données du Trésor — il a instantanément généré des graphiques perspicaces qui m'auraient pris des heures à créer manuellement.

Cet article a ete ecrit en 2023. Certains details ont pu changer depuis.

Quand Ethan Mollick a écrit sur la puissance de chatGPT avec Code Interpreter, j'étais extrêmement curieux. J'étais en vacances à ce moment-là, donc je n'ai eu la chance de l'essayer qu'aujourd'hui. Et franchement, ça m'épate !

Pour le contexte, j'ai décidé d'utiliser des données sur différents titres du gouvernement américain du site web Treasury Direct. J'ai choisi ce jeu de données parce que j'avais écrit un article de blog précédent sur "Pourquoi tu ne devrais pas croire la rumeur selon laquelle le site TreasuryDirect est dépassé" donc je suis quelque peu familier avec le jeu de données. Et plus important encore, je me souviens à peu près du temps qu'il m'a fallu pour générer les graphiques.

Télécharger l'ensemble du jeu de données est extrêmement simple

D'un simple clic, je peux télécharger l'ensemble du jeu de données avec le dictionnaire de données également. Et je n'avais pas à dire grand-chose sur le jeu de données, juste ces phrases du site web : "Le jeu de données Securities Issued in TreasuryDirect détaille combien de chaque type d'obligations du Trésor sont émises, remboursées ou en circulation dans TreasuryDirect de l'exercice fiscal (FY) 2002 jusqu'à aujourd'hui. Les obligations en circulation sont celles qui sont encore en circulation et n'ont pas encore été remboursées. Le nombre d'obligations du Trésor en circulation est déterminé en prenant la différence entre le nombre d'obligations du Trésor émises et remboursées. Ce jeu de données ne contient aucune information sur les valeurs ou les rendements des obligations du Trésor."

J'apprécie le fait que, sans prompt, chatGPT me dise comment il comprend le jeu de données à un niveau élevé et me donne les premières lignes de données en aperçu.

Maintenant je peux commencer à "parler" aux données

Peux-tu me dire quelque chose d'intéressant à propos de ce jeu de données ?

J'ai posé à chatGPT une question plutôt nébuleuse "peux-tu me dire quelque chose d'intéressant à propos de ce jeu de données ?" C'est une question super générique parce que je veux voir si chatGPT peut deviner intuitivement ce qui pourrait intéresser les humains.

Et voici la réponse :

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

Comme tu peux le voir, chatGPT a bien deviné que la tendance du montant des ventes brutes dans le temps est probablement l'une des premières notes intéressantes sur le jeu de données qui m'intéresse. Il décompose ensuite les ventes brutes par type de titre dans le graphique suivant. (Si tu regardes attentivement entre le texte et le graphique final, tu peux voir que chatGPT a dit la mauvaise couleur "orange" au lieu de "bleu foncé", mais ce n'est pas rédhibitoire).

Ensuite, j'ai posé à chatGPT une autre question nébuleuse :P

"Sur la base de ce jeu de données, penses-tu que le site web treasury direct devient plus populaire ?"

Et j'aime la réponse qu'il m'a donnée "La popularité du site TreasuryDirect pourrait être déduite en examinant les tendances des ventes et du nombre de transactions dans le temps. Si nous voyons une augmentation de ces métriques, cela pourrait suggérer que plus de personnes utilisent le site pour acheter des obligations du Trésor. Cependant, il est important de noter que c'est une estimation approximative et pourrait ne pas représenter le tableau complet de la popularité du site, car il pourrait y avoir d'autres facteurs en jeu."

J'aime la réponse parce que le ton est juste. ChatGPT indique clairement qu'il est incertain et que la réponse n'est que l'une des nombreuses réponses possibles.

Voici le graphique que chatGPT a généré

the number of transactions over time chatGPT first try

L'itération est la clé

Bien que les graphiques ci-dessus soient corrects, ils ne correspondent pas encore aux produits finaux que je recherche. J'ai donc demandé à chatGPT "Je veux inclure le graphique sur le nombre de transactions dans le temps sur mon blog, peux-tu reformater le graphique pour qu'il soit plus facile à lire ?"

Et tu peux voir l'amélioration au fil du temps ci-dessous, une par une :

Première amélioration

Voici ce que chatGPT m'a répondu après ma demande :

Absolument, je peux modifier le graphique pour le rendre plus facile à lire. Certains changements qui pourraient améliorer la lisibilité du graphique incluent :

  1. Augmenter la taille de la police du titre, des étiquettes et des graduations.
  2. Ajuster la largeur de ligne du tracé pour une meilleure visibilité.
  3. Ajouter un titre et des étiquettes plus descriptifs.
  4. Rendre les lignes de grille plus claires pour éviter les distractions.

Et voici le graphique

First chart improvement chatGPT

Deuxième amélioration

J'ai remarqué quelque chose d'étrange avec l'axe vertical, j'ai donc dit "pour l'axe vertical, je ne suis pas sûr que mon audience comprendra ce que 1e6 signifie ?"

et voici le résultat

"Compréhensible, la notation scientifique peut parfois être confuse pour un public général. Au lieu de cela, nous pouvons convertir les étiquettes de l'axe Y en millions et ajouter cette information à l'étiquette. De cette façon, les chiffres seront plus simples à comprendre. Faisons cet ajustement."

TreasuryDirect transactions trend over time with y-axis fixed

Troisième révision

Voici ma réponse après avoir vu le graphique ci-dessus "oui ce graphique est bien meilleur ! Je remarque d'après la tendance que le nombre de transactions a augmenté significativement ces dernières années. Comment montrer ça mieux à mon audience ?"

et chatGPT a répondu :

"Une méthode courante pour mettre en évidence les tendances dans les données au fil du temps est d'inclure une ligne de tendance dans le graphique. Une ligne de tendance (également appelée ligne de meilleur ajustement) est une ligne utilisée pour représenter le comportement d'un groupe de données pour voir s'il y a un certain schéma.

Dans le contexte de tes données, l'ajout d'une ligne de tendance peut aider à visualiser s'il y a une augmentation globale du nombre de transactions dans le temps, malgré les fluctuations à court terme.

Ajoutons une ligne de tendance au graphique. Nous utiliserons un modèle de régression linéaire simple pour estimer la tendance. Nous inclurons également l'équation de la ligne de tendance et la valeur R-carré (qui mesure à quel point les données correspondent à la ligne de régression) dans la légende du graphique pour fournir plus de contexte à l'audience."

third revision and chatGPT gets it wrong

Bien que la réponse de chatGPT semble confiante, tu peux voir qu'il n'y a pas de ligne de tendance rouge dans le chat ci-dessus. J'ai donc fourni mon feedback.

Quatrième révision

"Je ne vois pas du tout la ligne rouge dans le graphique ci-dessus"

et voici ce que chatGPT m'a répondu :

"Je m'excuse pour la confusion. La ligne rouge représentant la tendance pourrait ne pas être visible en raison des grandes fluctuations dans les données. Une ligne de tendance, surtout pour un modèle de régression linéaire, pourrait ne pas représenter adéquatement les données s'il y a des fluctuations à grande échelle ou si la tendance n'est pas linéaire.

Une autre façon de mettre en évidence la tendance pourrait être d'utiliser une moyenne mobile (également connue sous le nom de moyenne glissante). Cette technique fait la moyenne des fluctuations sur une certaine période pour mettre en évidence la tendance à plus long terme.

Appliquons une moyenne mobile sur 12 mois aux données et traçons-la avec les données originales. Cela devrait nous aider à mieux visualiser la tendance générale."

chatGPT chart revision with trend line

"Une moyenne mobile lisse les fluctuations à court terme et met en évidence les tendances à plus long terme dans les données. Dans ce cas, elle est calculée en faisant la moyenne du nombre de transactions sur des périodes de 12 mois.

La ligne de moyenne mobile montre la tendance générale des données malgré les fluctuations mensuelles. Comme nous pouvons le voir, il y a une tendance à la hausse claire dans le nombre de transactions, ce qui soutient ton observation que TreasuryDirect devient plus populaire."

C'est formidable ? Je n'avais pas dit à chatGPT que je voulais regarder la moyenne mobile sur 12 mois mais il l'a suggéré. Honnêtement, je n'avais pas pensé à cette façon de visualiser le changement massif des dernières années par rapport aux 20 années précédentes. Encore une fois super impressionné !

Tu remarqueras également le choix des couleurs, il utilise intentionnellement une couleur plus foncée pour la ligne de tendance pour mettre en évidence le changement, ce qui est ce que je veux.

Révision finale

Alors que j'étais déjà impressionné par le dernier graphique, j'ai ajouté "en fait, une question supplémentaire, avons-nous besoin des lignes de grille pour le graphique ci-dessus ? Penses-tu que nous pouvons simplifier davantage le graphique en supprimant les lignes de grille ?"

et voici ce que j'ai reçu

final chart revision from chatGPT

En lisant ce processus de révision, tu auras peut-être l'impression que ça prend beaucoup trop de temps mais non, dans la vraie vie, chaque itération prend moins de 5 à 10 secondes pour s'exécuter. C'est définitivement beaucoup plus rapide que si je le faisais moi-même !

Comparaison directe entre mon propre graphique et le graphique de chatGPT

Comme mentionné ci-dessus, j'ai écrit un article de blog en utilisant ce jeu de données avant, donc j'ai créé quelques graphiques moi-même dans le passé. Maintenant je veux comparer à quelle vitesse il sera possible de recréer le même graphique mais en utilisant chatGPT.

j'ai donc écrit "peux-tu générer un graphique pour montrer la tendance des comptes financés chez treasury direct de janvier 2016 à février 2023 ?"

Laisse-moi te montrer côte à côte mon propre graphique et ce que chatGPT a créé. Ci-dessous ce que j'ai créé moi-même :

Funded accounts trend at TreasuryDirect January 2016 to February 2023

Si je me souviens bien, il m'a fallu plus de 5 à 10 minutes pour créer ce graphique avant.

Mais avec chatGPT, ça a pris des secondes et voici ce que j'ai reçu (avec la moyenne mobile sur 12 mois en bonus). Juge toi-même quelle version est meilleure :P

chatGPT with code interpreter revised chart

Conclusion

Je suis soufflé par ce que chatGPT avec code interpreter peut faire MAINTENANT pour l'analyse de données et j'ai hâte de voir ce qu'il pourra faire dans le futur, avec encore plus d'améliorations :D

Quelle est la tâche de données la plus fastidieuse que tu fais régulièrement ? As-tu essayé de la soumettre au Code Interpreter ? Je suis curieux de savoir si il gère tes données spécifiques à ton domaine aussi bien qu'il a géré les miennes.

Cordialement,

Chandler

Continuer la lecture

Mon parcours
Me suivre
Langue
Preferences