LoslegenKostenlos starten

Modell zur Überlebenswahrscheinlichkeit von Spatzen fitten

In dieser Übung schätzt du die Wahrscheinlichkeit, dass ein Spatz einen schweren Wintersturm überlebt, basierend auf seinen körperlichen Merkmalen. Der Datensatz sparrow wurde bereits geladen. Die vorherzusagende Zielvariable ist status ("Survived", "Perished"). Die betrachteten Variablen sind:

  • total_length: Länge des Vogels von der Schnabelspitze bis zur Schwanzspitze (mm)
  • weight: in Gramm
  • humerus: Länge des Humerus ("Oberarmknochen", der den Flügel mit dem Körper verbindet) (Zoll)

Denk daran, dass du bei glm() (Docs) für ein logistisches Regressionsmodell explizit family = binomial angeben musst:

glm(formula, data = data, family = binomial)

Du wirst summary() und broom::glance() aufrufen, um unterschiedliche Funktionen zur Untersuchung eines logistischen Regressionsmodells zu sehen. Eine der Kennzahlen, die du dir ansiehst, ist das Analogon zu \(R^2\), das Pseudo-\(R^2\) genannt wird.

$$ pseudoR^2 = 1 - \frac{deviance}{null.deviance} $$

Du kannst dir die Devianz als Analogon zur Varianz vorstellen: Sie misst die Streuung in kategorialen Daten. Das Pseudo-\(R^2\) ist analog zum \(R^2\) der linearen Regression: \(R^2\) misst die „erklärte Varianz“ eines Regressionsmodells. Das Pseudo-\(R^2\) misst die „erklärte Devianz“.

Diese Übung ist Teil des Kurses

<Kurs>Überwachtes Lernen in R: Regression</Kurs>
Kurs ansehen

Übungsanweisungen

  • Wie im Video vorgeschlagen, sagst du die Ergebnisse TRUE und FALSE voraus. Erzeuge eine neue Spalte survived im Dataframe sparrow, die TRUE ist, wenn status == "Survived".
  • Erstelle die Formel fmla, die survived als Funktion der interessierenden Variablen ausdrückt. Gib sie aus.
  • Fitte ein logistisches Regressionsmodell, um die Überlebenswahrscheinlichkeit von Spatzen vorherzusagen. Weise das Modell der Variablen sparrow_model zu.
  • Rufe summary() auf, um die Koeffizienten des Modells sowie die Devianz und die Null-Devianz zu sehen.
  • Rufe glance() auf dem Modell auf, um die Devianzen und weitere Diagnosen in einem Dataframe zu sehen. Weise die Ausgabe von glance() der Variablen perf zu.
  • Berechne das Pseudo-\(R^2\).

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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 <- ___)
Code bearbeiten und ausführen