<- glm(AV ~ UV, data = Datensatz, family = "binomial")
fit summary(fit)
Übungsblatt 10
Logistische Regressionsmodelle
Sei \(P(X = 1)\) die Wahrscheinlichkeit dafür, dass es morgen regnet und \(P(X = 0)\) die Wahrscheinlichkeit dafür, dass es morgen nicht regnet.
Geben Sie an, welche der unteren Aussagen äquivalent sind.
- \(P(X = 1) = 0.5\)
- \(P(X = 1) > 0.5\)
- \(P(X = 1) < 0.5\)
- \(Odds > 1\)
- \(Odds = 1\)
- \(Odds < 1\)
- \(Log - Odds = 0\)
- \(Log - Odds < 0\)
- \(Log - Odds > 0\)
Lösung- und 5. und 7.
- und 4. und 9.
- und 6. und 8.
Berechnen Sie die Odds und die Log-Odds dafür, dass es morgen regnet, falls die Wahrscheinlichkeit hierfür 0.5 ist.
Lösung\[\frac{P(X = 1)}{P(X = 0)} = \frac{0.5}{0.5} = 1\]
\[\ln\left( \frac{P(X = 1)}{P(X = 0)} \right) = ln(1) = 0\]
Berechnen Sie die Odds und die Log-Odds dafür, dass es morgen regnet, falls die Wahrscheinlichkeit hierfür 0.75 ist.
Lösung\[\frac{P(X = 1)}{P(X = 0)} = \frac{0.75}{0.25} = 3\]
\[\ln\left( \frac{P(X = 1)}{P(X = 0)} \right) = ln(3) \approx 1.10\]
Berechnen Sie die Odds und die Log-Odds dafür, dass es morgen regnet, falls die Wahrscheinlichkeit hierfür 0.25 ist.
Lösung\[\frac{P(X = 1)}{P(X = 0)} = \frac{0.25}{0.75} = \frac{1}{3}\]
\[\ln\left( \frac{P(X = 1)}{P(X = 0)} \right) = ln\left( \frac{1}{3} \right) \approx - 1.10\]
Berechnen sie die Odds und die Log-Odds dafür, dass es morgen regnet, falls es doppelt so wahrscheinlich ist, dass es morgen regnet, als dass es morgen nicht regnet.
Lösung\[\frac{P(X = 1)}{P(X = 0)} = 2\]
\[\ln\left( \frac{P(X = 1)}{P(X = 0)} \right) = ln(2) \approx 0.69\]
Berechnen sie die Odds und die Log-Odds dafür, dass es morgen regnet, falls es halb so wahrscheinlich ist, dass es morgen regnet, als dass es morgen nicht regnet.
Lösung\[\frac{P(X = 1)}{P(X = 0)} = 0.5\]
\[\ln\left( \frac{P(X = 1)}{P(X = 0)} \right) = ln(0.5) \approx - 0.69\]
Wie hoch ist die Wahrscheinlichkeit dafür, dass es morgen regnet, falls die Log-Odds hierfür 2 sind?
Lösung\[\ln\left( \frac{P(X = 1)}{P(X = 0)} \right) = 2\]
Umrechnen in Odds:
\[\frac{P(X = 1)}{P(X = 0)} = e^{2}( \approx 7.34)\]
Umrechnen in \(P(X = 1)\):
\[\frac{P(X = 1)}{1 - P(X = 1)} = e^{2}\]
\[P(X = 1) = e^{2}\left( 1 - P(X = 1) \right)\]
\[P(X = 1) = e^{2} - e^{2}P(X = 1)\]
\[P(X = 1) + e^{2}P(X = 1) = e^{2}\]
\[P(X = 1)\left( 1 + e^{2} \right) = e^{2}\]
\[P(X = 1) = \frac{e^{2}}{1 + e^{2}} \approx 0.88\]
Sie interessieren sich dafür, inwiefern die Wahrscheinlichkeit dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, davon abhängt, ob man eine Posttraumatische Belastungsstörung (PTBS) entwickelt oder nicht. Sie wählen „keine PTBS” als Referenzkategorie.
Stellen Sie die Modellgleichung für ein logistisches Regressionsmodell auf.
Lösung\[P\left( Y_{i} = 1 \middle| d_{i} \right) = \frac{e^{\alpha + \beta d_{i}}}{1 + e^{\alpha + \beta d_{i}}}\]
Interpretieren Sie die Parameter \(\alpha\), \(\beta\) und \(\alpha + \beta\).
Lösung\(\alpha\): Log-Odds dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, falls man keine PTBS entwickelt hat.
\(\beta\): Differenz der Log-Odds dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, zwischen Personen mit PTBS und Personen ohne PTBS.
\(\alpha + \beta\): Log-Odds dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, falls man eine PTBS entwickelt hat.
Interpretieren Sie die Parameter \(e^{\alpha}\), \(e^{\beta}\) und \(e^{\alpha + \beta}\).
Lösung\(e^{\alpha}\): Odds dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, falls man keine PTBS entwickelt hat.
\(e^{\beta}\): Faktor, um den die Odds dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, bei Personen mit PTBS höher sind als bei Personen ohne PTBS. \(e^{\beta}\ \)wird in Modellen mit diskretem Prädiktor auch als Odds Ratio bezeichnet und darf inhaltlich nicht verwechselt werden mit dem Risk Ratio: Faktor, um den die Wahrscheinlichkeit, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, bei Personen mit PTBS höher ist als bei Personen ohne PTBS.
\(e^{\alpha + \beta} = e^{\alpha}e^{\beta}\): Odds dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, falls man eine PTBS entwickelt hat.
Stellen Sie die statistischen Hypothesen für die folgenden Fragestellungen auf:
Hängt die Wahrscheinlichkeit dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, davon ab, ob man eine PTBS entwickelt?
Lösung\[H_{0}:e^{\beta} = 1\] \[H_{1}:e^{\beta} \neq 1\]
oder:
\[H_{0}:\beta = 0\] \[H_{1}:\beta \neq 0\]
Ist die Wahrscheinlichkeit dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, höher, wenn man eine PTBS entwickelt, als wenn man keine PTBS entwickelt?
Lösung\[H_{0}:e^{\beta} \leq 1\] \[H_{1}:e^{\beta} > 1\]
oder:
\[H_{0}:\beta \leq 0\] \[H_{1}:\beta > 0\]
Sind die Odds dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, mehr als doppelt so hoch, wenn man eine PTBS entwickelt, als wenn man keine PTBS entwickelt?
Lösung\[H_{0}:e^{\beta} \leq 2\] \[H_{1}:e^{\beta} > 2\]
oder:
\[H_{0}:\beta \leq ln(2) \approx 0.69\] \[H_{1}:\beta > ln(2) \approx 0.69\]
Ist die Wahrscheinlichkeit dafür, nach einem traumatischen Erlebnis an einer Suchtstörung zu erkranken, auch dann größer als 50%, wenn man keine PTBS entwickelt?
Lösung\[H_{0}:e^{\alpha} \leq 1\] \[H_{1}:e^{\alpha} > 1\]
Sei \(\alpha = - 1\) und \(\beta = 2\). Berechnen Sie für Personen mit und ohne PTBS jeweils die Wahrscheinlichkeit dafür, an einer Suchtstörung zu erkranken, indem Sie in die Modellgleichung einsetzen.
Lösung\[P\left( Y_{i} = 1 \middle| d_{i} \right) = \frac{e^{\alpha + \beta d_{i}}}{1 + e^{\alpha + \beta d_{i}}} = \frac{e^{- 1 + 2d_{i}}}{1 + e^{- 1 + 2d_{i}}}\]
Für Personen ohne PTBS, also Personen mit \(d_{i} = 0\): \[P\left( Y_{i} = 1 \middle| d_{i} = 0 \right) = \frac{e^{- 1 + 2 \cdot 0}}{1 + e^{- 1 + 2 \cdot 0}} = \frac{e^{- 1}}{1 + e^{- 1}} \approx 0.269\]
Für Personen mit PTBS, also Personen mit \(d_{i} = 1\): \[P\left( Y_{i} = 1 \middle| d_{i} = 1 \right) = \frac{e^{- 1 + 2 \cdot 1}}{1 + e^{- 1 + 2 \cdot 1}} = \frac{e^{1}}{1 + e^{1}} \approx 0.731\]
Rechnen Sie diese Wahrscheinlichkeiten jeweils in Odds um und setzen Sie diese in Beziehung zu den Parametern \(e^{\alpha}\), \(e^{\beta}\) und \(e^{\alpha + \beta}\).
LösungOdds für Personen ohne PTBS: \[\frac{0.269}{1 - 0.269} \approx 0.368\] \[e^{\alpha} = e^{- 1} \approx 0.368\]
Da \(e^{\alpha}\) den Odds bei Personen ohne PTBS entspricht, kommt hier (bis auf Rundungsfehler) der gleiche Wert heraus.
Odds für Personen mit PTBS: \[\frac{0.731}{1 - 0.731} \approx 2.717\] \[e^{\alpha + \beta} = e^{- 1 + 2} = e^{1} \approx 2.718\]
Da \(e^{\alpha + \beta}\) den Odds bei Personen mit PTBS entspricht, kommt hier (bis auf Rundungsfehler) der gleiche Wert heraus.
Das Odds Ratio, d.h. der Faktor, um den die Odds bei Personen mit PTBS höher sind, als bei Personen ohne PTBS ist: \[\frac{2.717}{0.368} \approx 7.383\] \[e^{\beta} = e^{2} \approx 7.389\]
Da \(e^{\beta}\) genau dem Odds Ratio entspricht, also dem Faktor, um den die Odds bei Personen mit PTBS höher sind als bei Personen ohne PTBS, kommt hier (bis auf Rundungsfehler) der gleiche Wert heraus.
Sie wollen untersuchen, inwiefern die Wahrscheinlichkeit dafür, dass Schüler*innen eine Klausur bestehen, davon abhängt, wie viel sie in der Nacht davor geschlafen haben (in Stunden). Als Referenzkategorie für die AV wählen Sie die Ausprägung „nicht bestanden”.
Stellen Sie die Modellgleichung für ein logistisches Regressionsmodell auf.
Lösung\[P\left( Y_{i} = 1 \middle| x_{i} \right) = \frac{e^{\alpha + \beta x_{i}}}{1 + e^{\alpha + \beta x_{i}}}\]
Laden Sie den Datensatz herunter und überprüfen Sie, ob die Wahrscheinlichkeit dafür, die Klausur zu bestehen, davon abhängt, wie viel die Personen in der Nacht davor geschlafen haben.
Hinweis zur Durchführung einer logistischen Regression in RLösungStatistische Hypothesen:
\[H_{0}:\beta = 0\] \[H_{1}:\beta \neq 0\]
## Daten einlesen <- read.csv2('Schlaf.csv') daten
## Logistisches Regressionsmodell <- glm(bestanden ~ schlaf, data = daten, family = "binomial") fit ## Schätzwerte und Hypothesentests summary(fit)
Call: glm(formula = bestanden ~ schlaf, family = "binomial", data = daten) Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -2.38601 0.46628 -5.117 3.10e-07 *** schlaf 0.58823 0.07543 7.799 6.25e-15 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 503.16 on 499 degrees of freedom Residual deviance: 418.66 on 498 degrees of freedom AIC: 422.66 Number of Fisher Scoring iterations: 5
Der p-Wert ist mit 0.00000000000000625 kleiner als \(\alpha = 0.005\). Wir entscheiden uns also für die \(H_{1}\) und somit dafür, dass die Wahrscheinlichkeit dafür, die Klausur zu bestehen, davon abhängt, wie viel man die Nacht davor geschlafen hat.
Berechnen Sie mit dem Befehl
confint(fit)
95%-KIs für die Parameter \(\alpha\) und \(\beta\) und interpretieren Sie diese.Lösungconfint(fit)
Waiting for profiling to be done...
2.5 % 97.5 % (Intercept) -3.3312960 -1.4990317 schlaf 0.4465953 0.7429551
Interpretation KI für \(\alpha:\) Wir gehen davon aus, dass die Log-Odds dafür, die Klausur zu bestehen, für eine Person, die in der Nacht davor nicht geschlafen hat, zwischen -3.33 und -1.50 liegen.
Interpretation KI für \(\beta:\) Wir gehen davon aus, dass die Log-Odds dafür, die Klausur zu bestehen, zwischen 0.45 und 0.74 pro Stunde Schlaf steigen.
Berechnen Sie 95%-KIs für die Parameter \(e^{\alpha}\) und \(e^{\beta}\) und interpretieren Sie diese. Hinweis: Sie können dafür direkt den Befehl
exp(confint(fit))
verwenden.Lösungexp(confint(fit))
Waiting for profiling to be done...
2.5 % 97.5 % (Intercept) 0.03574675 0.2233463 schlaf 1.56298167 2.1021384
Interpretation KI für \(e^{\alpha}:\) Wir gehen davon aus, dass die Odds dafür, die Klausur zu bestehen, für eine Person, die in der Nacht davor nicht geschlafen hat, zwischen 0.04 und 0.22 liegen.
Interpretation KI für \(e^{\beta}:\) Wir gehen davon aus, dass die Odds dafür, die Klausur zu bestehen, pro Stunde Schlaf um den Faktor 1.56 bis 2.10 steigen.
Berechnen Sie per Hand die geschätzte Wahrscheinlichkeit dafür, dass eine Person die Klausur besteht, falls sie 8 Stunden geschlafen hat. Sagen Sie vorher, ob diese Person die Klausur bestehen wird. Kontrollieren Sie ihre Ergebnisse mithilfe der R-Funktion
predict()
.Hinweis:predict(fit, newdata = Datensatz mit UV-Werten, type = "response")
LösungDie Schätzwerte \(a\) und \(b\) für die Parameter \(\alpha\) und \(\beta\) finden Sie im summary-Output. Die geschätzte Wahrscheinlichkeit für eine Person mit \(x_{i} = 8\) ist
\[\widehat{P}\left( Y_{i} = 1 \middle| x_{i} \right) = \frac{e^{a + bx_{i}}}{1 + e^{a + bx_{i}}} = \frac{e^{- 2.39 + 0.59 \cdot 8}}{1 + e^{- 2.39 + 0.59 \cdot 8}} \approx 0.91\]
Wir gehen also davon aus, dass eine Person, die in der Nacht davor 8 Stunden geschlafen hat, die Klausur mit einer Wahrscheinlichkeit von 0.91 besteht. Da diese Wahrscheinlichkeit größer als 0.5 ist, gehen wir davon aus, dass die Person die Klausur besteht.
## Vorhersage von Wahrscheinlichkeiten <- data.frame(schlaf = 8) daten_neu predict(fit, newdata = daten_neu, type = 'response')
1 0.9105049
Bonus: Schreiben Sie selbst eine R-Funktion, die Ihnen die geschätzte Wahrscheinlichkeit für beliebige UV-Werte berechnet. Hinweis: Eigene Funktionen können in R mithilfe der Funktion
function()
definiert werden. Die Syntax hierfür ist:<- function(argument1, argument2, usw.) { name_der_funktion Code, den die Funktion ausführen soll Sie können hier auf die oben definierten Argumente zurückgreifen Der Code kann auch mehrere Zeilen lang sein }
Nachdem Sie die Funktion definiert haben und den Code an die Konsole geschickt haben, können Sie die Funktion verwenden. Beispiel für eine Funktion, die zu einer Zahl x den Wert 1 addiert:
<- function(x){ plus_eins + 1 x }plus_eins(1)
[1] 2
plus_eins(9)
[1] 10
Lösung## Eigene Funktion zur Vorhersage von Wahrscheinlichkeiten <- function(schlaf) { w_vorhersage <- -2.39 a <- 0.59 b exp(a + b*schlaf) / (1 + exp(a + b*schlaf)) } w_vorhersage(0)
[1] 0.08393843
w_vorhersage(8)
[1] 0.9113313