Hoofdstuk 9 · ANOVA en η²
Variantieanalyse (ANOVA) · analysis of variance
De prikkel
Terug naar de rots bij Antarctica, maar nu met drie soorten pinguïns naast elkaar op de weegschaal.1 In dít stapeltje wegen de Adélies gemiddeld 3701 gram, de Chinstraps 3733 gram, en de Gentoo’s 5076 gram. Twee soorten die bijna even zwaar zijn, en één die er ruim een kilo bovenuit torent.
De vorige keer legden we telkens twee groepen naast elkaar met een t-toets. Maar hier zijn er drie. Je zou drie losse t-toetsen kunnen doen — Adélie tegen Chinstrap, Adélie tegen Gentoo, Chinstrap tegen Gentoo — maar dat voelt al omslachtig, en met vijf of tien soorten wordt het een moeras. Kan het niet in één keer? En de vraag eronder: zit er in déze drie stapeltjes echt ergens een verschil, of kan toeval zulke verschillen tussen groepen zomaar namaken?
Trek even mee. Er is één toets die naar álle groepen tegelijk kijkt.
Speel het
⬇ Download de data — penguins.csv
Eén toets, drie groepen. Hij heet variantieanalyse — analysis of variance, kortweg ANOVA. De naam klinkt als iets anders dan de t-toets, maar de vraag is dezelfde familie: verschillen de gemiddelden van de groepen meer dan je door toeval zou verwachten? Alleen kijkt ANOVA naar alle groepen in één beweging.
- Open
penguins.csvin JASP (menu linksboven → Open). - Klik bovenin op ANOVA en kies ANOVA.
- Sleep
gewichtnaar Dependent Variable ensoortnaar Fixed Factors. - Vouw Additional Options → Effect size open (of Estimates of effect size) en vink η² (eta-squared) aan.
Rechts lees je af: F(2, 339) = 343.6, p < .001, en bij de effectgroottes η² = 0.67. Die F is één getal voor “hoeveel groter is het verschil tussen de groepen dan de rommel binnen de groepen?”. Ligt F rond 1, dan is het verschil tussen de groepen niet groter dan de spreiding die je toch al binnen elke groep hebt — niks bijzonders. Hoe hoger F, hoe sterker de groepen uit elkaar liggen ten opzichte van hun eigen ruis. En 343.6 is geen hoge F, dat is een absurde F. Hier zit overduidelijk ergens verschil.
Maar let op wat de ANOVA je niet vertelt: alleen dát er ergens een verschil zit, niet wélke soorten van elkaar afwijken. Daarvoor bestaat een post-hoc-toets (letterlijk “achteraf”) die alle paren nagaat:
- Vouw Post Hoc Tests open.
- Sleep
soortnaar het rechtervak; laat Tukey aangevinkt staan (de standaard).
En kijk, nu wordt het interessant. In de post-hoc-tabel zie je dat Adélie en Chinstrap niet verschillen (32 gram, p = 0.88 — dat is toeval), en dat de Gentoo van beide andere soorten ruim 1300 gram afwijkt (p < .001). Het is de Gentoo die het hele feest maakt. De ANOVA riep “ergens is verschil!”, de post-hoc wijst aan wáár.
Schud het
Eerst de vraag die telt: is die F van 343.6 echt, of kan toeval zomaar zulke verschillen tussen drie groepen namaken? Je zou het toeval willen nabouwen. De truc is dezelfde als altijd, en hij is mooi: je maakt duizend werelden waarin de waarheid nul is — waarin de soort niets te maken heeft met het gewicht — en kijkt hoe hoog de F dan door puur geluk nog oploopt.
Dat doe je door de soort-labels te husselen: je houdt alle gewichten precies zoals ze zijn, maar plakt er lukraak “Adélie”, “Chinstrap” of “Gentoo” op. En dit is de kern: door te husselen koppel je de soort los van het gewicht. Je haalt met eigen handen weg dat een bepaald gewicht bij een bepaalde soort hoort. In zo’n losgekoppelde wereld kán er geen echt soortverschil meer zijn — dus elke F die je er nog in meet, is per definitie puur toeval.
En hier moet ik eerlijk zijn: dat husselen is geen knop in JASP. JASP rekent één keurige uitkomst uit; duizend nul-werelden bouwen en kijken waar het toeval landt is speeltje- of code-werk. Dat is geen gemis van jou of van JASP — het boek doet het bewust zo: de schud-ervaring loopt via een schud-speeltje in de browser (of via het R-broertje, waar het een paar regels zijn).
Wat je in dat speeltje ziet: duizend werelden waarin de soort er niet toe doet, en de geschudde F’en kruipen laag — het gros dobbert rond 1, en zelfs de allergrootste toeval-uitschieter komt niet boven de 8 uit. Dat is logisch: in een losgekoppelde wereld is het verschil tussen de groepen niet groter dan de ruis binnen de groepen, dus F blijft klein. En dan de echte F van 343.6, kilometers — lichtjaren — rechts van dat hele bergje. Geen enkele nul-wereld komt ook maar in de verte in de buurt. Zo zie je het: duizend werelden die dansen rond nul (al kunnen F’en niet negatief worden, dus ze kruipen laag bij nul), en jouw echte F valt er mijlenver buiten. Dát is “geen toeval”: geen p-waarde die je moet geloven, maar een afstand die je zíet.
Dus: het verschil tussen de soorten is echt. Zaak gesloten? Nee — en dit kun je wél gewoon weer in JASP aflezen.
Snap het
De ANOVA is dus overduidelijk: ergens tussen de soorten zit echt verschil. Maar net als bij de t-toets in het vorige blok is “echt” niet hetzelfde als “groot” — en die astronomische F van 343.6 kan je op het verkeerde been zetten.
Zo’n duizelingwekkende F betekent niet dat dit het belangrijkste verschil op aarde is. Hij is zo hoog om twee saaie redenen: het verschil ís bruut (de Gentoo torent er ruim een kilo bovenuit) én we hebben veel dieren (342 stuks). Bij een groot, duidelijk verschil met een royale N is significantie triviaal — de toets bevestigt alleen wat je met het blote oog al zag. De p is dan niet het nieuws. De grootte is het nieuws.
Voor die grootte vinkte je net η² aan (eta-kwadraat, eta squared). Die vertelt je welk aandeel van alle verschil in gewicht verklaard wordt door de soort: η² = 0.67. Van al het verschil in gewicht tussen deze 342 pinguïns wordt 67% verklaard door welke soort het is. Dat is enorm — weet je de soort, dan weet je het gewicht al bijna. Dáár zit het verhaal, niet in de F. En η² sluit naadloos aan op de r² uit het correlatieblok en op Cohens d uit het t-toets-blok: allemaal manieren om te zeggen hoe groot iets is, los van of het er is.
De les van dit blok, in drie zinnen:
- Drie of meer groepen tegelijk → ANOVA. Eén toets in plaats van een stapel losse t-toetsen. Hij vraagt: zit er ergens een verschil tussen de groepen?
- De ANOVA zegt “ergens”, de post-hoc zegt “waar”. Hier: niet Adélie tegen Chinstrap (die zijn even zwaar), maar de Gentoo die er bovenuit steekt.
- Significant zegt “waarschijnlijk niet nul”, niet “groot”. Bij een F van 343 is de p geen nieuws; η² wél. Rapporteer de effectgrootte naast de toets.
Zou je het in één eerlijke zin opschrijven, dan niet “de soorten verschillen significant in gewicht (p < .001)”, maar: de drie soorten verschillen sterk in gewicht (η² = 0.67); dat verschil zit vrijwel helemaal in de Gentoo, die ruim 1300 gram zwaarder is dan de andere twee, die onderling niet verschillen. Het getal met een maat eromheen, en meteen wélke groep het doet.
◠ Zelfde vorm in het boek
Hier: drie of meer groepen, één toets die vraagt of er érgens verschil zit, en de effectgrootte die zegt hoe groot dat verschil is.
In het boek: W9 — Groepen zijn ook getallen
TODO (broertje-proof, 24-7, geschreven op het charter): W9 (Groepen zijn ook getallen) is nog een grove boek-schets — anker en nummering checken zodra dat hoofdstuk staat (nummering-later). Verhaal-stem-opening is een eerste stem-pas; kan nog stiller. Het schud-speeltje voor ANOVA (geschudde F’en, bergje laag bij nul, echte F ver rechts) bestaat nog niet — kan later bij boek/04_speeltjes/; tot dan hopt de JASP-lezer naar het R-broertje voor de schud-zet. R- en SPSS-tweeling delen deze tekst; alleen “Speel het / Schud het” verschilt.
Voetnoten
Palmer Penguins — Gorman, Williams & Fraser (2014), Palmer Station Antarctica LTER; via het R-pakket
palmerpenguins(CC0).penguins.csv, 342 pinguïns. Alle getallen op die échte data nagerekend.↩︎