Vierde beweging · Verschil onthechten

Oefening 11.1 · Mediatie: direct en indirect

Mediatie: direct, indirect en totaal · mediation

Data bij deze oefening — luchtkwaliteit.csv luchtmetingen in New York · diamantjes.csv de twaalf steentjes uit het boek · wat elke kolom betekent

prikkel

Eén helling van 0.13 — maar langs welke weg?

zon, temperatuur en ozon · de omweg

Een zomer boven New York, honderdelf dagen lang gemeten.1 Op de dagen met veel zon ligt er meer ozon in de lucht; op de bewolkte dagen minder. Reken je die band uit, dan komt er een helling van 0.13 uit: elke extra streepje zonnestraling gaat, in déze zomer, samen met zo’n 0.13 ppb meer ozon.

Zon maakt ozon — het klinkt als een rechte lijn van het één naar het ander. Maar ozon ontstaat niet zómaar uit licht; het vormt zich fotochemisch, en dat gaat sneller als de lucht warm is. En zon maakt de lucht warm. Dus misschien loopt het zon-effect niet kaarsrecht naar de ozon, maar neemt het onderweg een omweg: zon → warmere lucht → meer ozon. De vraag van dit blok is niet óf zon en ozon samenhangen — dat weten we al — maar langs welke weg. Hoeveel van die 0.13 gaat rechtstreeks, en hoeveel gaat via de temperatuur?

speel het

Knip het effect in tweeën in JASP

paden a en b · direct en indirect effect

JASP heeft voor precies deze vraag een aparte module. Je wijst aan wat de voorspeller is, wat de tussenstap (mediator) is en wat de uitkomst is, en JASP knipt het effect zelf in een direct en een indirect deel.

OpmerkingEerst zoals in het boek — de twaalf diamantjes · JASP 0.98.1
  1. Open diamantjes.csv en kies SEM → Mediation Analysis.
  2. Sleep karaat naar Predictors, gladheid naar Mediators en glans naar Outcome.
  3. Lees de drie tabellen af: Total Effects 32.143, Direct effects 0.980 en Indirect effects 31.162.

Het pad karaat → gladheid → glans draagt a × b = 31.16 van het totale effect van 32.14: 97% loopt via de slijper, en wat rechtstreeks overblijft is die 0.98 uit het blok over meervoudige regressie.

Nu jij — met de luchtmetingen die je in oefening 2.1 al zag. Bekende data, nieuwe vraag: die helling van 0.13, langs welke weg loopt die eigenlijk?

OpmerkingIn JASP · trek eraan · JASP 0.98.1
  1. Open luchtkwaliteit.csv in JASP (menu linksboven → Open).
  2. Ontbreekt de module? Klik rechtsboven op het blauwe + en zet SEM aan. Klik dan bovenin op SEM → Mediation Analysis.
  3. Sleep de voorspeller zon naar het vak Predictors.
  4. Sleep de tussenstap temp_F naar het vak Mediators.
  5. Sleep de uitkomst ozon naar het vak Outcome.
  6. JASP toont nu de tabellen Direct effects, Indirect effects en Total Effects — de drie stukken die je zoekt. Onder Options staat Path coefficients al aan; die tabel geeft de twee paden los.

Kijk naar die drie tabellen. Het totale effect van zon op ozon is 0.127. Het directe effect is 0.057 — dat stuk loopt rechtstreeks, buiten de warmte om. En het indirecte effect is 0.070 — het stuk dat via de temperatuur wordt doorgegeven. Ze passen op elkaar als puzzelstukjes: 0.057 + 0.070 = 0.127. Direct plus indirect is precies het totaal.

Wil je zien waar die 0.070 vandaan komt: het is het product van de twee paden in Path coefficients. Zon warmt de lucht op met 0.031 graad per streepje (pad a), en elke graad warmer levert 2.278 ppb meer ozon op bij gelijke zon (pad b). Vermenigvuldig je die twee zoals ze er staan, dan komt er 0.071 uit, niet 0.070. Dat is geen fout van jou: het scherm rondde pad a al af. Met één decimaal meer is hij 0.0307, en 0.0307 × 2.278 = 0.070.

trek het opnieuw

Bootstrap het indirecte pad

bootstrappen · trekken met teruglegging · 95%-interval

Dat indirecte pad van 0.070 — is dat echt, of kan zo’n omweg-getal ook uit toeval opborrelen? We willen het toetsen, maar er is een addertje: het indirecte effect is een product van twee geschatte getallen, en zulke producten hebben een scheve verdeling. Een nette symmetrische foutmarge klopt hier niet. Daarom leunt mediatie op bootstrappen: je trekt uit je 111 dagen duizend keer een nieuwe steekproef van 111 dagen — mét teruglegging, dus sommige dagen dubbel en andere niet — en herberekent telkens het indirecte effect. Die duizend waarden vormen een verdeling, en het middelste stuk daarvan (van 2.5% tot 97.5%) is je 95%-interval.

Het mooie: dit doet JASP zélf, je hoeft er niet voor te programmeren.

OpmerkingIn JASP · zet de bootstrap aan · JASP 0.98.1
  1. Blijf in SEM → Mediation Analysis met dezelfde velden ingevuld.
  2. Open Options en zet onder Confidence intervals de Method op Bootstrap.
  3. Bij Replications staat al 1000. Zet Type op Percentile: dat is de bootstrap die hierboven in woorden staat — het middelste stuk van de duizend.
  4. In de tabel Indirect effects staan nu onder Confidence Interval een Lower- en een Upper-grens.

Kijk naar die twee grenzen: het 95%-interval loopt van ongeveer 0.023 tot 0.113 — en het komt met geen enkele voet aan de nul. Duizend hertrekkingen, en het indirecte pad blijft staan. De omweg via de temperatuur is niet toeval; hij is echt. (Je eigen grenzen wijken een paar duizendsten af — een bootstrap trekt elke keer nét andere steekproeven, dus de staart wiebelt een beetje. De boodschap blijft: ruim boven nul.)

snap het

Wat mediatie wél en niet bewijst

mediator · richting van de pijlen · gemeenschappelijke oorzaak

Wat je hier hebt gedaan heet mediatie, en de kern past in één zin: het totale effect valt uiteen in een direct deel en een indirect deel.

\[ \underbrace{0.127}_{\text{totaal } (c)} \;=\; \underbrace{0.057}_{\text{direct } (c')} \;+\; \underbrace{0.070}_{\text{indirect } (a\cdot b)} \]

Ruim de helft — 55% — van het zon-effect op ozon loopt niet rechtstreeks, maar via de temperatuur. Zon warmt de lucht, warme lucht maakt ozon. De temperatuur is de mediator: de tussenstap die een stuk van het effect doorgeeft. Dat is de vraag die mediatie stelt — hoeveel van het effect van A op C loopt via B? — en het antwoord is hier: meer dan de helft.

Maar nu het addertje, en het is een grote. Die pijlen heb jíj erin gelegd. De data tonen je drie variabelen die samenhangen — meer niet. Dat zon vóór temperatuur komt, en temperatuur vóór ozon, dat weet je niet uit de getallen; dat weet je uit de natuurkunde. De fotochemie zegt: zon warmt op, warmte maakt ozon. Die kennis leg je bovenop de cijfers, en pas dán mag je het een mediatiemodel noemen. Draai de pijlen om en de wiskunde loopt net zo hard door — de getallen protesteren niet. Een mediatiemodel is een hypothese over hoe het werkt, geen bewijs dát het zo werkt.

Waarom dat scherp houden? Neem een tegenvoorbeeld. Stel je zou “pinguïnsoort → vinlengte → gewicht” als mediatie opschrijven: soort werkt op gewicht via de vin. De rekensom levert keurige getallen op — maar de pijl klopt niet, want vinlengte veroorzaakt geen gewicht; het zijn twee dingen die de soort samen groot maakt. Daar is de “mediator” in werkelijkheid een gemeenschappelijke oorzaak, en het model liegt met een uitgestreken gezicht. Bij zon → temperatuur → ozon durven we de pijlen wél te tekenen, niet omdat de cijfers mooier zijn, maar omdat de fysica de richting kent. De statistiek levert de grootte; de richting moet ergens anders vandaan komen.

jouw beurt

Nu de omweg van de wind

negatief indirect pad · tekens van de paden

OpmerkingJouw beurt

Jouw beurt — dezelfde ontleding, maar nu met de wind als startpunt. In luchtkwaliteit.csv zit ook de kolom wind (windsnelheid in mijl/uur). Meer wind gaat samen met mínder ozon; de vraag is weer: loopt dat effect rechtstreeks, of deels via de temperatuur? (Wind koelt de lucht af, koelere lucht maakt minder ozon — dat is de omweg die je gaat opmeten.)

Onder Tentamenvragen, aan het eind van deze oefening, staan dezelfde onderwerpen nog een keer in de vorm waarin een tentamen ze stelt.

  1. Werk met dezelfde 111 dagen als bij de zon. Op vijf dagen is de wind wél gemeten en de zon niet, en zodra zon niet meer in je analyse zit, rekent JASP die vijf gewoon mee. Klik daarom op het trechtertje boven de data (Filter), typ in het R-vak !is.na(zon) en klik Apply.
  2. Draai de Mediation Analysis opnieuw, maar zet nu de wind vooraan: sleep wind naar Predictors (en zon eruit), en laat temp_F in Mediators en ozon in Outcome staan. Lees weer de drie tabellen. Ter controle staat bij het totale effect −5.729: elke mijl/uur meer wind gaat samen met bijna zes ppb minder ozon. Staat er −5.551, dan staat het filter niet aan en rekende je met 116 dagen.
  3. Kijk naar de andere twee: het directe effect is −3.295 en het indirecte effect −2.434 — samen precies de −5.729 van het totaal. Ruim veertig procent van het wind-effect loopt dus via de temperatuur.
  4. Denk-vraag: alle getallen zijn hier negatíef, en tóch klopt de optelsom direct + indirect = totaal net zo netjes als bij de zon. Waaróm mag een indirect pad negatief zijn — en wat betekent een negatief a·b eigenlijk voor de omweg die de wind neemt? (Hint: kijk naar het teken van pad a — wat doet wind mét de temperatuur? — en het teken van pad b.)

rapportage

Schrijf het op als een onderzoeker

rapportagezin · c, c′ en ab · bootstrap-CI

OpmerkingRapportage

Ook een mediatie mag je in gewone-mensentaal opschrijven — het blijft dat boodschappenlijstje in zinsvorm, alleen staan er nu drie getallen op in plaats van twee: wat het totale effect was, hoeveel daarvan rechtstreeks liep, en hoeveel de omweg nam. Kijk maar:

Om te onderzoeken of de zomerzon boven New York zijn effect op de ozonconcentratie deels via de luchttemperatuur doorgaf, ontleedden we het totale zon-effect (n = 111) in een direct en een indirect deel. Het totale effect bedroeg c = 0.13; daarvan liep c′ = 0.06 rechtstreeks en ab = 0.07 via de temperatuur (95% bootstrap-CI [0.02, 0.11], 1000 hertrekkingen) — ruim de helft van het effect nam dus de omweg.

Zie hoe de zin op eigen benen staat: hij noemt de steekproef, de variabelen én de drie paden, en je kunt hem zó uit de opdracht tillen. Twee vormafspraken lopen weer mee: alléén de symbolen c, c′, ab en n zijn cursief — de gewone woorden blijven rechtop — en de getallen krijgen een punt (0.13, geen komma), netjes op twee decimalen.

Jouw beurt: schrijf zelf zo’n zelfstandige zin voor de omweg van de wind (c = −5.73, c′ = −3.29, ab = −2.43). Let op de min-tekens — een omweg mag best de andere kant op wijzen. En dat −3.29 + −2.43 op −5.72 uitkomt en niet op −5.73, is afronding, geen fout: het model rekent met alle decimalen. Hardop voorlezen mag.

tentamen

Tentamenvragen

direct, indirect en totaal · richting van de pijlen · teken van a·b

Deze zes hebben de vorm waarin een tentamen dit onderwerp stelt: vier opties, en precies één is de beste — de andere drie kunnen best waar zijn en toch niet het beste antwoord. Bij vraag 1 reken je; bij de rest kies je.

OpmerkingTentamenvragen

1. Bij de zomerzon boven New York is het totale effect van zon op ozon c = 0.127 en het directe effect c′ = 0.057. Hoe groot is het indirecte effect ab?

  1. 0.031
  2. 0.070
  3. 0.184
  4. 2.278

2. In het model met zon én temperatuur staat de temperatuur op 2.278. Welke omschrijving van dat getal is de beste?

  1. Elke graad warmere lucht gaat samen met 2.278 ppb meer ozon, bij gelijke zonnestraling.
  2. Elk streepje zonnestraling erbij gaat samen met 2.278 graad warmere lucht.
  3. De temperatuur geeft 2.278 keer zoveel effect op de ozon door als de zon rechtstreeks doet.
  4. Van het totale zon-effect op de ozon loopt 2.278 ppb via de temperatuur.

3. Bij Bootstrap het indirecte pad geeft dit blok voor ab een bootstrap-interval en geen gewone foutmarge met een p. Wat is de beste reden?

  1. Met 111 dagen is de steekproef te klein voor een toets op ab.
  2. Een bootstrap maakt geen enkele aanname over de data, en zo’n toets wel.
  3. ab is een product van twee schattingen, en dat ligt scheef.
  4. Het interval laat zien dat de nul er niet in valt, en dat kan een p niet.

4. Iemand schrijft “pinguïnsoort → vinlengte → gewicht” op als mediatiemodel: de soort werkt op het gewicht via de vin. Waarom is dat geen mediatie?

  1. Omdat vinlengte en gewicht te sterk samenhangen (r = .87) om hun paden nog uit elkaar te trekken.
  2. Omdat pinguïnsoort een categorie is, en mediatie drie getallen nodig heeft.
  3. Omdat de rekensom op deze data geen bruikbare getallen oplevert.
  4. Omdat de vin het gewicht niet veroorzaakt: de soort maakt vin én gewicht groot.

5. Bij de wind als startpunt komt het indirecte pad op ab = −2.43 uit: een negatief getal. Pad a is daar −1.33 en pad b is +1.83 — op je scherm staan die twee bij Jouw beurt in de tabel Path coefficients, met drie decimalen. Waar komt dat minteken vandaan?

  1. Pad a is negatief en pad b positief; min keer plus is min.
  2. Pad a en pad b zijn allebei negatief, en min keer min is min.
  3. Zodra het totale effect negatief is, is het indirecte pad dat ook.
  4. Er kwam minder ozon uit dan het model voorspelde, en dat verschil draagt een minteken.

6. Van het effect van zon op ozon loopt 55% via de temperatuur. Wat mag je daaruit besluiten?

  1. Dat de temperatuur voor de ozon belangrijker is dan de zon.
  2. Dat de temperatuur meer dan de helft van het effect van zon op ozon veroorzaakt.
  3. Dat 55% van het zon-effect op ozon met de temperatuur meebeweegt — meer niet.
  4. Dat de pijlen deze kant op móéten lopen, want andersom klopt de optelsom c′ + ab = c niet meer.

1 b · 2 a · 3 c · 4 d · 5 a · 6 c

Hieronder staat per vraag eerst waaróm het goede antwoord goed is, en daaronder een korte toelichting per foute optie. Heb je er een goed, dan kun je die overslaan.

1. b. Direct plus indirect is het totaal, dus ab = 0.127 − 0.057 = 0.070.

  • a — dat is pad a: hoeveel warmer de lucht wordt per streepje zon.
  • c — de twee opgeteld in plaats van afgetrokken; dan wordt de omweg groter dan het hele effect.
  • d — dat is pad b, en het staat in ppb per graad in plaats van per streepje zon.

2. a. Pad b is de helling van ozon op temperatuur in het model waar de zon óók in zit — dus bij gelijke zonnestraling.

  • b — dat is pad a (0.0307), met graden als uitkomst in plaats van als ingang.
  • c — 2.278 is geen keer-getal maar een aantal ppb per graad.
  • d — het stuk dat via de temperatuur loopt is ab = 0.070, niet pad b.

3. c. Een product van twee schattingen trekt scheef, en een symmetrische foutmarge past daar niet omheen.

  • a — 111 dagen is ruim genoeg; het zit in de vórm van de verdeling, niet in de omvang.
  • b — een bootstrap neemt nog altijd aan dat je steekproef de populatie vertegenwoordigt.
  • d — waar over dit interval, en toch de verkeerde reden: je kiest een bootstrap vóórdat je de uitkomst ziet, en wel omdat de verdeling scheef is. Een p-waarde kan ook prima “niet nul” zeggen.

4. d. De pijl klopt niet: de soort maakt vin en gewicht samen groot. Wat hier “mediator” heet, is een gemeenschappelijke oorzaak.

  • a — die r van .87 komt uit Oefening 3.2 en maakt de schatting onzeker, niet de richting fout.
  • b — een categorie mag prima in een mediatiemodel staan; deze pijl mag niet.
  • c — de rekensom levert juist keurige getallen op, en dát is het gevaar.

5. a. Min keer plus is min. Wind koelt de lucht en koelere lucht maakt minder ozon: twee stappen, en een omweg die daardoor omlaag loopt.

  • b — twee mintekens vóelen hier kloppend, maar min keer min is plus; dan was ab positief geweest. Pad b is +1.83: warmere lucht geeft méér ozon, of je nu met wind of met zon begint.
  • c — zo’n regel bestaat niet; een totaal en een omweg mogen tegengesteld van teken zijn.
  • d — dat beschrijft een residu, niet een pad.

6. c. De ontleding meet hoe het effect verdeeld is. Dát de pijlen die kant op lopen weet je uit de fotochemie, niet uit deze getallen.

  • a — pad b en het totale zon-effect op de ozon staan in verschillende eenheden en zijn niet te vergelijken.
  • b — het antwoord dat bijna iedereen geeft, en precies één woord te sterk: veroorzaakt.
  • d — draai de pijlen om en de wiskunde loopt net zo hard door; de som komt nog steeds uit.

De getallen in deze zes vragen staan eerder op deze bladzij of op je eigen JASP-scherm bij Jouw beurt, soms met een decimaal minder dan JASP ze toont — alleen de r van .87 komt uit Oefening 3.2. De foute opties zijn sommen met diezelfde getallen die net misgaan: opgeteld in plaats van afgetrokken, of het verkeerde pad genomen.

◠ Zelfde vorm in het boek

Hier: één totaal effect dat uiteenvalt in een rechtstreeks deel en een deel dat via een tussenstap wordt doorgegeven.

In het boek: W11 — Het doorgegeven verschil

Daar draait het om dezelfde ontleding — direct, indirect, totaal — en om de waarschuwing eronder: de pijlen tussen de variabelen leg jij erin, de data tonen alleen dat ze samen bewegen.

Hayes in dit blok

Eén naam gaat hier een paar keer vallen: Andrew F. Hayes. Hij is de methodoloog achter PROCESS, het gereedschap waarmee zo ongeveer iedereen mediatie en moderatie draait, en hij is de man van de modelnummers: zeg waar dan ook “model 4” en een onderzoeker weet dat je mediatie bedoelt, zeg “model 1” en het is moderatie. Maar dat is niet waarom hij hier staat. Hayes is interessant omdat hij zijn eigen gereedschap durft af te danken. De Sobel-toets, jarenlang dé manier om een indirect effect te toetsen — en die jij straks gewoon met de hand uitrekent — heeft hij zelf ten grave gedragen toen er iets beters kwam. Zo hoort een methodoloog te werken: niet trouw aan zijn gereedschap, trouw aan de vraag.

De Sobel-toets op een kladje

Je hebt het indirecte pad: a × b = 31.16. Maar twaalf steentjes is een kleine wereld — kan zo’n omweg-getal ook uit toeval opborrelen? Dat is precies wat de Sobel-toets vraagt. Hij zet het product ab af tegen zijn eigen standaardfout: dat geeft een z, en die z geeft een p. Meer is het niet — één breuk. Je hebt er geen macro voor nodig en geen menu; een kladje en vier getallen zijn genoeg. Pak een pen.

\[ z \;=\; \frac{a \times b}{\sqrt{\,b^2 \cdot SE_a^2 \;+\; a^2 \cdot SE_b^2\,}} \]

Invullen — a = 3.93 (SE = 1.54) en b = 7.93 (SE = 1.62). Die vier haal je uit twee gewone regressies op de diamantjes, met Regression → Linear Regression, in de tabel Coefficients: gladheid op karaat geeft pad a met zijn Standard Error, en glans op karaat en gladheid samen geeft pad b, op de regel van gladheid. Waarom niet uit de mediatie-analyse zelf, staat hieronder.

  • onder het wortelteken: 7.93² × 1.54² = 150.0, plus 3.93² × 1.62² = 40.4, samen 190.4
  • de wortel daarvan: SE van ab = 13.80
  • en dus z = 31.16 / 13.80 = 2.26, met p = .024

Van kladje naar JASP

Daar staat het: z = 2.26, p = .024. Significant, zegt Sobel. Kijk je nu bij de diamantjes in Indirect effects, dan zie je daar óók een z, maar een andere: 2.500, met p = .012. En in Path coefficients staan bij de twee paden standaardfouten van 1.410 en 1.400 in plaats van 1.54 en 1.62. Dat is geen fout van jou. De mediatie-analyse van JASP schat zijn standaardfouten zoals SEM-programma’s dat doen: hij deelt door alle twaalf steentjes, waar een gewone regressie eerst aftrekt hoeveel getallen ze al geschat heeft (twee bij pad a, drie bij pad b). Delen door meer geeft een kleinere standaardfout, en dus een grotere z. Bij 111 dagen zie je dat verschil nauwelijks, bij twaalf steentjes wel. De som is dezelfde Sobel; alleen de invoer verschilt.

En toch is dit het moment waarop Hayes zelf zou ingrijpen. De toets leunt namelijk op een aanname: dat ab netjes normaal verdeeld is. Maar een product van twee geschatte getallen is dat niet — de verdeling trekt scheef, en bij twaalf steentjes al helemaal. Daarom vroeg je bij de zon geen z op maar een bootstrap-betrouwbaarheidsinterval: duizend keer opnieuw trekken en kijken waar ab landt. Waarom dan toch eerst dat kladje? Omdat je nu weet wát JASP voor je toetst. Een analyse die je aanzet voordat je snapt wat ze doet, is een knop. Nu is het een verrekijker.

OpmerkingExtra — hetzelfde zoals Hayes het doet · JASP 0.98.1

JASP heeft PROCESS niet, en hoeft dat hier ook niet: de Mediation Analysis die je bij de diamantjes al draaide, ís deze analyse. Wil je hem doen zoals Hayes:

  1. Open in die analyse Options en zet onder Confidence intervals de Method op Bootstrap.
  2. Zet Replications op 5000 — zoveel trekt Hayes’ eigen PROCESS er standaard.

In Indirect effects komt er dan een bootstrap-interval bij. Dát interval laat Hayes tellen, niet de z ernaast: ligt het helemaal boven nul, dan is het indirecte pad er een.

Voetnoten

  1. airquality — dagelijkse metingen, New York, mei–september 1973 (New York State Department of Conservation & National Weather Service); via het R-basispakket datasets. Complete gevallen n = 111. Alle getallen in dit blok zijn op die échte data nagerekend.↩︎