Vierde beweging · Verschil onthechten
Oefening 11.1 · Mediatie: direct en indirect
Mediatie: direct, indirect en totaal · mediation
In deze oefening
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 SPSS
paden a en b · direct en indirect effect
Voor mediatie leunt bijna iedereen in SPSS op de PROCESS-macro van Andrew F. Hayes — een gratis uitbreiding die je één keer installeert en die daarna als menu-item onder Analyze → Regression verschijnt. Model 4 is de eenvoudige mediatie: één voorspeller (X), één tussenstap (M), één uitkomst (Y).
SPSS heeft geen mediatie-knop in het basispakket. Het gaat via PROCESS (model 4), of met drie losse regressies onder Analyze → Regression → Linear. Lees telkens de kolom B in de tabel Coefficients:
glansals Dependent,karaatals Independent(s) → het totale effect: 32.143.gladheidals Dependent,karaatals Independent(s) → pad a: 3.929.glansals Dependent,karaaténgladheidals Independent(s) → bijgladheidstaat pad b (7.932), bijkaraathet directe effect (.980).
* het totale effect: glans op karaat alleen.
REGRESSION /DEPENDENT glans /METHOD=ENTER karaat.
* pad a: gladheid op karaat.
REGRESSION /DEPENDENT gladheid /METHOD=ENTER karaat.
* pad b en het directe effect: glans op karaat en gladheid samen.
REGRESSION /DEPENDENT glans /METHOD=ENTER karaat gladheid.
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?
- Open
luchtkwaliteit.csvin SPSS: File → Open → Data, bestandstype op CSV. - Nog geen PROCESS? Hoe je hem installeert staat in Oefening 0.0, onder PROCESS van Hayes. Daarna staat hij onder Analyze → Regression → PROCESS.
- Open PROCESS. Zet Y variable op
ozon, X variable opzon, Mediator(s) M optemp_F. - Kies bij Model number het getal 4.
- Draai. PROCESS drukt de paden af én, onderaan, een blok Total, Direct, and Indirect effects of X on Y.
Draai eerst process.sps (zie Oefening 0.0); dat moet elke keer dat je SPSS opent.
* model 4: zon via temp_F naar ozon.
process y=ozon/x=zon/m=temp_F/model=4.
Wil je het zónder macro checken, dan kun je de drie regressies met de hand draaien via Analyze → Regression → Linear: ozon op zon alleen geeft het totale effect, temp_F op zon geeft pad a, en ozon op zon en temp_F samen geeft pad b én het directe effect. Precies wat PROCESS voor je uitrekent.
Kijk naar het effecten-blok. PROCESS drukt vier decimalen af, zonder nul vóór de punt. Het totale effect van zon op ozon staat er als .1272. Het directe effect is .0571 — dat stuk loopt rechtstreeks, buiten de warmte om. En het indirecte effect is .0701 — het stuk dat via de temperatuur wordt doorgegeven. Ze passen op elkaar als puzzelstukjes: .0571 + .0701 = .1272. Direct plus indirect is precies het totaal.
Die .0701 is het product van de twee paden, en PROCESS drukt ze allebei af, elk in een eigen model boven het effecten-blok. Zon warmt de lucht op met .0307 graad per streepje (pad a, in het model met temp_F als uitkomst), en elke graad warmer levert 2.2785 ppb meer ozon op bij gelijke zon (pad b, in het model met ozon als uitkomst). Vermenigvuldig je die twee zoals ze er staan, dan komt er .0699 uit en geen .0701. Dat is geen fout van jou: PROCESS vermenigvuldigt de paden vóór hij ze afrondt.
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. Precies daarom bouwde Hayes de bootstrap standaard in PROCESS: het 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 (van 2.5% tot 97.5%) is je 95%-interval — hier het bootstrap confidence interval voor het indirecte effect.
- Blijf in PROCESS met dezelfde velden (Y =
ozon, X =zon, M =temp_F, Model 4). - Zet Number of bootstrap samples op 1000 (of hoger; 5000 is Hayes’ standaard).
- Laat Confidence level op 95 staan en draai.
- Lees onder Indirect effect(s) of X on Y de kolommen BootLLCI en BootULCI — de onder- en bovengrens van het interval.
Kijk naar die twee grenzen: het 95%-interval loopt van ongeveer .023 tot .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.) Draait PROCESS niet, dan is de klassieke vangnet-toets de Sobel-test, maar die gaat uit van een symmetrische verdeling die ab juist niet heeft — de bootstrap is eerlijker. Die Sobel-test reken je onderaan deze oefening één keer met de hand uit, bij De Sobel-toets op een kladje; hier hoef je er nog niets mee.
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
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.
- Werk met dezelfde 111 dagen als bij de zon. Op vijf dagen is de wind wél gemeten en de zon niet, en zodra
zonniet meer in je analyse zit, rekent SPSS die vijf gewoon mee. Kies daarom Data → Select Cases, vink If condition is satisfied aan, klik If en typNOT MISSING(zon). Zet onder Output de keuze op Delete unselected cases, zodat de vijf dagen echt uit je actieve bestand gaan. Je csv op schijf blijft heel, zolang je het bestand niet opslaat. - Draai PROCESS model 4 opnieuw, maar zet nu de wind vooraan: kies
windals X variable en laatozonals Y variable entemp_Fals Mediator(s) M staan. Kijk eerst bovenaan bij Sample Size: daar hoort 111 te staan. Staat er 116, dan zijn de vijf dagen er nog, en klopt geen enkel getal hieronder: ga terug naar stap 1. Lees daarna onderaan weer het blok Total, Direct, and Indirect effects of X on Y. Ter controle staat bij het totale effect −5.7288: elke mijl/uur meer wind gaat samen met bijna zes ppb minder ozon. - Kijk naar de andere twee regels: het directe effect is −3.2948 en het indirecte effect −2.4340 — samen precies de −5.7288 van het totaal. Ruim veertig procent van het wind-effect loopt dus via de temperatuur.
- 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
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.
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?
- 0.031
- 0.070
- 0.184
- 2.278
2. In het model met zon én temperatuur staat de temperatuur op 2.278. Welke omschrijving van dat getal is de beste?
- Elke graad warmere lucht gaat samen met 2.278 ppb meer ozon, bij gelijke zonnestraling.
- Elk streepje zonnestraling erbij gaat samen met 2.278 graad warmere lucht.
- De temperatuur geeft 2.278 keer zoveel effect op de ozon door als de zon rechtstreeks doet.
- 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?
- Met 111 dagen is de steekproef te klein voor een toets op ab.
- Een bootstrap maakt geen enkele aanname over de data, en zo’n toets wel.
- ab is een product van twee schattingen, en dat ligt scheef.
- 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?
- Omdat vinlengte en gewicht te sterk samenhangen (r = .87) om hun paden nog uit elkaar te trekken.
- Omdat pinguïnsoort een categorie is, en mediatie drie getallen nodig heeft.
- Omdat de rekensom op deze data geen bruikbare getallen oplevert.
- 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 uitvoer van PROCESS, met vier decimalen. Waar komt dat minteken vandaan?
- Pad a is negatief en pad b positief; min keer plus is min.
- Pad a en pad b zijn allebei negatief, en min keer min is min.
- Zodra het totale effect negatief is, is het indirecte pad dat ook.
- 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?
- Dat de temperatuur voor de ozon belangrijker is dan de zon.
- Dat de temperatuur meer dan de helft van het effect van zon op ozon veroorzaakt.
- Dat 55% van het zon-effect op ozon met de temperatuur meebeweegt — meer niet.
- 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 SPSS-scherm bij Jouw beurt. PROCESS toont ze met vier decimalen: de 0.031 en de 2.278 uit vraag 1 en 2 staan daar als .0307 en 2.2785. 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 de getallen die je net zelf hebt uitgerekend zijn genoeg. Pak een pen.
\[ z \;=\; \frac{a \times b}{\sqrt{\,b^2 \cdot SE_a^2 \;+\; a^2 \cdot SE_b^2\,}} \]
Invullen met wat je hebt — a = 3.93 (SE = 1.54) en b = 7.93 (SE = 1.62). De standaardfouten staan in je diamantjes-regressies naast B, in de kolom Std. Error: die van pad a in de tweede regressie, die van pad b in de derde.
- 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 PROCESS
Daar staat het: z = 2.26, p = .024. Significant, zegt Sobel. 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 geeft PROCESS voor het indirecte effect geen z en geen p, maar een bootstrap-betrouwbaarheidsinterval: duizenden keren opnieuw trekken en kijken waar ab landt. Waarom dan toch eerst dat kladje? Omdat je nu weet wát PROCESS voor je toetst. Een macro die je aanzet voordat je snapt wat hij doet, is een knop. Nu is het een verrekijker.
Heb je PROCESS geïnstalleerd (zie Oefening 0.0), dan is dit de hele analyse in één regel. Het menu-venster installeer je één keer; wie zoals hier de syntax gebruikt, draait eerst process.sps, en dat elke keer dat je SPSS opent.
* model 4 is gewone mediatie; seed zet het toeval vast, zodat je elke keer hetzelfde interval krijgt.
process y=glans/x=karaat/m=gladheid/model=4/boot=5000/seed=31216/conf=95.
Wat je terugkrijgt is wat je net met de hand deed — pad a, pad b, het totale en het directe effect — plus het indirecte effect met een bootstrap-interval eromheen in plaats van een Sobel-z. Ligt dat interval helemaal boven nul, dan is het indirecte pad er een.
Voetnoten
airquality— dagelijkse metingen, New York, mei–september 1973 (New York State Department of Conservation & National Weather Service); via het R-basispakketdatasets. Complete gevallen n = 111. Alle getallen in dit blok zijn op die échte data nagerekend.↩︎