Test

ChatGPT può fare data science, ma commette ancora errori

Gli accademici della City University di Hong Kong lo hanno messo alla prova in un corso universitario di livello master. In un documento di ricerca, ecco i risultati ottenuti

Pubblicato il 05 Lug 2023

chatgpt digital marketing

ChatGPT, come sappiamo, è capace di fare molto, ma può fare data science? E come? La City University di Hong Kong lo ha messo alla prova chiedendogli di occuparsi di scienza dei dati di base in un corso di livello master della università. A ChatGPT è stato chiesto di aiutare a progettare un set di dati per un sondaggio che permettesse agli studenti di fare pratica con diversi tipi di analisi statistica. Il dataset si concentra su vari costrutti che predicono il successo del servizio pubblico e la soddisfazione dei cittadini.

Gli studenti hanno potuto lavorare con il set di dati per esercitarsi in diversi tipi di analisi statistica:

  • analisi di mediazione, per rivelare il meccanismo nascosto tra due variabili;
  • analisi di moderazione, per esaminare come diversi fattori influenzano la relazione tra due variabili;
  • analisi di mediazione moderata, che combina sia la mediazione che la moderazione per offrire una comprensione più completa della relazione tra le variabili di interesse.

Generazione di dati con ChatGPT

Per creare il set di dati dell’indagine sono state date a ChatGPT alcune istruzioni:

  • quante variabili devono essere incluse nel set di dati, sia le variabili dipendenti (DV) che quelle indipendenti (IV), oltre ad alcune variabili di controllo.
  • quante osservazioni si volevano nel dataset e come ogni variabile doveva essere misurata: metrica, a intervalli, ordinale o su scala categorica.
  • introdurre alcuni problemi realistici nel set di dati, come le distribuzioni non normali e i valori mancanti.

La sfida: è stato chiesto a ChatGPT di scrivere un codice Python o R per produrre il set di dati, che può essere copiato in un editor di testo Python o R per generare il set di dati in base a diverse specifiche. Queste includono il successo del servizio pubblico e la soddisfazione dei cittadini come possibili variabili dipendenti; possibili variabili indipendenti e di controllo come le abilità sociali, la compassione, l’età, il sesso, l’istruzione e le precedenti esperienze lavorative; tra le altre.

In base alle richieste piuttosto complesse di cui sopra, ChatGPT è in grado di produrre una matrice di dati? Può produrre il codice Python o R richiesto senza errori?

ChatGPT e data science: la sperimentazione

Per prima cosa è stato inserito il seguente prompt in ChatGPT:

ChatGPT data science

Osservazione n. 1: il codice Python sembra essere corretto (vedere la schermata dell’interprete Python qui sotto). Ha utilizzato NumPy per generare variabili con distribuzioni normali o distorte, scala ordinale (per l’istruzione), valori binari (per il sesso) o valori mancanti. Successivamente, ha creato i percorsi di mediazione ipotizzando i coefficienti di ciascun percorso, positivi o negativi. Infine, ha utilizzato pandas per creare un frame di dati con le variabili richieste. Il codice è stato quindi copiato e incollato nell’editor di testo di Python ed è stato verificato se fosse in grado di produrre il set di dati richiesto.

ChatGPT data science

Osservazione n. 2: il codice Python di cui sopra ha funzionato bene senza alcun errore (si veda la schermata di Excel qui sotto). Tuttavia, da una rapida analisi si riscontrano alcune imperfezioni. Ad esempio, è stato richiesto che tutti i valori fossero interi, ma i valori di “successo del servizio pubblico”, “soddisfazione dei cittadini”, “intraprendenza” e “corruzione” sono ancora dei float. Si noti anche che “successo del servizio pubblico” e “corruzione” hanno valori negativi, mentre non era stato specificato che queste due variabili dovessero avere valori estremi, ma che dovessero andare da 1 a 7 ed essere numeri interi.

ChatGPT data science

Le correlazioni e le mediazioni sono state testate utilizzando RStudio. Risulta che il dataset simulato generato da ChatGPT utilizzando il codice Python di cui sopra è conforme alle nostre specifiche. Le correlazioni tra le variabili sono riportate nella tabella Excel sottostante, con * che indica le correlazioni statisticamente significative.

ChatGPT data science

Vengono quindi eseguite diverse regressioni utilizzando il pacchetto Lavaan in R. Il risultato è mostrato di seguito.

ChatGPT e data science: i risultati

I ricercatori della City University hanno scoperto che un caso d’uso molto interessante di ChatGPT è quello di aiutare gli utenti a creare esempi per facilitare la pratica della scienza dei dati e l’apprendimento. Lo hanno dimostrato con un esempio di matrice di dati creata con ChatGPT. Gli studenti e i professionisti della scienza dei dati possono imparare a usare ChatGPT creando il proprio set di dati come metodo di apprendimento dei dati e dei metodi statistici. Ma ChatGPT è in grado di fare scienza dei dati? A livello generale, ChatGPT ha superato il test. Ma c’è un’interpretazione più sfumata delle capacità di ChatGPT.

In primo luogo, ChatGPT è uno strumento versatile che consente di creare codici in pochi secondi da utilizzare in strumenti di programmazione statistica come Python e R, ma non è ancora esente da errori. Gli utenti devono svolgere la dovuta diligenza per controllare e verificare l’accuratezza del codice, l’uso corretto dei pacchetti e di pandas, ecc.

Quando gli utenti hanno troppe specifiche in un prompt, ChatGPT può ignorare parti delle specifiche nella generazione del codice. I ricercatori se ne sono accorti quando hanno provato il primo prompt più volte. È impressionante che ChatGPT fornisca codici diversi ogni volta, ma si sono anche resi conto che non tutti i codici funzionano perfettamente; potrebbero esserci degli errori. Pertanto, i suggeritori devono ancora ispezionare i codici per assicurarsi che ogni specifica sia stata coperta nei codici prima di eseguirli.

Quindi, se volete ottenere i migliori risultati da ChatGPT, verificate sempre l’accuratezza e la completezza dei codici.

In secondo luogo, utilizzando gli stessi prompt e le stesse specifiche di cui sopra, è stato testato come si comportano i codici Python e R. I ricercatori hanno scoperto che i codici R generati da ChatGPT avevano maggiori probabilità di contenere errori rispetto a quelli in Python. Hanno anche scoperto che ChatGPT potrebbe ingannarci – o avere delle allucinazioni – fornendo funzioni inesistenti in R. Per esempio, ha affermato che il pacchetto lavaan (un pacchetto R per la modellazione delle equazioni strutturali) ha una funzione sim per produrre insiemi di dati simulati, ma questa funzione non esiste affatto (riconosciamo che il nome corretto di questa funzione dovrebbe essere simulateData). Quindi, se si vuole usare ChatGPT per generare codice R, controllare sempre due volte il codice prima di eseguirlo.

Infine, hanno scoperto che ChatGPT ha un limite di spazio nel fornire risposte. Quando il codice è troppo lungo, smette di generare e finisce per fornire codice incompleto. In questa situazione, possiamo fornire i prompt in più fasi e chiedere di “continuare” per terminare. Quindi, se si desidera generare codice lungo con ChatGPT, è buona norma suddividerlo in richieste più piccole e utilizzare la richiesta “continua” quando necessario.

Conclusioni

Nel complesso, la buona notizia è che il lavoro della data science non può ancora essere completamente automatizzato dall’AI. ChatGPT ha un valore pedagogico per aiutare l’insegnamento e l’apprendimento della scienza dei dati introduttiva. Ma è ancora soggetto ad alcune limitazioni. Tuttavia, c’è ancora molto mistero riguardo alle sue capacità per la scienza dei dati, dato che le capacità dell’AI si sviluppano rapidamente.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2