Een stapsgewijs regressiemodel bouwen
Als er geen vakspecifieke expertise is, kan stepwise regression helpen bij het zoeken naar de belangrijkste voorspellers van de uitkomst van interesse.
In deze oefening gebruik je een forward stapsgewijze aanpak om predictoren één voor één aan het model toe te voegen totdat er geen extra voordeel meer te zien is. De donors-gegevensset is voor je geladen.
Deze oefening maakt deel uit van de cursus
Supervised Learning in R: Classificatie
Oefeninstructies
- Gebruik de R-formule-interface met
glm()om het basismodel zonder predictoren te specificeren. Stel de verklarende variabele gelijk aan1. - Gebruik de R-formule-interface opnieuw met
glm()om het model met alle predictoren te specificeren. - Pas
step()toe op deze modellen om forward stepwise regression uit te voeren. Zet het eerste argument opnull_modelen steldirection = "forward"in. Dit kan even duren (tot 10 à 15 seconden), omdat je computer best veel verschillende modellen moet fitten om de stapsgewijze selectie uit te voeren. - Maak een vector met voorspelde kansen met de functie
predict(). - Plot de ROC-curve met
roc()enplot()en bereken de AUC van het stapsgewijze model metauc().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Specify a null model with no predictors
null_model <- ___(___, data = ___, family = "___")
# Specify the full model using all of the potential predictors
full_model <- ___
# Use a forward stepwise algorithm to build a parsimonious model
step_model <- step(___, scope = list(lower = null_model, upper = full_model), direction = "___")
# Estimate the stepwise donation probability
step_prob <- ___
# Plot the ROC of the stepwise model
library(pROC)
ROC <- ___
plot(___, col = "red")
auc(___)