Tweede beweging · Verschillen koppelen

Oefening 3.3 · De residuen bekijken

Onafhankelijk, gelijke spreiding, normaal verdeeld · residual diagnostics

Data bij deze oefeningluchtkwaliteit.csv 116 zomerdagen in New York · penguins.csv 342 pinguïns · diamantjes.csv de twaalf steentjes uit het boek · bigfive.csv 2634 ingevulde vragenlijsten · wat elke kolom betekent

prikkel

Tien dagen van precies 81 graden

voorspelling · misser · spreiding rond de lijn

Het meetkastje op Roosevelt Island ken je al — dat is het kastje uit de oefening over de mediaan, dat de zomer van 1973 lang elke dag de ozon in de New Yorkse lucht opsnoof.1 Zelfde kastje, nieuwe vraag: naast de ozon noteerde het ook de temperatuur, en warme lucht en smog horen bij elkaar. Leg er dus een lijn in. Hoe warmer de dag, hoe meer ozon.

Die lijn komt er, hij loopt netjes omhoog, en hij dekt bijna de helft van alle verschil tussen de dagen: R² = .49. Voor buitenlucht is dat veel.

En nu iets raars. In die 116 dagen zitten tien dagen van precies 81 graden Fahrenheit. Tien keer dezelfde temperatuur, dus tien keer dezelfde voorspelling: de lijn zegt voor alle tien 49.7 ppb ozon. Wat het kastje op die tien dagen werkelijk mat:

9 · 27 · 32 · 36 · 39 · 44 · 45 · 48 · 59 · 168

Van 9 tot 168, bij één en dezelfde temperatuur. De lijn kan daar niets aan doen — hij weet alleen de temperatuur, en die was tien keer gelijk. Maar het zet wel een vraag op scherp die we tot nu toe hebben laten liggen: hoe ver zit de lijn er eigenlijk naast, en zit hij er overal even ver naast?

Reken je het na, dan is het antwoord op die tweede vraag nee. Op de koelere helft van de zomer (tot en met 79 graden) zit de lijn er gemiddeld 13.7 ppb naast; op de warmere helft 20.9. Eén lijn, en toch op de ene helft van de zomer duidelijk scherper dan op de andere.

Trek even mee. We gaan die missers zélf opvragen — en het blijkt dat er drie verschillende dingen in te zien zijn, waarvan er twee niets met de lijn zelf te maken hebben.

speel het

Vraag de residuenplots op in JASP

residu · voorspelde waarde · residuenplot

Zo’n misser heeft een naam, en je hebt hem in het boek al zien staan: DATA = FIT + RESIDU. De fit is wat de lijn gokt, het residu is wat er overblijft — de gokfout, nu niet meer ten opzichte van het gemiddelde maar ten opzichte van de lijn.

Het goede nieuws voor jou: JASP tekent die residuen zelf, en je hoeft er niets voor uit te rekenen. Het zit verstopt onder één kopje in de regressie-analyse, en dat kopje is precies waar dit hele blok over gaat.

OpmerkingEerst zoals in het boek — de twaalf diamantjes · JASP 0.98.1
  1. Open diamantjes.csv. Ga naar Regression → Linear Regression, zet glans bij Dependent Variable en karaat bij Covariates.
  2. Open het kopje Plots en vink onder Residuals Plots de optie Residuals vs. Predicted aan.

Je krijgt twaalf stipjes rond een horizontale nullijn. De verste ligt op −36.1: dat is Kees, de steen die je in het boek al niet kon vergeten. Else ligt exact op nul — de lijn gaat dwars door haar heen.

Kijk goed wat dat plaatje doet. De regressielijn is plat geworden: alles wat de lijn al wist is eruit gerekend, dus wat overblijft hoort rond de nullijn te zweven zonder patroon. Een residuenplot is een schoongeveegde scatterplot — je kijkt niet meer naar het verband, je kijkt naar wat het verband liet liggen.

Met twaalf punten zie je er weinig aan, en dat is geen tegenvaller maar het eerste wat je leert: hierover zo meer.

Nu jij — bij het meetkastje, dat je van de mediaan-oefening al kent. Bekende data, nieuwe vraag: wat laat die ozon-lijn liggen?

OpmerkingIn JASP · trek eraan · JASP 0.98.1
  1. Open luchtkwaliteit.csv. Regression → Linear Regression, ozon bij Dependent Variable, temp_F bij Covariates.
  2. Open het kopje Plots. Onder Residuals Plots staan drie vinkjes die je alle drie aanzet — dit blok gaat om precies deze drie:
    • Residuals vs. Predicted — de misser tegen de gok.
    • Residuals Histogram — de vorm van de missers.
    • Q-Q Plot Standardized Residuals — dezelfde vraag, strenger gesteld.
  3. Laat de tabel met R² ernaast staan; die heb je zo nodig.

Drie plaatjes, en in alle drie staat iets.

De residuenplot begint smal en loopt open. Links, bij voorspellingen onder de 30 ppb, liggen de punten in een dun bandje om de nullijn; vanaf een voorspelling van 30 is dat bandje ruim twee keer zo breed. Aan de uiterste rechterkant lijkt hij weer te versmallen, maar daar staan nog maar dertien dagen — te weinig om iets van te vinden.

Het histogram en de Q-Q-plot wijzen naar iets anders. De missers liggen niet symmetrisch om nul: er is een lange staart naar rechts (die ene dag van 168, die op deze temperatuur 118 ppb boven de lijn uitkomt) en niets vergelijkbaars naar links. In de Q-Q-plot buigen de punten rechtsboven weg van de hulplijn.

Die scheefheid is dezelfde scheefheid die je in de mediaan-oefening al zag — alleen zat hij toen in de ozon zelf, en zit hij nu in wat er van de ozon overblijft nadat de temperatuur zijn deel heeft gehad.

En nu het getal erbij, want een indruk is nog geen bevinding. Knip de zomer bij 79 graden doormidden — dat is de mediane dag — en laat JASP de spreiding links en rechts naast elkaar zetten:

OpmerkingIn JASP · knip de zomer doormidden
  1. Maak een computed column: klik in de datatabel op de + helemaal rechts van de kolomkoppen, noem hem warm en geef hem de formule temp_F > 79.
  2. Ga naar Descriptives, zet ozon bij Variables en warm bij Split.

Je krijgt twee kolommen: 59 koelere dagen met SD = 16.91 ppb, en 57 warmere met SD = 33.43 ppb. Deel de breedste door de smalste — dus de warme helft door de koele — en je hebt 33.43 / 16.91 = 1.98. De warme helft is bijna twee keer zo breed.

Let op één ding, want het is eerlijk en het scheelt straks verwarring: dit is de spreiding van de ozon zelf, niet die van de residuen. Daar zit dus nog het stuk in dat de temperatuur netjes verklaart, en daardoor valt de verhouding hoger uit dan hij hoort — 1.98 tegen de 1.65 die je krijgt als je de residuen zelf neemt. Het wijst dezelfde kant op, maar het is een ruwer getal. De precieze versie komt hieronder.

schud het

Is die 1.65 raar?

schudden · loskoppelen · duizend werelden rond één

1.65 keer zo breed. Dat klinkt als veel, maar de vorige alinea’s zijn een verhaal en geen bewijs: twee groepjes van pakweg 58 dagen hebben nooit precies dezelfde spreiding, ook niet als er niks aan de hand is. De vraag is dus niet of 1.65 groter is dan 1, maar hoeveel groter dan 1 een gewone wiebel al is.

Daar hebben we een zet voor. Je laat de voorspellingen staan waar ze staan, en je hutselt de residuen erlangs — de misser van een hete dag verhuist naar een koele en omgekeerd.

Dat husselen is de hele truc, en het loont om er even bij stil te staan: je koppelt het residu los van zijn eigen voorspelling. Je haalt met eigen handen weg dat een bepaalde misser bij een bepaalde temperatuur hoorde. In zo’n losgekoppelde wereld kán de spreiding niet meer meelopen met de voorspelling — en dus is elk verschil tussen de twee helften dat je er dan nóg in meet, per definitie puur toeval.

En hier moet ik eerlijk zijn: dat husselen is geen knop in JASP. JASP rekent één keurige uitkomst uit; het door elkaar hutselen en duizend keer opnieuw kijken is code-werk. Dat is geen gemis van jou of van JASP — het boek doet het bewust zo. Voor deze zet is er geen los schud-speeltje; wil je de duizend werelden echt zien dansen, sla dan het R-broertje open bij deze oefening, waar het vijf regels code is.

Wat je daar ziet: duizend werelden die dansen rond één. Rond één, niet rond nul, want dit is een verhouding: twee even brede helften geven 1.0. En kijk waar ze landen — tussen 0.66 en 1.53 ligt negentig procent van de gehusselde zomers. Dat is een brede dans. Twee helften kunnen dus zomaar anderhalf keer schelen zonder dat er iets aan de hand is.

En dan die rode streep op 1.65, er net buiten: achttien van de duizend gehusselde zomers halen dat. Niet onmogelijk, wel ongewoon. Geen p-waarde die je moet geloven — een afstand die je zíet, en hier is die afstand krap.

Bij de pinguïns, waar je in de vorige oefening het gewicht uit de vinlengte voorspelde, ligt dat heel anders: daar is de verhouding 0.92 en loopt de gewone-wiebel-band van 0.88 tot 1.14. Het echte getal ligt er gewoon in. Bij de pinguïns is er niets te zien, en dat is precies zoals het hoort: 342 dieren geven een smalle band, dus daar zou een trechter meteen opvallen. Bij 116 dagen is de band breder. Bij twaalf diamantjes — daar komen we zo op — is hij zo breed dat er bijna niets meer buiten valt.

Wil je dat zelf zien in JASP: doe voor de pinguïns hetzelfde rondje als hierboven — Linear Regression met gewicht als Dependent Variable en vinlengte als Covariate, en dan de drie residuen-vinkjes. Het plaatje is een egale wolk zonder trechter, en het histogram is bijna symmetrisch. Zo ziet “niks aan de hand” eruit, en je moet het één keer gezien hebben om het te herkennen.

snap het

Drie aannames, drie plaatjes

onafhankelijkheid · gelijke spreiding · normaliteit

Het boek noemt bij de regressielijn drie veronderstellingen, en ze gaan geen van drieën over de lijn zelf. De lijn eist maar één ding, en dat is dat het verband recht is. De drie hieronder gaan over het gedrag van de fouten — en je hebt ze net alle drie in beeld gehad.

aanname welk vinkje in JASP waaraan je ziet dat het misgaat
onafhankelijk geen vinkje — je studieopzet dezelfde persoon of plek staat meerdere keren in de tabel
gelijke spreiding Residuals vs. Predicted een trechter: smal aan de ene kant, breed aan de andere
normaal verdeeld Residuals Histogram of Q-Q Plot een scheve staart; in de Q-Q-plot buigen de punten weg van de hulplijn

Loop ze langs op de ozon.

Onafhankelijk — dat is de enige van de drie waar geen vinkje voor bestaat, en dat is geen tekortkoming van JASP. Ben vat hem samen in één vraag: “geeft elke rij in mijn dataset informatie die niet al ergens anders in de tabel zit?” Het antwoord zit in je opzet, niet in je data. Bij het meetkastje is het antwoord twijfelachtig: dit zijn 116 opeenvolgende dagen op één plek. Een smoggerige dinsdag maakt een smoggerige woensdag waarschijnlijker, want de lucht is ’s nachts niet weg. Elke rij is dus deels een herhaling van de vorige.

En let op wat er gebeurt als je dat tóch in de data probeert te zien. Meet de samenhang tussen het residu van de ene meetdag en dat van de volgende, en er komt .08 uit — een getal dat in 175 van de 1000 gehusselde zomers óók gehaald wordt. Het plaatje zegt dus: niets aan de hand. Het ontwerp zegt: dagen na elkaar op één plek. Die twee spreken elkaar niet tegen; ze meten iets anders. Daarom hoort deze aanname bij je opzet en niet bij je vinkjes — een steekproef kan er onafhankelijk uitzien en het niet zijn.

Gelijke spreiding — het deftige woord is homoscedasticiteit, en dat mag je hardop oefenen. Hier gaat het mis, zij het krap: 1.65 tegen een gewone-wiebel-band die tot 1.53 loopt. Het gevolg zit niet in de lijn maar in de onzekerheid om de lijn: JASP rekent één standaardfout uit voor het hele bereik, en die is dan te ruim voor de koele dagen en te krap voor de hete. Je helling blijft bruikbaar; je betrouwbaarheidsinterval wordt onbetrouwbaar, en precies daar waar de metingen het wildst zijn.

Normaal verdeeld — hier zit de duidelijkste schending. En één zin van Ben voorkomt dat je hem te streng leest: “een steekproef kan niet normaal verdeeld zijn, alleen bíj benadering normaal verdeeld” — voor een perfecte normale verdeling heb je oneindig veel scores nodig. Je zoekt dus geen perfecte klok maar een hoop zonder duidelijke scheefheid. Deze is dat niet: er is een lange staart naar rechts en niets vergelijkbaars naar links. Waar die vandaan komt, staat een paar alinea’s verderop — hij heeft dezelfde oorzaak als de trechter.

En dan de vraag die niemand stelt: hoeveel data heb je nodig om dit te zien? Op de twaalf diamantjes is de verhouding 2.09 — hoger dan bij de ozon. En toch kun je er niets van zeggen, want op twaalf steentjes loopt de gewone-wiebel-band van 0.48 tot 2.08. De helft van je metingen mag dus zomaar twee keer zo breed zijn als de andere helft, puur door toeval. Zet de drie naast elkaar en de les is één regel breed:

data N verhouding gewone-wiebel-band oordeel
diamantjes 12 2.09 0.48 – 2.08 de band is zo breed dat je niets kunt zeggen
luchtkwaliteit 116 1.65 0.66 – 1.53 er net buiten: een trechter, krap
pinguïns 342 0.92 0.88 – 1.14 er ruim binnen: gewone wiebel

Hoe minder data, hoe wilder de gewone wiebel — en dus hoe minder een residuenplot je vertelt. Dat maakt een klein bestand niet verdacht; het maakt je oordeel erover ongegrond. Wie bij een handjevol punten roept dat hij een trechter ziet, ziet ruis. En let op: dit is precies waarom JASP je die twaalf stipjes tóch netjes tekent. Het programma weet niet hoeveel punten genoeg zijn — jij wel.

En wat doe je er dan aan? Er is nog een aanwijzing die dezelfde kant op wijst, en die zie je zonder enig plaatje. Lees in de coëfficiëntentabel de intercept af (−147.00) en de helling (2.43), en vul de koudste dag uit het bestand in: 57 graden. Je rekenmachine zegt −147.00 + 2.43 × 57 = −8.5; JASP, die met de onafgeronde −146.9955 en 2.4287 rekent, zegt −8.6. Allebei goed, en het hele verschil is die ene afronding.

Wat er hoe dan ook staat is een min. Op de vier koelste dagen belooft deze lijn een negatieve hoeveelheid ozon, en minder dan niets bestaat niet. De lijn loopt door tot in de oneindigheid; de ozon heeft een bodem.

Precies díé bodem maakt ook de trechter en de scheve staart. Een lijn die 20 voorspelt kan er maar 20 naast zitten aan de onderkant en onbeperkt aan de bovenkant. Drie waarnemingen, één oorzaak — en dat wijst meteen de gewone zet aan: reken op een andere schaal. Maak een computed column log_ozon met de formule ln(ozon) en draai dezelfde regressie daarop. De trechter zakt van 1.65 naar 0.82 en de R² gaat van .49 naar .55: het model is er ook nog beter van gaan passen.

Dat is geen trucje om een controle te laten slagen. Het is de erkenning dat ozon zich in verhoudingen gedraagt en niet in optellingen — twintig ppb erbij op een smoggerige dag betekent iets anders dan twintig ppb erbij op een schone. De prijs is dat je uitkomst nu in logaritmen staat en dus vertaald moet worden voor je hem opschrijft, en dát is werk voor later in het boek.

jouw beurt

Twee lijnen keuren

residuenplot · Q-Q-plot · schud-band · oordelen

Twee regressielijnen, allebei op data die je kent, en aan jou de vraag of je de residuen vertrouwt. Je doet voor allebei hetzelfde rondje: residuenplot, Q-Q-plot, de verhouding — en het duizend keer schudden om te zien hoe breed de gewone wiebel hier is, doet het R-broertje voor je, want schudden is geen knop in JASP en voor deze zet is er geen los schud-speeltje.

OpmerkingIn JASP · de twee lijnen · JASP 0.98.1
  1. De wind-lijn: open luchtkwaliteit.csv, ga naar Regression → Linear Regression en zet ozon bij Dependent Variable en wind bij Covariates. Open het kopje Plots en zet de drie residuen-vinkjes aan, net als eerder in dit blok.
  2. De vragenlijst-lijn: open bigfive.csv, maak met + → Computed column de schalen N = N1+N2+N3+N4+N5 en O = O1+O2+O3+O4+O5, en draai de Linear Regression met N bij Dependent Variable en O bij Covariates — ook weer met de drie vinkjes.
OpmerkingJouw beurt

Beantwoord de vragen op volgorde; ze bouwen op elkaar. De laatste heet met opzet Z) en niet k): de aannames staan altijd achteraan — ook in een oefening die zélf over aannames gaat.

a) Lees de wind-lijn af. (rapporteer b0, b1 mét eenheid, en R²)

b) Vraag de residuenplot en de Q-Q-plot van deze lijn op. Wat zie je? (twee zinnen: één over de breedte, één over de vorm)

c) Let op, de knip loopt hier andersom dan bij de temperatuur. De helling is negatief — meer wind, minder smog — dus de hóóg voorspelde dagen zijn de dagen met weinig wind. Knip bij de mediane wind — dat is 9.7 mijl per uur, net zoals 79 graden de mediane dag was. De twee spreidingen zelf zijn in JASP niet op te vragen, want daarvoor moet je bij de residuen kunnen; het R-broertje meet SD = 31.08 ppb op de 62 dagen met weinig wind en SD = 19.88 ppb op de 54 met veel. Deel zelf de brede door de smalle. (de verhouding)

d) En nu het schudden — en dat is, zoals je hierboven las, geen knop in JASP, en voor deze zet is er ook geen los schud-speeltje. Het R-broertje schudt de residuen duizend keer los van hun eigen dag en meet de dans na: de middelste 90% van de geschudde zomers loopt van 0.80 tot 1.26, en geen enkele van de duizend haalt de echte verhouding. (noteer de band, en zeg in één zin wat dat schudden loskoppelt)

e) Geef je oordeel over de wind-lijn, en zeg of het strenger of milder is dan bij de temperatuur-lijn. (twee zinnen, met allebei de verhoudingen én allebei de banden erbij)

f) Nu de tweede lijn: 2634 ingevulde vragenlijsten, neuroticisme voorspeld uit openheid. Lees de vragenlijst-lijn af. (rapporteer b1 mét eenheid en R²)

g) Doe het keuringsrondje ook hier: bekijk de drie plaatjes van de vragenlijst-lijn. De getallen meet het R-broertje: de verhouding komt op 1.06, de schudband loopt van 0.96 tot 1.04, en de scheefheid van de residuen is 0.19. (noteer de drie getallen — bij h) heb je ze nodig)

h) Geef je oordeel over alle drie de aannames van deze tweede lijn. (drie korte uitspraken, elk met het getal waar je hem op baseert)

i) Die schudband is bij de vragenlijsten veel smaller dan bij de zomerdagen. Waarom? (één zin, en noem allebei de n’s)

j) De denk-vraag, en hij is de belangrijkste van dit blok. Bij de vragenlijst-lijn zijn de aannames in orde en is de R² .03 — nog geen drie procent. Waar geeft een residuenplot dus wél antwoord op, en waar niet? (drie zinnen)

Z) Mag je alles hierboven geloven? Eén van de drie aannames heeft geen plaatje, en juist die scheidt deze twee bestanden. Vraag je bij allebei af waar de rijen vandaan komen: 116 opeenvolgende dagen op één meetkastje, tegenover 2634 mensen die elk één keer een vragenlijst invulden. (zeg per bestand of de rijen onafhankelijk zijn, en welke van je antwoorden hierboven eraan hangen)

a) b0 = 96.87 en b1 = −5.55 ppb ozon per mijl per uur wind; R² = .36. Elke mijl per uur meer wind gaat samen met ruim vijfeneenhalve ppb minder ozon.

b) De residuenplot loopt open naar de kant van de hóóg voorspelde dagen — dus naar de dagen met weinig wind. En de vorm is scheef: een lange staart omhoog, niets vergelijkbaars omlaag, en in de Q-Q-plot buigen de punten rechtsboven weg van de hulplijn. Dezelfde twee dingen als bij de temperatuur-lijn, en dat is geen toeval: het is dezelfde ozon met dezelfde bodem van nul.

c) De mediane wind is 9.7 mijl per uur. Bij weinig wind is SD = 31.08 ppb (n = 62), bij veel wind SD = 19.88 ppb (n = 54). De verhouding is dus 31.08 / 19.88 = 1.56.

d) De gewone-wiebel-band loopt van 0.80 tot 1.26, en geen enkele van de duizend gehusselde zomers haalt de 1.56. En wat het schudden loskoppelt: dat déze misser bij déze dag hoorde — in een losgekoppelde zomer kan de spreiding niet meer meelopen met de wind, dus alles wat er dan nog tussen de twee helften zit, is gewone wiebel.

e) Hier is de gelijke spreiding duidelijk geschonden, en het oordeel is strenger dan bij de temperatuur-lijn. Daar was het 1.65 tegen een band die tot 1.53 liep — er net buiten, en achttien van de duizend haalden het. Hier is de verhouding kleiner (1.56) maar de band ook véél smaller (tot 1.26), en dan haalt er niet één van de duizend meer. Een kleiner getal kan dus een harder oordeel opleveren, want je vergelijkt het niet met 1 maar met de band.

f) b1 = 0.35 punten neuroticisme per punt openheid, R² = .03.

g) De verhouding is 1.06, de schudband loopt van 0.96 tot 1.04, en de scheefheid van de residuen is 0.19.

h) Gelijke spreiding: de verhouding 1.06 ligt net buiten de band 0.96–1.04. Normaal verdeeld: scheefheid 0.19, dus geen scheve staart van betekenis. Onafhankelijk: 2634 mensen die elk één keer invulden, dus elke rij is nieuwe informatie — zie Z).

En dan meteen de vraag die je bij e) hebt leren stellen: buiten de band, dus mis? Hier niet, en dat is geen slap aftreksel van de regel maar de andere helft ervan. Buiten de band betekent “dit is geen toeval”; het zegt niets over hoe gróót het is. Bij 2634 waarnemingen wordt de band zó smal (0.96–1.04) dat een afwijking van zes procent er al buiten valt. Zes procent verschil in spreiding verandert aan geen enkele p in dit model iets. Bij de wind-lijn ging het om zesenvijftig procent, en dáár hangt je hele betrouwbaarheidsinterval aan.

Kijk dus altijd naar allebei: ligt het buiten de band (is het echt?) én hoe ver van 1 ligt het (doet het ertoe?). Met veel data gaan die twee uiteenlopen, en dan is de tweede de vraag die telt.

i) Omdat een schudband smaller wordt naarmate je meer waarnemingen hebt: bij n = 2634 wiebelen twee helften nauwelijks van elkaar weg, bij n = 116 nog flink. Dat is dezelfde regel als in de tabel hierboven — twaalf diamantjes gaven 0.48 tot 2.08.

j) Een residuenplot beantwoordt: mag ik de onzekerheid rond deze lijn geloven? Hij zegt of de standaardfouten, de intervallen en de p’s op een kloppende aanname rusten. Hij zegt niet of het model iets waard is: hier is alles netjes en verklaart het model 3% van de verschillen. En hij zegt al helemaal niet of de lijn de júiste lijn is — dat is een derde vraag, en die komt in de Eindopdracht hieronder langs.

Z) Dit is de aanname zonder plaatje, en hij valt bij deze twee bestanden tegengesteld uit.

  • De vragenlijsten: 2634 verschillende mensen, elk één keer. Elke rij draagt informatie die niet al ergens anders in de tabel zit. Onafhankelijk, dus.
  • Het meetkastje: 116 opeenvolgende dagen op één plek. Een smoggerige dinsdag maakt een smoggerige woensdag waarschijnlijker; elke rij is dus deels een herhaling van de vorige. Níét onafhankelijk — en let op dat je dit niet aan de data ziet maar aan de opzet. De samenhang tussen het residu van de ene dag en dat van de volgende is .08, een getal dat in 175 van de 1000 gehusselde zomers óók gehaald wordt. Het plaatje zegt dus “niets aan de hand” terwijl het ontwerp iets anders zegt.

Wat daar aan hangt:

  • Blijft staan: alle beschrijvende getallen — de hellingen bij a) en f), de R²’s, de verhoudingen bij c) en g), de scheefheid. Die beschrijven wat er in de tabel staat.

  • Doe je over: bij de wind-lijn de schudband bij d), en daarmee het oordeel bij e). Schudden gaat ervan uit dat de residuen onderling verwisselbaar zijn: elk residu had bij elke andere dag kunnen horen. Bij opeenvolgende dagen klopt dat niet.

    En dat maakt de band te smal, langs deze weg: als een smoggerige dag door een smoggerige buurdag wordt gevolgd, dan draagt zo’n paar maar één keer nieuwe informatie in plaats van twee keer. Je hebt dus minder échte waarnemingen dan de 116 die je telde — en hoe minder waarnemingen, hoe bréder de gewone wiebel, dat wist je uit de tabel hierboven. Door tóch met 116 losse dagen te schudden reken je een band uit die hoort bij méér data dan je hebt: te smal. En met een te smalle band lijkt je eigen getal er sneller buiten te vallen, dus je oordeel is strenger dan het mag zijn.

    Hier verandert dat de uitkomst niet — 0 van de 1000 is zo extreem dat een wat bredere band hem niet binnenhaalt — maar je weet nu wélke kant de fout op staat, en dat is meer dan “het klopt niet helemaal”.

En dat is het eerlijke antwoord van deze hele oefening: de aanname die het minst te zien is, is degene die het meest kan kosten.

eindopdracht

Diepe snavel, lichte pinguïn? — het hele hoofdstuk in één wolk

correlatie · regressielijn · residuenplot · derde speler

OpmerkingEindopdracht

De afsluiter van het hele hoofdstuk: de wolk, de lijn en de residuen komen samen in één taak. Zelfde 342 pinguïns, nieuw paar: gewicht op snaveldiepte. Allebei ken je — de diepte was de ster van de eerste oefening van dit hoofdstuk, het gewicht rolde in de vorige uit de vinlengte — maar sámen heb je ze nog nooit bekeken. En let op de verrassing die eraan zit te komen.

OpmerkingIn JASP · zet de lijn klaar

Zet eerst de lijn klaar, zoals je hem in dit blok leerde draaien: open penguins.csv, ga naar Regression → Linear Regression, zet gewicht bij Dependent Variable en snaveldiepte bij Covariates, en vink onder Statistics de Confidence intervals aan en onder Plots de Residuals vs. Predicted.

En let op de vorm: een artikel valt in twee gelabelde stukken, en die volgorde is niet dezelfde als de volgorde waarin je het leerde. Toen mocht de aannamecontrole achteraf, want je moest eerst zien wát je nou eigenlijk controleerde. Nu je het opschrijft voor een lezer gaat hij vóórop, want die wil weten of hij je getallen mag geloven vóórdat hij ze leest.

Methode en data-analyse

a) Wat onderzoek je, waarop, en met welke analyse? Schrijf het op zonder één uitkomst te noemen. (twee of drie zinnen; wie of wat er gemeten is, hoeveel, en welke analyse)

b) Hoeveel pinguïns hebben allebei de maten compleet, en hoeveel staan er in het bestand? (twee getallen)

c) Doe het keuringsrondje uit dit blok: kijk naar de residuenplot die je bij het klaarzetten aanvinkte en beschrijf in één zin de vorm die je ziet. De metingen kan JASP hier niet doen — daarvoor moet je bij de residuen zelf kunnen — dus die staan klaar uit het R-broertje: de verhouding tussen de brede en de smalle helft is 1.61, de schudband loopt van 0.89 tot 1.12, geen van de duizend haalt het, en de scheefheid van de residuen is 0.24. (die ene zin, en wat die getallen samen zeggen)

d) Schrijf de data-analyse-alinea: loop de drie aannames langs en zeg per stuk wat je vond. (drie korte uitspraken, elk met het getal waar je hem op baseert — en zeg welke van de drie eruit springt)

Resultaten

e) Begin waar dit hoofdstuk begon: kijk éérst, reken dán. Ga naar Regression → Correlation, zet snaveldiepte en gewicht bij Variables en vink onder Plots de Scatterplots aan — de wolk naast het getal. (rapporteer r, en één zin over de wolk)

f) De lijn heb je bij het klaarzetten al getrokken — lees hem hardop af, mét zijn eenheden. (rapporteer b0, b1, SE, het 95%-interval en R²)

g) Herken het lege adres, en centreer daarna de snaveldiepte: maak een Computed column diepte_c met de formule snaveldiepte - mean(snaveldiepte) en draai hetzelfde model nog eens met diepte_c als covariaat. (twee getallen, en zeg welk bekend getal je terugziet)

h) Terug naar de zin die je bij c) opschreef. Een residuenplot hoort een vormeloze wolk te zijn; als jij daar iets anders zag, is dat te meten: knip de voorspelling in drie even brede stukken en vraag per stuk het gemiddelde residu op. Ook dat is werk voor het R-broertje, en daar komt +217, −255 en +220 gram uit. Zeg wat die drie getallen wél en niet bewijzen. (twee zinnen)

i) Nu de onthulling. Kleur de wolk: ga terug naar de Correlation van e), open Plots en zet bij de scatterplot Color by / group op soort. Het gemiddelde residu per soort staat klaar in het R-broertje, in de oefening met dezelfde naam als deze. (drie getallen)

j) Trek de lijn binnen elke soort apart: zet met Filter (het trechtertje boven de data) soort == "Adelie" aan, draai de regressie opnieuw, en herhaal dat voor de andere twee soorten. Zet het filter daarna weer uit. (drie hellingen — en let op het teken)

k) Hoe kan dat? Zet de soortgemiddelden ernaast: Descriptives met gewicht en snaveldiepte bij Variables en soort bij Split. (twee rijtjes van drie, en twee zinnen; het verschijnsel heeft een naam)

l) Schrijf de resultaten-alinea uit, in rapportagevorm. (hele zinnen, verleden tijd, symbolen cursief — en de bevinding is tweeledig)

Z) Mag je alles hierboven geloven? Je hebt de aannames bij c) en d) al nagelopen, dus nu de vraag die erachteraan hoort. Dit blok kent twee zetten die “schudden” heten: koppels husselen om te zien of de samenhang echt is (uit de eerste oefening van dit hoofdstuk), en residuen husselen om te zien of de spreiding gelijk is (uit dit blok). Draaien kan hier geen van beide — ook het schud-speeltje niet, want dat kent alleen het paar uit de eerste oefening — dus het R-broertje draait ze voor je. Voorspel éérst zelf welke van de twee die omgeklapte lijn had gevangen — en welke niet, en waarom niet. (je voorspelling van allebei de uitkomsten, en twee of drie zinnen over wat je voortaan altijd controleert)

Methode en data-analyse

a) Bijvoorbeeld: “Bij 342 pinguïns van drie soorten onderzochten we of het gewicht samenhangt met de snaveldiepte. We voorspelden het gewicht uit de snaveldiepte met een enkelvoudige regressie, en beoordeelden de residuen op gelijke spreiding, symmetrie en onafhankelijkheid.” Geen enkel getal uit de uitkomsten — dat is de toets waaraan je ziet of de scheiding echt is.

b) 342 van de 342 rijen zijn compleet op allebei de maten; er valt er geen weg.

c) De verhouding tussen de brede en de smalle helft is 1.61, de schudband loopt van 0.89 tot 1.12, en geen enkele van de duizend gehusselde werelden haalt de 1.61. De scheefheid van de residuen is 0.24.

En de vorm die je opschreef: geen openlopende trechter maar schuine banen, van linksboven naar rechtsonder, en het zijn er zo op het oog twee — een linker en een rechter, en die rechter ligt hoger. Dat je de verhouding 1.61 uitrekent betekent dus niet dat je een trechter zíet; het betekent alleen dat de ene helft breder spreidt dan de andere, en dat kan ook door banen komen.

d) Gelijke spreiding: geschonden, en hard — 1.61 tegen een band die tot 1.12 loopt, en 0 van de 1000 gehusselde werelden halen het. Bij de ozon was 1.65 nog krap; hier is de band smal, want 342 dieren, en valt het echte getal er mijlenver buiten. Normaal verdeeld: geen bezwaar, scheefheid 0.24. Ter vergelijking kun je de vin-lijn erbij pakken, het model uit dit blok waar niets aan de hand was — die zit op 0.31.

Deze residuen liggen dus nóg netter om nul dan die van een model waar je niets op aan te merken had. Onafhankelijk: elke pinguïn is één keer gewogen.

Wat eruit springt is dus de gelijke spreiding, en let op wat dat wél en niet zegt: er is iets mis, maar niet wát.

Resultaten

e) r = −.47. De wolk hangt omlaag — hoe dieper de snavel, hoe lichter het dier — en twee keer zo sterk als de −.24 waar dit hoofdstuk mee opende.

f) gewicht = 7488.65 − 191.64 × snaveldiepte, met SE = 19.42, t(340) = −9.87, p < .001, 95% CI [−229.84, −153.45] en R² = .22. Elke millimeter snavel dieper is bijna tweehonderd gram pinguïn minder.

OpmerkingIn JASP · waar de standaardfout en het interval vandaan komen

De standaardfout en het interval staan allebei in de coëfficiëntentabel — het interval dankzij het vinkje Confidence intervals dat je bij het klaarzetten aanzette.

(Je scherm geeft meer cijfers dan je opschrijft. In je rapportagezin staat [−229.84, −153.45] — twee decimalen, want dat is APA; op je scherm staan er meer, zodat je kunt nakijken of jij hetzelfde voor je hebt.)

g) Het intercept 7488.65 is de voorspelling voor een pinguïn met een snavel van nul millimeter diep, terwijl de ondiepste snavel in het bestand 13.1 mm is — een leeg adres. Na het centreren staat er 4201.75, en dat getal ken je: het is het gemiddelde gewicht van alle 342, precies zoals toen je in de vorige oefening de vinlengte centreerde. De helling verroert zich niet.

h) +217, −255 en +220 gram. Let op dat dit grámmen zijn; er komt bij j) een 217.15 langs die gram per millimeter is, en dat is toeval.

Over álle punten samen is het gemiddelde residu exact nul — daar is de lijn op gebouwd, dus dat bewijst niets. Maar per stuk hoort het óók ongeveer nul te zijn, en dat is het niet: erboven, eronder, er weer boven. Wat die drie getallen bewijzen is dat er structuur in zit; een vormeloze wolk doet dit niet. Dát het schuine banen zijn, zie je alleen in het plaatje.

i) Adélie −272.0, Chinstrap −225.4, Gentoo +458.6 gram.

De lijn zit er voor de Adélies gemiddeld 272 gram bóven — ze zijn lichter dan hij belooft — voor de Chinstraps 225 gram, en voor de Gentoo’s zit hij er 459 gram ónder. In het rechterderde van je plaatje zijn 97 van de 98 punten een Gentoo.

j) Adélie +217.15, Chinstrap +204.62, Gentoo +369.44 gram per millimeter. Alle drie plus, waar de lijn over alle 342 heen −191.64 zei. Binnen élke soort geldt dus: hoe dieper de snavel, hoe zwáárder het dier. Het teken is omgeklapt, en dit keer niet bij een kale correlatie maar bij een complete regressielijn.

k) De Gentoo’s zijn veruit de zwaarste dieren (5076 gram, tegen 3701 en 3733) én ze hebben de ondiepste snavels (14.98 mm, tegen 18.35 en 18.42). Dat ene feit — zwaar én ondiep — trekt de hele wolk de verkeerde kant op. Het verschijnsel heet de Simpsons paradox: houd je rekening met een derde variabele, dan kan het verband tussen de eerste twee wegvallen of zelfs omdraaien.

En knoop hem vast aan de naam uit de eerste oefening van dit hoofdstuk. Daar heette de derde speler die zich als het verband vermomt confounding. Dat is dezelfde vermomming: confounding is wat de derde variabele doet, de Simpsons paradox is hoe het eruitziet als hij het teken helemaal omdraait.

l) Bijvoorbeeld:

We voorspelden het gewicht van de pinguïns uit hun snaveldiepte (N = 342). Over alle dieren samen ging elke millimeter meer snaveldiepte samen met 191.64 gram minder gewicht, b = −191.64, SE = 19.42, 95% CI [−229.84, −153.45], R² = .22. Binnen elk van de drie soorten liep het verband echter andersom: daar ging een diepere snavel juist samen met een zwaarder dier (b = 204.62 tot 369.44 gram per millimeter).

Kijk wat die laatste zin doet: hij haalt het eerste resultaat niet weg, hij zet het in zijn verband. Allebei de helften zijn waar; alleen samen zijn ze eerlijk.

Z) De twee zetten geven tegengestelde antwoorden, en dat is de hele les.

Koppels husselen — de zet uit de eerste oefening — had je hier niets verteld. Schud je de snaveldieptes los van de gewichten, dan komt geen van de duizend geschudde werelden ook maar in de buurt van −.47. Die samenhang ís er dus. Hij zegt alleen niets over de richting die je eruit leest: echt en waar zijn twee verschillende dingen, en dat wist je sinds de snavels.

Residuen husselen — de zet uit dit blok — sloeg wél alarm: 1.61 tegen een band die tot 1.12 loopt, 0 van de 1000. Maar hij zei alleen dát er iets mis was, niet wat. Pas het kleuren per soort bij i) gaf de derde speler zijn naam.

Twee keer 0 van de 1000, en ze betekenen het tegenovergestelde van elkaar: de eerste zegt er is hier iets, de tweede zegt en je hebt het verkeerd opgeschreven.

Wat je voortaan altijd controleert voordat je een lijn door een wolk vertrouwt: teken de residuen tegen de voorspelling, en kijk of er structuur in zit in plaats van alleen te vragen of ze breed uitlopen. En vraag je bij elke wolk af wie er nog meer in zit — want dezelfde soort die zich in de eerste oefening als een correlatie vermomde, vermomde zich hier als een complete regressielijn.

rapportage

Schrijf op wat je gecontroleerd hebt

rapportage van een controle · APA-notatie

OpmerkingRapportage

Een assumptie-controle hoort in je verslag, en het is de kortste rapportage die je dit hele boek schrijft: één zin als er niks is, twee als er wél iets is. Wat je niet doet, is ’m weglaten — een lezer die niets leest, weet niet of je niets vond of niet gekeken hebt.

Zo ziet ‘wél iets’ eruit:

We voorspelden de dagelijkse ozonconcentratie uit de maximumtemperatuur (N = 116). De residuen werden visueel geïnspecteerd. De spreiding nam toe met de voorspelde waarde: op de koelere helft van de dagen was SD = 17.47 ppb (n = 59), op de warmere SD = 28.74 ppb (n = 57). De residuen waren rechtsscheef.

En zo ‘niks aan de hand’:

We voorspelden het gewicht van de pinguïns uit hun vinlengte (N = 342). De residuen werden visueel geïnspecteerd; de spreiding was gelijkmatig over het bereik van de voorspelde waarden en de verdeling week niet zichtbaar af van normaal.

Let op de kleine lettertjes. Alleen de symbolen N, n en SD staan cursief, de gewone woorden rechtop. En let op dat er twee n’en zijn: de hoofdletter N is je hele bestand, de kleine n een groep daarbinnen — hier dus N = 116 dagen, verdeeld over n = 59 koele en n = 57 warme. De zinnen staan in de verleden tijd, want je vertelt wat je gedáán en gevónden hebt. En ze noemen allebei de steekproef, de uitkomst én de voorspeller, zodat ze op eigen benen staan.

En let op wélke twee getallen daar staan: 17.47 en 28.74, de spreiding van de residuen. Niet de 16.91 en 33.43 die je zelf uit Descriptives haalde — dat waren de ozonwaarden zelf. Je rapporteert wat de lijn heeft laten liggen, niet wat er lag.

Eén woord dat je hier bewust niet schrijft: “aan de assumpties werd voldaan”. Dat klinkt als een toets die geslaagd is, en zo werkt het niet — je hebt gekeken, en je zag niets bijzonders. Schrijf op wat je zag.

Jouw beurt: schrijf zo’n zin voor de wind-lijn uit de taak hierboven. Kies zelf welke van de twee vormen erbij past, en verdedig die keuze in één zin.

En dan de eindopdracht, want die verdient een eigen zin. Een omgeklapt teken is de strengste proef op de regel dat een rapportage op eigen benen staat: het getal over alle 342 klopt, en tóch klopt het verhaal pas als de soorten erbij staan. Zo:

We voorspelden het gewicht van de pinguïns uit hun snaveldiepte (N = 342). Over alle dieren samen ging elke millimeter meer snaveldiepte samen met 191.64 gram minder gewicht, b = −191.64, SE = 19.42, 95% CI [−229.84, −153.45], R² = .22. Binnen elk van de drie soorten liep het verband echter andersom: daar ging een diepere snavel juist samen met een zwaarder dier (b = 204.62 tot 369.44 gram per millimeter).

Kijk wat die laatste zin doet: hij haalt het eerste resultaat niet weg, hij zet het in zijn verband. Allebei de helften zijn waar; alleen samen zijn ze eerlijk.

Jouw beurt, nog één keer: schrijf diezelfde tweeledige bevinding op in de taal van de correlatie — met r in plaats van b (over alle 342 pinguïns r = −.47, binnen de soorten r = .58 tot .72). Die vorm ken je uit de eerste oefening van dit hoofdstuk; leen hem gerust. En toets bij allebei je zinnen: laat je de tweede helft weg, dan staat er iets wat niet waar is.

Zelfde vorm in het boek

Hier: de drie aannames aan de residuen afgelezen — welk plaatje je opvraagt, en waaraan je ziet dat het misgaat.

In het boek: W4 — Hangen ze samen?

Daar krijgen de drie alleen hun naam, en staat erbij dat de lijn zélf niets meer eist dan rechtheid. Hier zie je wat de fouten ervan bakken.

Voetnoten

  1. Dagelijkse ozonmetingen (delen per miljard, parts per billion) op Roosevelt Island, New York, mei–september 1973; New York State Department of Conservation / National Weather Service. Beschikbaar als de klassieke R-dataset airquality; dit zijn de 116 dagen waarop de ozonmeting gelukt is. Alle getallen in dit blok zijn op die échte data nagerekend.↩︎