BLOG
AI en data-analyse: ChatGPT vs. Claude vs. SPSS
Hoe goed is AI in data-analyse? Kunnen we tools als Excel en SPSS al vervangen bij het doen van onderzoek? Afgelopen week kwam Claude met een update van hun model en ook een nieuwe ‘analysis tool’. ChatGPT kan al langer data analyses uitvoeren. Zijn de data analyses van AI betrouwbaar? Ik ga het uitzoeken!
Uiteindelijke conclusie: ‘Het gevoel wat ik overhoud na deze analyse is dat we binnen enkele jaren geen SPSS meer gaan gebruiken en dat ik al die uren op de universiteit heb verspild om dit te leren……Generatieve AI is nu al bizar goed’
Opzet experiment:
Dit experiment bestaat uit verschillende stappen die we allemaal gaan uitvoeren met zowel 1) ChatGPT 4o, 2) Claude 3.5 (new) en 3) SPSS 30 zodat we het gebruiksgemak maar vooral ook de resultaten met elkaar kunnen vergelijken. Goed om te benoemen ais dat we bij zowel ChatGPT en Claude alle analyses 3 keer gaan uitvoeren zodat we ook kunnen zien of het consistente antwoorden geeft. Het startpunt is dat we 2 datasets hebben gedownload via kaggle.com, namelijk de World Happiness Report- 2024 ) en Hofstede’s six-dimensions model of culture.
De volgende stappen gaan we ondernemen:
1) 2 datasets mergen
2) Uitschieters identificeren en verwijderen
3) Testen voor multicollineariteit en hiervoor compenseren
4) Regressieanalyses
o Simpele regressieanalyse met onafhankelijke, modererende en afhankelijke variabelen
o Simpele regressieanalyse uitbreiden met interactievariabelen
5) Interpretatie van de resultaten
Stap 1: Datasets mergen
Het mergen van de datasets leek zéér voorspoedig te gaan maar bleek achteraf een ramp. Voor zowel de AI als SPSS.
Uit de eerste 3 analyses van ChatGPT kwam een lijst met respectievelijk 80, 80 en 80 landen. Claude kwam respectievelijk met 80, 85 en 80 landen. In SPSS kwam ik ook tot 80 landen. Met ChatGPT en Claude hoefde ik zelf niets te doen en was het binnen een halve minuut klaar. Bij SPSS duurde het veel langer en moest ik allerlei stappen doorzetten. Qua gebruiksgemak was de AI dus 100x beter en de resultaten waren nagenoeg hetzelfde.
Maar toen ging ik analyseren waarom Claude bij 1 van de samenvoegingen tot 85 landen was gekomen. Het bleek dat er enkele landen waren waarbij de landnaam niet op dezelfde manier was gespeld bij de twee datasets.
Om er zeker van te zijn dat ik het juiste antwoord kreeg heb ik alles handmatig binnen Excel gematcht. Dit was monnikenwerk en dit gun ik niemand. Maar de uitkomst mocht er wezen: er waren 88 landen die matchten.
Toen heb ik een analyse losgelaten welke landen we missen als we AI of SPSS gebruiken en waarom dat het geval was. Hieronder het resultaat:
Ik heb aan Claude gevraagd hoe ik het beter kan prompten zodat het dit wel in één keer goed zou doen en het gaf de volgende toevoeging aan de promt:
Merge de datasets op landnaam met de volgende stappen: 1. Begin met een systematische vergelijking: a) Maak eerst twee alfabetische lijsten van alle unieke landnamen uit beide datasets b) Print deze lijsten naast elkaar c) Markeer automatisch de exacte matches d) Identificeer alle niet-gematchte landen 2. Onderzoek vervolgens systematisch alle niet-gematchte landen op deze patronen: a) Afkortingen vs. volledige namen b) Regionale toevoegingen c) Verschillende schrijfwijzen van hetzelfde land d) Administratieve regio’s e) Historische naamvariaties 3. Presenteer alle voorgestelde matches in deze format: Dataset 1: [naam] → Dataset 2: [naam] Reden voor match: [korte uitleg] Zekerheid: [Hoog/Medium/Laag] 4. Vraag expliciet om bevestiging voor: – Alle matches met ‘Medium’ of ‘Lage’ zekerheid – Landen die mogelijk politiek gevoelig zijn ) – Gevallen waar meerdere matches mogelijk zijn 5. Wacht op goedkeuring voordat je verdergaat met de daadwerkelijke merge. Let wel: land-matching is vaak politiek gevoelig en kan impact hebben op onderzoeksresultaten. Bij twijfel, leg voor.
Dit bleek te werken want toen kreeg ik dit soort tabelletjes te zien:
Conclusie
ChatGPT en Claude zijn in gebruiksgemak veel beter dan SPSS. Alle drie de methodes komen tot een verkeerd resultaat. Dit valt me vooral tegen van de AI omdat dat systeem de problemen wel had kunnen voorkomen. Dat zien we ook als we betere prompting gebruiken. Dan komt het wel tot het juiste antwoord.
Stap 2: Uitschieters identificeren en verwijderen
Er zijn 2 populaire methodes om uitschieters te identificeren. De Z-score methode en de IQR methode. Voor dit voorbeeld gaan we werken met de Z-score methode.
Alle drie de tools identificeren 3 waardes met een te hoge z-waarde en die kunnen we simpel uit onze dataset verwijderen. Bij Claude en ChatGPT hoefde ik niets handmatig te doen en was het gebruiksgemak zeer hoog.
Stap 3: Testen voor multicollineariteit en hiervoor compenseren
Voordat we de multicollineariteit gaan berekenen moeten we eerst de interactievariabelen aan maken. We maken 6 interactievariabelen aan, namelijk elke dimensie met logGDP. In zowel Claude, ChatGPT als SPSS is dit binnen een minuut gedaan.
Als eerste stap om te testen voor multicollineariteit laten we een correlatiematrix opstellen. Alle tools doen dat netjes en de resultaten zijn identiek. Bij Claude en ChatGPT worden de resultaten meteen ook voor je geïnterpreteerd, dat is erg prettig. De uitkomst is dat we op bij verschillende correlaties een te hoge score zien dus we kunnen al voordat we de VIF methode moeten toepassen al concluderen dat er sprake is van multicollineariteit.
Voor dit experiment gaan we toch nog even de VIF scores laten berekenen. Hier lopen we tegen de kracht aan van de AI tools. Claude geeft aan dat het tegen ‘technische problemen’ aanloopt bij de berekening. ChatGPT komt wel met consistent cijfers, maar dit zijn andere cijfers dan SPSS weergeeft.
Om te compenseren voor multicollineariteit stelt Claude het volgende voor: ‘Voor het aanpakken van de multicollineariteitsproblemen stel ik een systematische aanpak voor met verschillende oplossingsstrategieën: Mean-Centering (Primaire Aanbeveling): Alle continue variabelen (culturele dimensies en GDP) centreren door het gemiddelde af te trekken voordat we interactietermen creëren ‘. Deze oplossing gaan we in ChatGPT, Claude en SPSS toepassen.
Na het centreren en het berekenen van nieuwe interactievariabelen berekenen we een nieuwe correlatiematrix. De uitkomsten zijn wederom identiek en de correlaties zijn nu netjes r<0.8. Het compenseren voor multicollineariteit was binnen ChatGPT en Claude gemakkelijk gedaan met 1 prompt. In SPSS moest ik handmatig allerlei ingewikkelde stappen zetten.
Stap 4: Regressieanalyses
4.1 Simpele regressieanalyse met onafhankelijke, modererende en afhankelijke variabelen
De simpele regressieanalyse is geen enkel probleem voor alle modellen. De resultaten van de AI zijn consistent (dus hetzelfde antwoord bij meerdere uitvoeringen) en alle antwoorden komen overeen. Ook het gebruiksgemak is hoog.
4.2 Complexere regressieanalyse met interactievariabelen
Ook de complexe regressieanalyse is geen enkel probleem voor alle modellen. De resultaten van de AI zijn consistent (dus hetzelfde antwoord bij meerdere uitvoeringen) en alle antwoorden komen overeen. Ook het gebruiksgemak is hoog.
Stap 5: Interpretatie van de resultaten
De resultaten in SPSS komen in een tabelvorm en dan moet je die zelf interpreteren. Dat is nogal lastig omdat we gecentreerde variabelen en interactievariabelen in het model hebben. Hier is de uitkomst van SPSS, probeer het zelf maar eens te interpreteren……
In chatGPT en Claude kunnen we om hulp vragen bij het interpreteren van de resulaten. Als je het net zelf hebt geprobeerd met bovenstaande data, vergelijk het eens met het antwoord van ChatGPT:
Conclusie
In dit experiment heb ik een gehele kwantitatieve data analyse uitgevoerd met Claude, ChatGPT en SPSS. Ik heb de volgende stappen gezet:
- 2 datasets mergen
- Uitschieters identificeren en verwijderen
- Testen voor multicollineariteit en hiervoor compenseren
- Regressieanalyses
- Simpele regressieanalyse met onafhankelijke, modererende en afhankelijke variabelen
- Simpele regressieanalyse uitbreiden met interactievariabelen
- Interpretatie van de resultaten
Hierbij de rapportcijfers op een rijtje:
We zien dat Claude en ChatGPT op nagenoeg alle onderdelen (enige uitzondering was het berekenen van de VIF-waardes) minstens even goed is als SPSS. Verder zien we dat Claude en ChatGPT het qua gebruiksgemak veel beter doen dan SPSS. Ook zien we dat er geen verschillen in de scores tussen Claude en ChatGPT. Concluderend kunnen we zeggen dat we voor de data analyse in dit voorbeeld beter AI konden inzetten dan SPSS.
In hoeverre is dit nou generaliseerbaar naar ander kwantitatief onderzoek? Dat is een goede vraag. Ik zou het geweldig vinden als meer mensen dit soort onderzoeken/experimenten gaan doen zodat we dit kunnen testen. Ik weet bijvoorbeeld dat AI veel moeite heeft met hele grote datasets. Voor dit voorbeeld gebruikten we slechts 85 landen en dat werkte goed. Ik ben ook benieuwd of mensen nog andere aspecten hebben geïdentificeerd waar ChatGPT en Claude moeite mee hebben wat SPSS wel kan? En hoe lang kunnen de AI tools dat dan niet? Het gevoel wat ik overhoud na deze analyse is dat we binnen enkele jaren geen SPSS meer gaan gebruiken en dat ik al die uren op de universiteit heb verspild om dit te leren. Wat me tevens opvalt is de kracht van generatieve AI. Het is natuurlijk opgezet als taalmodel en dat het is indrukwekkend dat het zulke complexe data analyse kan. Generatieve AI is nu al bizar goed.