Linear regression
Schat hoe een continue uitkomst verandert met een of meer factoren, bij gelijkblijvende overige factoren.
Statistisch beoordeeld door Daniel Wolff op 4 november 2026 (op basis van de Engelse versie).
Klinisch voorbeeld
Verschilt de systolische bloeddruk tussen rokers en niet-rokers als leeftijd en BMI worden meegenomen, en hoeveel verandert die per levensjaar?
Wanneer te gebruiken
- De uitkomst is een continue meting, één per patiënt.
- U moet corrigeren voor andere variabelen, of de uitkomst relateren aan een continue factor zoals leeftijd of dosis.
- Uw hoofdfactor heeft twee of meer groepen (bijvoorbeeld nooit-, ex- en huidige roker) en u moet corrigeren.
- Voor een ja/nee-uitkomst zie logistische regressie, voor tijd tot een gebeurtenis zie Cox-regressie.
Aannames om te controleren
Lineariteit
De uitkomst verandert in een rechte lijn met elke continue factor. Plot de residuen tegen de voorspelde waarden en tegen elke continue factor. Is het verband gebogen, overweeg dan splines of een transformatie.
Onafhankelijke waarnemingen
Residuplots kunnen dit niet controleren. Het volgt uit het ontwerp: één meting per patiënt en geen clustering. Herhaalde metingen of patiënten in clusters geven te smalle betrouwbaarheidsintervallen, en een grotere steekproef lost dat niet op.
Constante spreiding van de residuen
Controleer of de residuen in de plot tegen de voorspelde waarden niet waaiervormig uitlopen. Ongelijke spreiding geeft bij elke steekproefgrootte onjuiste standaardfouten. Overweeg een transformatie van de uitkomst of robuuste (sandwich) standaardfouten.
Ongeveer normale residuen
Controleer met een Q-Q-plot. Matige afwijkingen doen er minder toe in grotere steekproeven, maar dit geldt alleen voor normaliteit en niet voor de twee aannames hierboven.
Geen onevenredige invloed van uitschieters
Kijk naar extreme of invloedrijke waarnemingen (bijvoorbeeld met de afstand van Cook) en controleer of de conclusie verandert zonder deze waarnemingen.
Genoeg patiënten voor het model
Te veel factoren voor de steekproefgrootte geeft instabiele schattingen. Een veelgebruikte vuistregel is ongeveer 10 tot 20 patiënten per geschatte coëfficiënt (zie Harrell, Regression Modeling Strategies).
Controleer eerst
- Residuen: normaal, constante variantie
- Geen sterke collineariteit tussen voorspellers
Wat te rapporteren
- Het verschil (of de coëfficiënt) voor uw hoofdfactor met 95%-BI
- De variabelen waarvoor u hebt gecorrigeerd, en waarom
- De exacte p-waarde, naast de schatting en het BI
- De eenheid van elke coëfficiënt (bijvoorbeeld per levensjaar)
- Het aantal patiënten in het model, en hoeveel er door ontbrekende gegevens zijn weggelaten
- Hoe u de aannames hebt gecontroleerd
Veelgemaakte fouten
Dichotomiseer een meting niet
Een continue variabele in hoog en laag knippen ("bloeddruk boven 140") gooit informatie en onderscheidend vermogen weg, en de afkapwaarde is vaak willekeurig.
Rapporteer het effect, niet alleen de p-waarde
Geef de schatting (verschil, ratio) met het 95%-betrouwbaarheidsinterval en de exacte p-waarde.
Vermijd het selecteren van variabelen stapsgewijs of op p-waarde
Het neigt naar overfitting, vertekent de schattingen en maakt betrouwbaarheidsintervallen te smal. Kies variabelen vooraf, bijvoorbeeld met een causaal diagram (DAG).
Toets geen baselineverschillen in een RCT
Bij randomisatie is elk baselineverschil per definitie toeval. Kies correctievariabelen vooraf, op basis van hoe sterk ze de uitkomst voorspellen.
Coëfficiënten causaal lezen zonder causale onderbouwing, of corrigeren voor mediatoren of colliders.
Een categorische variabele gecodeerd als 0, 1, 2 als getal invoeren, waardoor een lineaire trend wordt geschat in plaats van aparte groepen.
Voorspellen buiten het bereik van de gegevens, of het model alleen beoordelen op R-kwadraat.
Niet merken dat onvolledige gevallen stilzwijgend worden weggelaten, zodat het model minder patiënten bevat dan het cohort.
Alternatieven
| Als uw situatie is… | Gebruik |
|---|---|
| Ook een baselinewaarde van de uitkomst gemeten | ANCOVA (adjusting for baseline) |
| Herhaalde metingen of geclusterde patiënten | Linear mixed model |
| Ja/nee-uitkomst | Logistic regression |
| Tijd tot een gebeurtenis | Cox proportional hazards regression |
| Alleen twee of meer groepen, geen correctie nodig | Welch's t-test |
In uw software
# R
# Is smoker gecodeerd als 0/1/2? Gebruik dan factor(smoker), zodat het niet als getal wordt behandeld.
fit <- lm(sbp ~ smoker + age + bmi, data = cohort)
summary(fit) # de rij smoker is het gecorrigeerde verschil in gemiddelde sbp; age is de verandering per jaar
confint(fit)
plot(fit) # residuplots voor de aannames
REGRESSION
/STATISTICS COEFF OUTS CI(95) R ANOVA
/SCATTERPLOT=(*ZRESID ,*ZPRED)
/RESIDUALS HISTOGRAM(ZRESID)
/DEPENDENT sbp
/METHOD=ENTER smoker age bmi.