Fit een model voor de overlevingskans van mussen
In deze oefening schat je de kans dat een mus een zware winterstorm overleeft, op basis van fysieke kenmerken van de mus. De gegevensset sparrow is al ingeladen. De te voorspellen uitkomst is status ("Survived", "Perished"). De variabelen die we meenemen zijn:
total_length: lengte van de vogel van punt van de snavel tot punt van de staart (mm)weight: in gramhumerus: lengte van de humerus ("bovenarmbot" dat de vleugel met het lichaam verbindt) (inches)
Onthoud dat je bij glm() (docs) voor een logistisch regressiemodel expliciet moet aangeven dat family = binomial:
glm(formula, data = data, family = binomial)
Je roept summary() en broom::glance() aan om verschillende functies te zien
voor het onderzoeken van een logistisch regressiemodel. Een van de diagnostische maten die je bekijkt is de tegenhanger van \(R^2\), pseudo-\(R^2\) genoemd.
$$ pseudoR^2 = 1 - \frac{deviance}{null.deviance} $$
Je kunt deviantie zien als analoog aan variantie: het is een maat voor de variatie in categorische data. Pseudo-\(R^2\) is analoog aan \(R^2\) bij standaardregressie: \(R^2\) is een maat voor de "verklaarde variantie" van een regressiemodel. Pseudo-\(R^2\) is een maat voor de "verklaarde deviantie".
Deze oefening maakt deel uit van de cursus
Supervised Learning in R: Regressie
Oefeninstructies
- Zoals in de video voorgesteld, ga je voorspellen op de uitkomsten
TRUEenFALSE. Maak een nieuwe kolomsurvivedin de data framesparrowdie TRUE is wanneerstatus == "Survived". - Maak de formule
fmladiesurviveduitdrukt als functie van de relevante variabelen. Print deze. - Fit een logistisch regressiemodel om de overlevingskans van mussen te voorspellen. Ken het model toe aan de variabele
sparrow_model. - Roep
summary()aan om de coëfficiënten van het model, de deviantie en de nuldeviantie te zien. - Roep
glance()aan op het model om de deviantie(s) en andere diagnostiek in een data frame te zien. Ken de output vanglance()toe aan de variabeleperf. - Bereken pseudo-\(R^2\).
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# sparrow is available
summary(sparrow)
# Create the survived column
sparrow$survived <- ___
# Create the formula
(fmla <- _____)
# Fit the logistic regression model
sparrow_model <- ___
# Call summary
___
# Call glance
(perf <- ___)
# Calculate pseudo-R-squared
(pseudoR2 <- ___)