Hoofdstuk 9 · Cohens d
Hoe groot is het verschil? · effect size
De prikkel
Twee pinguïnsoorten op de weegschaal. De Gentoo’s wegen gemiddeld 5076 gram, de Adélies 3701 gram.1 Het verschil: 1375 gram — ruim een kilo pinguïn.
Is dat veel?
Denk er even over na vóór je verder leest. Want eerlijk: aan “1375 gram” alleen kun je het niet zien. Veel of weinig hangt ervan af hoeveel de pinguïns binnen elke soort al onderling verschillen. Een kilo is enorm als alle Gentoo’s bijna even zwaar zijn — en niks als de één 4 kilo weegt en de ander 6. Het getal 1375 staat daar maar wat te wezen, zonder maatstok.
Trek even mee. We gaan dat verschil een maat geven die wél iets zegt.
Speel het
⬇ Download de data — penguins.csv
Haal de pinguïns binnen, hou de twee soorten over, en kijk eerst naar de kale getallen: de twee gemiddelden, en — dit is de sleutel — hoeveel spreiding er binnen de groepen zit.
peng <- read.csv("penguins.csv")
ga <- peng[peng$soort %in% c("Gentoo", "Adelie"), ]
aggregate(gewicht ~ soort, ga, mean) # Gentoo 5076, Adelie 3701
aggregate(gewicht ~ soort, ga, sd) # Gentoo 504, Adelie 459Daar staat het verschil (1375 g), en daar staat de spreiding binnen elke soort: zo’n 480 gram op en neer. Dát laatste getal is je lineaaltje — de gewone onderlinge variatie tussen twee willekeurige pinguïns van dezelfde soort. De vraag “is 1375 veel?” wordt nu een deelsom: hoeveel van die lineaaltjes passen er in het verschil?
g <- ga$gewicht[ga$soort == "Gentoo"]
a <- ga$gewicht[ga$soort == "Adelie"]
# gepoolde SD: de twee spreidingen samengevoegd tot één lineaaltje
sp <- sqrt(((length(g) - 1) * var(g) + (length(a) - 1) * var(a)) /
(length(g) + length(a) - 2))
sp # → 479.5
(mean(g) - mean(a)) / sp # Cohens d → 2.87Daar is-ie: Cohens d = 2.87. Het verschil is bijna drie lineaaltjes groot. En let op wat er met dat getal gebeurde — er zitten geen grammen meer in. We hebben grammen door grammen gedeeld; de eenheid is weggevallen. Wat overblijft is een kaal getal, en juist daardoor kan het reizen.
Voel de maat
Wat betekent “2.87 lineaaltjes uit elkaar” nou eigenlijk? Teken de twee soorten als twee bergjes op dezelfde weegschaal — Adélie rond 3701, Gentoo rond 5076, elk met z’n eigen spreiding van ~480 — en kijk hoeveel ze over elkaar heen vallen.
x <- seq(2500, 6500, length = 400)
plot(x, dnorm(x, 3701, 459), type = "l", lwd = 2, # Adelie
xlab = "gewicht (g)", ylab = "")
lines(x, dnorm(x, 5076, 504), lwd = 2, col = "red") # GentooBijna geen overlap. Twee bergjes die elkaar amper raken — dát is wat d = 2.87 er in het echt uitziet: je kunt een willekeurige pinguïn oppakken en vrijwel altijd goed raden welke soort het is, puur op gewicht. Hoe groter d, hoe verder de bergjes uit elkaar schuiven; hoe kleiner, hoe meer ze in elkaar overvloeien.
Merk op: hier hoefden we niks te schudden. De schud-zet vraagt “is dit verschil echt of toeval?” — dat is de vraag van de t-toets (zie het t-toets-blok). Effectgrootte vraagt iets anders: “hóé groot is het?” Twee verschillende vragen, en dit blok gaat over de tweede.
Snap het
d = 2.87 is gigantisch — in de meeste onderzoeken kom je zoiets nooit tegen. Je hebt vast de vuistregels van Cohen weleens langs zien komen: 0.2 is “klein”, 0.5 “middel”, 0.8 “groot”. Handig als eerste houvast, maar het zijn noodgrepen — Cohen bedoelde ze zelf als laatste redmiddel voor als je écht niks beters hebt. Beter is terugvertalen naar de meetlat waar je net stond: 2.87 lineaaltjes, twee bergjes die elkaar nauwelijks raken. Dát zegt meer dan het etiket “groot”.
Waaróm die kale maat de moeite waard is: omdat er geen grammen meer in zitten, kun je ’m naast een d uit een heel ander onderzoek leggen. Een d van gewichtsverschil tussen pinguïnsoorten en een d van, zeg, het effect van een therapie op een angstscore — verschillende werelden, verschillende eenheden, maar dezelfde taal. Effectgrootte is de gemeenschappelijke munt. Daarom draagt bijna elke moderne studie ’m, en daarom kan een meta-analyse tientallen onderzoeken optellen die anders onvergelijkbaar waren.
Twee dingen om vast te houden, want hier gaan mensen de mist in:
- “Significant” is niet “groot”. Het t-toets-blok vraagt of een verschil echt is (geen toeval). Dit blok vraagt hoe groot het is. Bij grote steekproeven kan een piepklein, oninteressant verschil kraakhelder significant zijn — echt, maar nietig. En omgekeerd. Echt en groot zijn twee losse knoppen.
- d gaat over de groepsgemiddelden, niet over individuen. Zelfs bij deze enorme d = 2.87 zegt het iets over de bergjes als geheel, niet over elke pinguïn. In de kleine overlap die er wél is, kan een zware Adélie best boven een lichte Gentoo uitkomen. De soorten verschillen gemiddeld enorm; dat sluit een individuele uitzondering niet uit.
Zou je het in één eerlijke zin opschrijven, dan niet “de soorten verschillen 1375 gram”, maar: de Gentoo’s zijn gemiddeld bijna drie standaardafwijkingen zwaarder dan de Adélies (d = 2.87) — de twee soorten overlappen in gewicht nauwelijks.
◠ Zelfde vorm in het boek
Hier: een verschil in grammen dat pas iets zegt als je het door de spreiding deelt.
In het boek: W4 — Hangen ze samen? (waar de effectgrootte als familie geplant wordt)
Daar is de effectgrootte geen los trucje maar een familie — d, r, en de rest zijn allemaal manieren om “hoe groot?” een eenheidloze maat te geven.
TODO (broertje-proof, geschreven naar het charter 24-7): dit blok laat trede “Schud het” bewust weg — effectgrootte meet “hoe groot?”, niet “toeval of niet?” (natuurlijk-uit-moment, charter §Simulatie). Vier treden: prikkel → speel → voel de maat → snap. W4 (Hangen ze samen?) is nog een grove boek-schets — anker en formulering checken zodra dat hoofdstuk staat; de “effectgrootte als familie”-lijn moet dáár landen. De JASP-tweeling deelt prikkel + snap; alleen “Speel het” en “Voel de maat” verschillen (JASP geeft d bij de t-toets; het over-elkaar-tekenen van de bergjes is een hop naar het R-broertje of het speeltje).
Voetnoten
Palmer Penguins — Gorman, Williams & Fraser (2014), Palmer Station Antarctica LTER; via het R-pakket
palmerpenguins(CC0). Alle getallen in dit blok zijn op die échte data nagerekend.↩︎