Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Gebruik de R-formule-interface met glm() om het basismodel zonder predictoren te specificeren. Stel de verklarende variabele gelijk aan 1.
  • 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 op null_model en stel direction = "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() en plot() en bereken de AUC van het stapsgewijze model met auc().

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(___)
Code bewerken en uitvoeren