Mediatie
mediation
Vooraf, in één zin: een significant indirect effect bewijst níét dat de interventie zo wérkt — de pijlen in een mediatiemodel tekent de onderzoeker er zelf in, de data leveren alleen de samenhangen; waarom dat de hele les is, staat onderaan bij Wat het niet zegt.
Wat je ziet
In het kort. Drie effecten waar er eerst één was: een totaal effect / total effect, een direct effect / direct effect en een indirect effect / indirect effect, dat laatste bijna altijd met een bootstrap-betrouwbaarheidsinterval erachter. Dit is een mediatie-analyse / mediation analysis — een antwoord op de vraag lóópt het effect ergens doorheen? De tussenstap heet de mediator; in artikelen zie je de paden vaak als letters: a (naar de mediator), b (van de mediator naar de uitkomst), c (totaal) en c′ (direct).
Zo ziet het eruit in het wild:
Voorbeeldfragment, geschreven in de stijl van een resultatensectie — het artikel bestaat niet.
Patients in the intensive aftercare programme showed greater symptom reduction than patients receiving usual aftercare (total effect = 8.09, SE = 1.13, p < .001). Mediation analysis indicated that this effect ran largely through treatment adherence: aftercare was associated with higher adherence (a = 9.85, p < .001), and adherence predicted symptom reduction while controlling for aftercare (b = 0.50, p < .001). The indirect effect was 4.97, 95% bootstrap CI [3.14, 7.07], accounting for 61% of the total effect; the direct effect remained significant (c′ = 3.12, p = .001).
Wat er staat
In het kort. Het hele verschil tussen de twee nazorg-groepen is 8.09 punten symptoomdaling (het totale effect). De analyse knipt dat in tweeën: 4.97 punten lopen — als het model klopt — vía de therapietrouw (het indirecte effect), 3.12 punten gaan er buitenom (het directe effect). En de boekhouding sluit: 4.97 + 3.12 = 8.09. Het meeste van het effect, 61%, wordt dus dóórgegeven via de tussenstap.
Nu hetzelfde, rustig en van voren af aan. Twee groepen patiënten na een klinische opname: de ene kreeg een intensief nazorgprogramma, de andere de gebruikelijke nazorg. De intensieve groep daalt gemiddeld 8.09 punten méér in symptomen — dat is het totale effect, en tot hier is dit gewoon een verschil tussen twee groepen, zoals je dat al kent.
De mediatievraag is de vraag naar het hoe. Het vermoeden van de onderzoekers: intensieve nazorg werkt niet rechtstreeks op de symptomen, maar doordat patiënten hun behandeling trouwer volhouden — afspraken nakomen, medicatie innemen. Dat vermoeden wordt een tekening met pijlen: nazorg → therapietrouw → symptoomdaling. En dan meet je de pijlen op.
Het a-pad: de intensieve groep scoort 9.85 punten hoger op therapietrouw (gemiddeld 63 tegen 53 op een schaal van 0 tot 100). Het b-pad: per punt therapietrouw komt er 0.505 punt symptoomdaling bij, bij gelijke nazorg — dit is een gewone regressiecoëfficiënt uit een model waar nazorg naast de trouw in staat, dezelfde constant-houden-beweging die je van meerdere voorspellers kent. Het indirecte effect is dan de vermenigvuldiging: de nazorg geeft je 9.85 punten trouw, en elk van die punten geeft 0.505 punt daling door — 9.85 × 0.505 = 4.97 punten die via het tussenstation reizen. Wat er van de oorspronkelijke 8.09 overblijft als de trouw is meegerekend, is het directe effect: c′ = 3.12 punten die langs een andere weg gaan — welke weg, daar zegt het model niets over.
Blijft over: de haken achter het indirecte effect, 95% bootstrap CI [3.14, 7.07]. Waarom juist hier een bootstrap? Omdat 4.97 een prodúct van twee schattingen is, en producten gedragen zich niet netjes genoeg voor de gewone intervalformules. De bootstrap trekt duizenden nep-steekproeven uit de eigen data en kijkt hoe het product meewiebelt — geen aannames nodig. Dit interval ligt in zijn geheel boven de nul: het indirecte effect is in elk geval geen toevalsproduct van deze steekproef. Wat het wél en niet betekent — daarover zo meer.
Waar het vandaan komt
Dit is de vorm uit de boek-eenheid Het doorgegeven verschil: een verschil dat niet in één stap van oorzaak naar uitkomst springt, maar onderweg wordt afgegeven bij een tussenstation en daar grotendeels wordt doorgegeven. Het gereedschap eronder is niets nieuws — het a-pad en het b-pad zijn allebei gewone regressiecoëfficiënten, en het b-pad gebruikt precies de constant-houden-les uit de meervoudige regressie: wat doet trouw met de daling, bij gelijke nazorg. Mediatie is regressie twee keer, plus één vermenigvuldiging. Wat er nieuw aan is, is niet de rekenkunde maar de claim: dat de paden een werkingsmechanisme beschrijven.
Twee dingen om paraat te hebben bij het lezen van artikelen. Ten eerste de letters: c = c′ + a·b is de vaste boekhouding, en “the effect was partially mediated” betekent: c′ bleef over. Ten tweede de naam die je overal tegenkomt: veel artikelen melden dat ze de PROCESS-macro van Hayes gebruikten. Dat is hetzelfde recept als hierboven, in SPSS-verpakking; JASP doet het onder eigen naam, en de getallen zijn gewoon vergelijkbaar.
Zelf doen in JASP
⬇ Download de data — nazorg_therapietrouw_terugval.csv
Bij dit blok hoort het databestand nazorg_therapietrouw_terugval.csv: 120 rijen, vier kolommen — id (deelnemernummer), nazorg (0 = gebruikelijke zorg, 1 = intensief nazorgprogramma), therapietrouw (0–100) en symptoomdaling (punten daling op de symptoomlijst). De rijen zijn gegenereerd — fictief maar plausibel, er zit geen echte patiënt in — en ze reproduceren precies de uitkomsten uit het fragment.
- Open het bestand in JASP (menu linksboven → Open).
- Controleer dat
nazorgals schaal staat (het lineaaltje-icoon boven de kolom); een 0/1-kolom mag dat, het is een dummy. Klik anders op het icoon en zet hem om. - De mediatie-analyse woont in de module SEM. Staat die nog niet in de balk bovenin: klik op het + rechtsboven en vink SEM aan.
- Klik op SEM en kies Mediation Analysis.
- Sleep
nazorgnaar Predictors,therapietrouwnaar Mediators ensymptoomdalingnaar Outcome. - Open Options en zet bij de standaardfouten/intervallen de bootstrap aan (laat het aantal replicaties op 1000 of zet het op 5000; laat de 95 staan). Even geduld — hij trekt nu duizenden nep-steekproeven.
Rechts verschijnen drie tabelletjes. Direct effects: 3.12. Indirect effects: 4.97, met de bootstrap-onder- en bovengrens ernaast — rond de 3.1 en de 7.1. Total effects: 8.09. Leg het fragment ernaast: dat zijn precies de getallen die daar stonden. JASP rekent; jij leest.
Eén ding kan je verbazen: draai je de analyse morgen opnieuw, dan staan er nét andere intervalgrenzen — [3.19, 7.05], of [3.10, 7.11]. Dat hoort zo. De bootstrap trekt met teruglegging, en ander toeval geeft een iets ander interval; de schattingen zelf (3.12, 4.97, 8.09) bewegen niet mee. Wie een bootstrap-BI tot op de tweede decimaal wil vastspijkeren, heeft het gereedschap niet begrepen.
Zelf opschrijven
Voor je eigen Nederlandstalige literatuurstudie:
Het intensieve nazorgprogramma hing samen met meer symptoomdaling (totaal effect 8.09 punten). Dat verband liep in het model grotendeels via therapietrouw: het indirecte effect was 4.97 punten (95%-bootstrap-betrouwbaarheidsinterval 3.14 tot 7.07), ongeveer 61% van het totaal, naast een direct effect van 3.12 punten. Dit patroon is verenigbaar met de hypothese dat nazorg vooral werkt door de therapietrouw te verhogen; het ontwerp laat die volgorde echter niet hard maken.
Drie werkafspraken daarbij:
- Rapporteer alle drie de effecten — totaal, direct, indirect — en het indirecte altijd mét zijn bootstrap-interval. Een indirect effect zonder haken is een half getal.
- Schrijf “verenigbaar met de hypothese dat”, niet “toont aan dat de interventie werkt via”. Het verschil tussen die twee formuleringen is precies het verschil tussen wat de analyse doet en wat de auteurs hopen.
- Neem “volledige mediatie” niet over uit een artikel zonder er iets bij te zeggen — waarom dat een te sterke claim is, staat hieronder.
Wat het niet zegt
De verleidelijkste redenering die je over dit fragment kunt opschrijven is: “het indirecte effect is significant en het interval ligt boven nul — bewezen dat nazorg werkt dóórdat het de therapietrouw verhoogt.” Eén korte zin, drie haarscheurtjes — en het eerste is meteen het grootste van dit hele blok.
De pijlen leg je er zelf in. Wat de data bevatten, zijn drie samenhangen: nazorg hangt samen met trouw, trouw met daling, nazorg met daling. Wat de data níét bevatten, is de richting van ook maar één pijl. De tekening nazorg → trouw → daling is een hypothese van de onderzoeker over het werkingsmechanisme, en JASP rekent elke tekening die je maakt even gehoorzaam door. Teken je het model achterstevoren — nazorg werkt op de symptomen, en wie opknapt kríjgt het volhouden van de behandeling cadeau — dan vind je op deze zelfde data óók een keurig significant indirect effect, met een bootstrap-interval dat óók geheel boven nul ligt. Twee tegengestelde mechanismen, allebei “bevestigd” door dezelfde getallen: dan heeft geen van beide analyses het mechanisme aangetoond. Het model zegt niet wat er in de wereld gebeurt; het zegt wat eruit komt áls jouw pijlen kloppen.
Ook het middenstuk is niet gerandomiseerd. Stel zelfs dat de nazorg netjes geloot was — dan is het a-pad causaal te lezen, maar niemand heeft de therapietrouw geloot. Patiënten die trouw zijn verschillen ook in andere dingen — motivatie, ernst van de klachten, steun thuis — en zulke gemeenschappelijke oorzaken kunnen trouw én daling tegelijk omhoog duwen. Dan meet het b-pad deels die derde factor, en het indirecte effect erft die besmetting één op één. Een mediatie-analyse in een gerandomiseerd onderzoek is dus half experiment, half observationeel — en het indirecte effect woont in de observationele helft.
“Volledige mediatie” en die 61%. In dit fragment blijft c′ significant; in andere artikelen lees je “the effect was fully mediated” zodra het directe effect niet meer significant is. Dat is zelden een bevinding en meestal een gebrek aan power: “niet significant” is niet “nul”, zeker niet in kleine steekproeven. En de 61% — het aandeel dat via de trouw loopt — is een deling van twee wiebelige schattingen en wiebelt dus zelf des te harder; behandel dat percentage als een orde van grootte, niet als een meetresultaat. Wat de analyse uiteindelijk wél oplevert, is bescheidener en toch waardevol: een mechanisme-hypothese die deze toets had kúnnen verliezen en dat niet deed. Dat is een reden om het mechanisme serieus te nemen en beter te onderzoeken — niet om het bewezen te verklaren.
Oefening
Leesopgave. Hieronder een voorbeeldfragment (verzonnen) uit een cross-sectionele vragenlijststudie. Vertel in gewone Nederlandse zinnen wat er gedaan is. Onderstreep dan de woorden in de laatste zin die sterker zijn dan de analyse toestaat — en zeg per woord waarom.
In a cross-sectional survey of 240 outpatients, the association between social support and depressive symptoms was fully mediated by self-esteem: the indirect effect was significant, 95% bootstrap CI [−0.31, −0.09], while the direct effect was no longer significant (p = .21). These results demonstrate that social support reduces depressive symptoms by strengthening self-esteem.
Doe-opgave. Draai de analyse van hierboven (nazorg_therapietrouw_terugval.csv). Drie stappen. Eén: controleer de boekhouding op een kladblaadje — tel het directe en het indirecte effect op en leg het naast het totale effect. Twee: draai precies dezelfde analyse nóg een keer en vergelijk de twee bootstrap-intervallen. Drie: wissel nu therapietrouw en symptoomdaling om — daling als mediator, trouw als uitkomst — en kijk naar het indirecte effect en zijn interval. Wat betekent wat je daar ziet voor de conclusie van stap één?
Uitwerking leesopgave
Er is op één moment gemeten hoe 240 poliklinische patiënten scoren op sociale steun, zelfwaardering en depressieve klachten, en er is een mediatiemodel gepast met zelfwaardering als tussenstation. Drie woorden zijn te sterk. Demonstrate: een mediatie-analyse toont geen mechanisme aan, ze rekent een getekend mechanisme door — het omgekeerde model (somberheid vreet zelfwaardering aan, en dáárdoor lijkt steun te “werken”) past op cross-sectionele data doorgaans even goed. Reduces … by strengthening: dat is twee keer een causale pijl, en bij één meetmoment is zelfs de volgorde van de drie variabelen niet vastgelegd — wie somber is, kan ook minder steun zijn gaan ervaren of rapporteren. En fully (mediated): dat steunt op een niet-significant direct effect, en niet-significant is niet nul — met meer deelnemers was er misschien gewoon een direct effect zichtbaar geweest. Wat je wél mag opschrijven: de samenhang tussen steun en klachten is verenigbaar met een route via zelfwaardering; het ontwerp kan die route niet van zijn omkering of van een gemeenschappelijke oorzaak onderscheiden.
Uitwerking doe-opgave
Stap één: 3.12 + 4.97 = 8.09 — de boekhouding sluit precies, en dat doet ze bij deze analyse altijd; het totale effect wordt verdeeld, er raakt niets zoek. Stap twee: de schattingen zijn identiek, maar de intervalgrenzen verschillen een beetje tussen de twee runs — dat is de bootstrap die met ander toeval trekt, en het hoort erbij. Stap drie is de angel: ook het omgedraaide model levert een significant indirect effect op — rond de 7.7, met een bootstrap-interval ruwweg van 5.4 tot 10.3, geheel boven nul, en zelfs een gróter aandeel van het totaal dan in het oorspronkelijke model. Dezelfde 120 rijen “bevestigen” dus twee tegengestelde mechanismen. De software protesteert niet, want de software toetst de tekening niet — die kwam van jou. Dat is de les van dit blok in één beeld: het significante indirecte effect van stap één bewijst het mechanisme niet, het laat zien wat de data zeggen áls het mechanisme klopt.
◠ Zelfde vorm in het boek
Hier: een totaal effect ontleed in een deel dat via een tussenstation loopt en een deel dat er buitenom gaat.
In het boek: W11 — Het doorgegeven verschil.
Daar wordt het verschil letterlijk doorgegeven — en daar staat ook de waarschuwing die hier de hoofdles is: wie de pijlen tekent, is de verteller, niet de data.
TODO: stem-pas. Data fictief-maar-plausibel (gegenereerd, 10_data/genereer_nazorg_therapietrouw_terugval.R); paden nagerekend: c = 8.09, a = 9.85, b = 0.505, c′ = 3.12, a·b = 4.97 (61%), c′ + a·b = c sluit exact. Bootstrap-BI geverifieerd: eigen run (5000, seed 123) geeft [3.19, 7.05]; blok meldt [3.14, 7.07] als JASP-run — wiebel per run is in de tekst expliciet benoemd. Omgekeerd model geverifieerd: indirect 7.72, BI [5.39, 10.28] (seed 42).