Hoofdstuk 23 Logistische Regressie
23.1 Intro
Logistische regressieanalyse kan handig zijn om een model te maken dat een dichotome uitkomstvariabele heeft (ook wel binaire variabele genoemd). Deze dichotome uitkomst kan worden voorspeld aan de hand van één of meer predictorvariabelen.
23.2 jamovi
Klik op het tabblad “Analyse” op de knop “Regressie” en selecteer in het gedeelte “Logistieke regressie” in het menu dat verschijnt “2 resultaten (binomiaal)”. Selecteer in het vak aan de linkerkant de afhankelijke variabele en verplaats deze naar het vak met het label “Afhankelijke variabele” met behulp van de knop met het naar rechts wijzende pijltje. Selecteer in het vak aan de linkerkant alle numerieke voorspellers en verplaats ze naar het vak met het label “Covariaten” met behulp van de knop met het naar rechts wijzende pijltje. Als er categorische voorspellers zijn, verplaats ze dan naar het vak met het label “Factoren”. De resultaten worden direct getoond in het rechter “Resultaten” paneel. Je kunt naar beneden scrollen om aanvullende analyses op te geven, bijvoorbeeld om meer details over de regressiecoëfficiënten op te vragen kun je de sectie “Modelcoëfficiënten” openen. Als je bijvoorbeeld de odds-ratio’s en hun betrouwbaarheidsintervallen wilt ordenen, vink je de bijbehorende selectievakjes aan.
Hieronder zie je hoe deze resultaten tot stand zijn gekomen in de syntax.
jmv::logRegBin(
data = data,
dep = uitslag,
covs = IQ,
factors = inkomen,
blocks = list(
list(
"IQ",
"inkomen")),
refLevels = list(
list(
var="uitslag",
ref="1"),
list(
var="inkomen",
ref="laag")))
Voor het toevoegen van aanvullende analyses kun je simpelweg extra regels toevoegen aan de syntax. Zie hieronder een voorbeeld van dezelfde logistische regressie, maar dan met odds-ratio’s, betrouwbaarheidsintervallen, en een classificatietabel.
jmv::logRegBin(
data = data,
dep = uitslag,
covs = IQ,
factors = inkomen,
blocks = list(
list(
"IQ",
"inkomen")),
refLevels = list(
list(
var="uitslag",
ref="1"),
list(
var="inkomen",
ref="laag")),
ci = TRUE,
OR = TRUE,
class = TRUE,
duplicate = 10)
23.3 R
In basis R, de glm
(generalized linear model) functie kan worden aangeroepen met het argument family = binomial(link = "logit")
om een logistische regressie uit te voeren. De summary
functie toont de resultaten.
result <-
glm(uitslag ~ IQ + inkomen,
data = schoolsucces,
family = binomial(link = "logit"))
summary(result);
In het rosetta
package, the logRegr
functie gebruikt base R’s glm
functie om de output te presenteren gelijkend op SPSS.
Met meerdere predictoren, gebruik collinearity=TRUE
, om collinearity diagnostics te bekijken. Als er maar één voorspeller is, kun je een visualisatie van de ruwe data, de (binned) gemiddelden en de logistieke curve opvragen door gebruik te maken van plot=TRUE
.
rosetta::logRegr(uitslag ~ IQ + inkomen,
data = schoolsucces,
plot = TRUE)
23.4 SPSS
In SPSS, wordt het LOGISTIC REGRESSION
commando gebruikt. Omdat inkomen een categorische variabele is, moet dat apart worden aangegeven. Dit hoeft dus niet in een analyse met alleen maar intervalvariabelen.
LOGISTIC REGRESSION VARIABLES uitslag
/METHOD=ENTER IQ inkomen
/CONTRAST (inkomen)=Indicator
/CRITERIA=PIN(.05) POUT(.10) ITERATE(20) CUT(.5).
Ook hier kunnen aan de syntax extra commando’s worden toegevoegd, zoals betrouwbaarheidsintervallen voor de odds ratio’s en classificatieplots.
LOGISTIC REGRESSION VARIABLES uitslag
/METHOD=ENTER IQ inkomen
/CONTRAST (inkomen)=Indicator
/CLASSPLOT
/PRINT=CI(95)
/CRITERIA=PIN(.05) POUT(.10) ITERATE(20) CUT(.5).