Onderzoeksmethodologie en statistiek 3:
Samenvatting: Onderdeel statistiek
4. Logistische regressie en ROC
, logistische regressie
Voorkennis opfrissen:
Voorkennis: macht van e in Excel
De constante e is gelijk aan 2,71828182845904, het grondtal voor de natuurlijke
logaritme.
We hebben voor logistische regressie een voorkennis van logaritmes nodig.
Logistische regressie:
Je herkent in logistische regressie de denkwijze van lineaire regressie en Odds ratio.
→ Hierop gaan we verder bouwen
Herhaling lineaire regressie:
Hierbij gingen we een model opstellen op basis van een
onderzoek dat we hadden gedaan. Met dit model kunnen we
achteraf voorspellingen doen.
In het regressiemodel zal je zo goed mogelijk een rechte lijn (=
de trendlijn) proberen te trekken door de verschillende data. Dit
is een eerstegraadsfunctie: Y = b1x + b0 (b-waarden worden
door SPSS berekend).
Voorspellen aan de hand van 1 onafhankelijke variabele? =
mogelijk in 2 dimensionale tekening
→ meer dan 1 onafhankelijke variabele = niet meer grafisch/
visueel voor te stellen doordat we in te veel dimensies bezig
zijn.
In spss Y waarde model
- Y gaat afhangen van X (x1, X2…)
- X is onafhankelijke variabele
- richtingscoëfficiënt geeft weer hoeveel Y gaat
veranderen als >X toe neemt
- B0 is een constante waarde, als alle andere waarden
op 0 staan, ga je als cholesterolwaarden BO hebben
Bij lineaire regressie draait het om een continue variabele (we
komen een getal uit dat oneindig veel waarden kan aannemen)
!
We kunnen dus een continue, scale variabele voorspellen aan
de hand van scale/ nominale variabelen.
, Logistische regressie:
Gelijkaardig, maar we gaan een ander soort variabele
voorspellen. Het draait hier rond het voorspellen van een
dichotome variabele.
→ vb: is een persoon ziek/ niet-ziek?
Je kan dichotome variabelen gieten in een ja-/ nee-vraag.
Voorbeeld ter illustratie:
= Onderzoek over al dan niet overleden aan hartaanval
- Horizontaal: leeftijd
- Verticaal: levend en dood
- Levend = 0
- Overleden = 1
Op basis van iemand zijn leeftijd voorspellen of de persoon die
een hartaanval krijgt, het zal overleven?
Bolletjes zijn de data van mensen die in het onderzoek zitten:
- Bij jonge mensen met hartaanval: meestal overleefd
- Bij oudere mensen: bolletjes vooral van boven
Functievoorschrift: Y = 1/ 1+e- (B0+B1*X) → vaak overleden
- b zijn coëfficiënten die door SPSS - Tussenin = mengelmoes
worden berekend → je hebt nog steeds uitschieters = variatie, maar de
→ coëfficiënten zijn wel moeilijker algemene tendens is duidelijk
te interpreteren bij logistische
regressie We merken op dat het moeilijk is om een rechte trendlijn door
deze data te trekken.
→ In ons voorbeeld is Y = kans op dood = De trendlijn gaat hier een S curve zijn.
→ In ons voorbeeld is x = leeftijd - Deze blijft lange tijd laag (begint bij 0)
- Overgangsgebied
Tussen de haakjes in de macht stond - Raar, je kan niet half dood/ half levend zijn. Het
hetzelfde als bij de formule van de lineaire valt dus moeilijk te interpreteren bij een
regressie. dichotome variabele. De hoogte van de trendlijn
gaan we interpreteren als een kans.
- vb: 0,3 aflezen op Y-as bij iemand van 60 jaar =
je hebt 30% kans om te sterven aan een
hartaanval en 70% kans om te overleven.
- Deze eindigt hoog (eindigt bij 1)
→ We willen hier het functievoorschrift van vinden. Met die
formule kunnen we de kans op sterven/ overleven
(complement) na een hartaanval voorspellen aan de hand van
de leeftijd.
,Dit moet je niet zelf bedenken en deze uitleg wordt niet
bevraagd op het examen!
Je moet wel begrijpen wat er gebeurt om zo de output correct
te kunnen interpreteren.
Functievoorschrift:
Kans op dood = 1/ 1+e- (B0 + B1 x leeftijd)
→ We willen deze formule herleiden naar wat we kennen. We
willen dus de formule uit de macht halen.
Hoe?
Werken met Odds:
- Odds = breuk van 2 kansen
- Kans dat iemand overlijdt / 1 - kans dat die wel dood
gaat
→ Als je de Odds wilt berekenen krijg je dus eigenlijk dezelfde
formule in de teller en 1 - de formule in de noemer.
Je kan de grote noemer in een gelijke noemer zetten.
Rekenregel: delen door een breuk = vermenigvuldigen van het
omgekeerde.
Vervolgens zie je dat de noemer van het eerste lid hetzelfde is
als de teller van het tweede lid. Je kan deze dus schrappen =
vereenvoudigen.
Je blijft op dit moment over met 1/ e- (B0 + B1 x leeftijd), maar
vanwege de negatieve macht kan je de noemer naar de teller
brengen en heb je geen breuk meer.
Om van de e af te geraken kan je het natuurlijk logaritme
nemen (ln).
- Logaritme: gaat zich afvragen tot welke macht het e
moet doen om (B0 + B1 x leeftijd) te krijgen.
→ het antwoord is makkelijk, want ln en e heffen elkaar
dus op = B0 + B1 x leeftijd
Logit = logaritme van odds
→ computer gaat deze lineaire regressie berekenen
,→ We kunnen ons afvragen wat er zal gebeuren als onze
leeftijd met 1 jaar zal toenemen.
Rekenregel van machten: Je mag een macht die een optelling
is, splitsen over een vermenigvuldiging van hetzelfde grondtal.
Wat zijn de odds bij iemand die 20 jaar is?
- X = 20 invullen
- odds gaan veranderen naarmate je ouder wordt
Wat zijn de odds bij iemand die 21 jaar wordt?
- X = 21 invullen
- buiten die 1 jaar verschil, is dit exact hetzelfde als de
formule van 20 jaar
→ We gaan opzoek gaan naar hoe u odds veranderen als je 1
jaar ouder wordt.
- We gaan dit doen door de 21 te splitsen in 20 en 1
Je kan zien dat het groene hetzelfde is voor iemand van 20
jaar en dat E tot macht B1 er is bijgekomen voor 21 jaar.
De odds van iemand van 21 jaar is dus gelijk aan de odds van
iemand van 20 jaar, vermenigvuldigd met E tot macht B1.
Je kan de Odds van de 20 jarige overbrengen naar het andere
lid. Dit is dan een breuk van 2 Odds = Odds ratio.
⇒ EB1 geeft dus de Odds ratio voor als je een jaartje ouder
wordt.
- Bij kansen kan je kwantitatief niets zeggen
- Je kan de kansen wel berekenen met een logistische
regressie formule
Odds = breuk van 2 kansen.
1. Odds 21 jaar:
= kans dat je dood gaat aan een hartaanval op 21 jaar
op de kans dat je niet doodgaat aan een hartaanval op
21 jaar (1 - die kans)
2. Odds 2O jaar:
= kans dat je dood gaat aan een hartaanval op 20 jaar
op de kans dat je niet doodgaat aan een hartaanval op
20 jaar (1 - die kans)
Odds ratio = 1,094 voor iemand van 21 jaar tov 20 jaar (per 1
jaar)
- aflezen in het outcomevenster ‘variables in the
equation’
→ per jaar dat je ouder wordt gaan u Odds vergroten, want je
moet dit vermenigvuldigen met 1,094
- Hoewel dit getal dicht tegen de 1 ligt, ga je nog steeds
elk jaar grotere Odds krijgen
,Logistische Regressie
Waarom logistische regressie en niet lineaire regressie?
Bij logistische regressie wordt de afhankelijke
variabele (y) beschouwd als een kans P:
- Bij P =1 : de case bezit de eigenschap wel.
- Bij P=0 : de case bezit de eigenschap niet.
In database hartfalen: De afhankelijke variabele (y)
is de kans P op dood:
- Bij P =1 : de persoon overleeft een
hartaanval niet. (=dood)
- Bij P=0 : de persoon overleeft een
hartaanval. (=levend)
Veranderingen in kans P verlopen niet lineair:
- Veranderingen het grootst in het midden
(P=0,5)
- Aan de uiteinden verandert P nauwelijks
(P=0 of P=1)
Lineaire regressie niet mogelijk als de outcome
variabele dichotoom is!
→ Bij lineaire regressie kan y (outcome variabele)
waarde aannemen die kleiner zijn dan 0 of groter
dan 1.
De kans P:
- Categorie 1: P
- Categorie 0: 1 - P
- Want som van alle kansen =1!
De kansverhouding (Odds)
- Odds = P/(1-P)
- Als kansen op beide gebeurtenissen gelijk zijn, is de kansverhouding = 1.
De logit (ln)
- Logit = ln (P/(1-P))
- Als kansen op beide gebeurtenissen gelijk zijn is de logit gelijk aan 0.
Kans P = S-curve
Logit = rechte lijn → lineaire vergelijking
Logit = B0 + B1 X1 + B2 X2+ ……+ Bk Xk
- B0 = intercept (constant). Snijpunt met y-as.
- Bk = partiële logistische regressiecoëfficiënten (positief of negatief)
,Berekening van de kans P uit logit:
met logit = B0 + B1 X1 + B2 X2 + ……+ Bk Xk
Voorbeeld aan de hand van database hartfalen
- De logistische regressie is analoog aan de (multiple) lineaire regressie, maar hier is
de outcome variabele niet continu, maar wel categorisch (dichotoom).
- Berekening van kansen
- Database Hartfalen
- Gegevens van patiënten die een hartaanval hebben overleefd of zijn
gestorven.
- Op basis van een aantal parameters (zoals de leeftijd, het gewicht,
hartmassage toegediend?,…) wil je voorspellen of iemand een hartaanval zal
overleven of niet (stel: 0 = levend, 1 = dood).
- Kans dat iemand overlijdt op basis van een aantal onafhankelijke factoren?
- Welke combinatie van factoren is determinerend/ voorspellend voor de
(variabele) outcome? Kunnen we de kans om te overlijden voorspellen op
basis van deze onafhankelijke variabelen?
Wat moeten we doen?
a) Probeer te voorspellen of iemand een hartaanval zal overleven of niet (0 = levend, 1
= dood), door de kans dat iemand overlijdt op basis van de gegeven onafhankelijke
factoren te bepalen.
b) Bereken de kans op dood na hartfalen voor een 39-jarige patiënt die niet in shock
gaat, wel ondervoed is, geen alcohol misbruikt maar wel reeds een infarct had in het
verleden. → vergelijking invullen
4 veronderstellingen bij logistische regressie:
1. Afhankelijke variabele is dichotoom = dat is de reden waarom we logistische
regressie gaan uitvoeren
2. Het verband is causaal = er moet een oorzakelijk verband zijn tussen de afhankelijke
en onafhankelijke variabele
3. Het regressiemodel is lineair (opsporen van outliers)
a. Dit is moeilijker op te sporen.
4. Geen multicollineariteit (geen correlatiecoëfficiënt ≥ 0,9)
= Als je meer dan 1 continue variabele hebt (vb: leeftijd), moet je
correlatiecoëfficiënten berekenen voor die variabelen. Je moet zien of deze extreem
hard met elkaar gecorreleerd worden. Indien een variabele extreem gecorelleerd is
(≥ 0,9), moet deze uit de vergelijking gehaald worden.
a. Conclusie: ≥ 2 continue onafhankelijke variabelen: eerst correlatiecoëfficiënt
berekenen ≥ 0,9, één verwijderen.
, Steeds controleren van deze vooronderstellingen
- Is het regressiemodel lineair?
- Moeilijk te controleren → outliers opsporen
- Geen multicollineariteit
- Er mag geen correlatiecoëfficiënt aanwezig zijn ≥ 0,9
Gegevens database:
In deze database zitten gegevens van patiënten waarvan gekend is of ze uit een kritische
toestand (hartaanval) gekomen zijn. [Outcome] = levend of dood.
Volgende kenmerken zijn gekend:
- Dichotome variabele Shock (zijn ze in shock gegaan, i.e. toestand waarbij te weinig
efficiënte zuurstofrijke bevoorrading via het bloed van de hersenen plaatsvond).
- Dichotome variabele Malnutrition: Ondervoeding
- Dichotome variabele Alcohol: alcohol misbruik
- Dichotome variabele Infarct: trad een infarct op in de afgelopen maand
- Continue variabele Leeftijd
→ Onderzoeksvraag: Welke combinatie van factoren is determinerend/ voorspellend voor de
(variabele) outcome (we moeten dus een model opstellen).
Controle veronderstellingen + berekening aan de hand van SPSS:
In de database bij variable view zien we dat alle variabelen zijn aangeduid als scale
variabelen. De enige echte continue scale variabele is leeftijd, maar de andere variabelen
zijn gecodeerd als 0 en 1 (indien anders gecodeerd → dummyvariabelen).
Is het regressiemodel lineair?
Hoe? = Outliers opsporen
→ analyze
→ regression
→ binary logistic
→ options
→ casewise listing of residuals
- In de output zal je zien dat proefpersoon 32, 58 en
98 buiten de 2 standaarddeviaties vallen.
→ Dit zijn vaak mensen waarbij je de outcome niet
zou verwachten
→ je moet voor elk van deze proefpersonen
onderzoeken hoe dit komt (vb: is dit een meetfout)
- Proefpersoon 98: intuïtief gezien zouden we
niet verwachten dat deze persoon zou
overlijden, maar we zien geen meetfouten.
⇒ De veronderstelling is dan gecheckt
Multicollineariteit checken Geen multicollineariteit
- Pearson (of Spearman) - Hier enkel leeftijd als continue variabele → dus
correlatiematrix correlatie kan/hoeft niet nagegaan worden
- Er mag geen correlatiecoëfficiënt
aanwezig zijn ≥ 0,9
- Indien r ≥ 0,9 aanwezig, maar 1 van
de 2 variabelen in het model
integreren.
- Enkel bij continue variabelen!
, → Analyze
→ Regression
→ Binary Logistic (wanneer een er dichotome variabele is)
Covariates = onafhankelijke variabelen.
Alle (nominale en ordinale) categorische factoren moeten
hier aangeduid worden. Als je de onafhankelijke variabelen
hier plaatst, zal SPSS zelf dummyvariabelen aanmaken.
Er moeten dus niet apart dummy’s aangemaakt worden
voor de categorische variabelen! Dit doet het systeem zelf!
Als we dus op het examen zien dat de variabelen niet juist
zijn gecodeerd of dat er meer categorieën zijn, moet je dit
dus aangeven bij ‘categorical’.
Voor de duidelijkheid: dichotome variabelen die al uit 0 en
1 bestaan (zoals hier), moeten we niet noodzakelijk als
categorische variabelen definiëren!
- Indien wel: dan gaat SPSS opnieuw dummy’s
maken en zal SPSS alle 0 en 1tjes omgekeerd
coderen
Enter Methode gebruiken
→ Hierbij worden alle variabelen opgenomen in het model