Logistische Regression
Über das Buch
Das Buch ist bei Springer erschienen (Open Access): Download PDF
Von der Buchrückseite:
Dieses Open-Access-Buch gibt eine anwendungsorientierte Einführung in die logistische Regression. Ausgehend von Grundkenntnissen der linearen Regression wird diese zuerst als zweistufiges Modell interpretiert, was den Übergang zur logistischen Regression vereinfacht. Neben einer kompakten Einführung der entsprechenden Theorie liegt der Fokus auch auf der Umsetzung mit der Statistiksoftware R und der richtigen Formulierung der entsprechenden Ergebnisse. Alle Schritte werden anhand zahlreicher Beispiele illustriert. Hinzu kommt eine Einführung in die Klassifikation mit den entsprechenden Begriffen.
Errata
Hier verfügbar als PDF (Stand: 10. Januar 2022).
Feedback
Falls Sie Fehler gefunden haben, Fragen oder Feedback haben: Bitte per E-Mail melden. Besten Dank!
Datensätze
Hier verfügbar.
R-Skripts
Beispiel: Spende
Abbildung 4.1 kann mit folgendem R-Code erstellt werden.
<- "https://stat.ethz.ch/~meier/teaching/book-logreg"
book.url load(url(file.path(book.url, "data/spende.rda")))
library(ggplot2)
ggplot(spende, aes(x = alter)) + geom_histogram() + facet_wrap(~ antwort) + ylab("Anzahl")
Abbildung 4.2 kann mit folgendem R-Code erstellt werden.
<- glm(antwort ~ alter, family = binomial(link = "logit"), data = spende)
fit.spende
par(mfrow = c(1, 3), tcl = -0.4, mar = c(3, 3, 1.3, 0.2), mgp = c(1.5, 0.4, 0),
cex = 1, cex.axis = 1.1, cex.lab = 1.2)
<- seq(20, 80)
alter.grid <- predict(fit.spende, newdata = data.frame(alter = alter.grid),
pred.link type = "link", se.fit = TRUE)
<- 1.96
quant <- pred.link$fit + quant * pred.link$se.fit
pred.upr <- pred.link$fit - quant * pred.link$se.fit
pred.lwr
<- function(x, y, lwr, upr, xlab, ylab, fn = function(x) x,
plotCI col = "lightgrey"){
plot(x, fn(y), type = "n", xlab = xlab, ylab = ylab)
polygon(c(x, rev(x)), c(fn(lwr), rev(fn(upr))), col = col, border = NA)
lines(x, fn(y))
}
## Skala log-odds
plotCI(alter.grid, pred.link$fit, pred.lwr, pred.upr, xlab = "Alter", ylab = "Log-Odds")
## Skala Odds
plotCI(alter.grid, pred.link$fit, pred.lwr, pred.upr, xlab = "Alter", ylab = "Odds", fn = exp)
## Skala log-odds
plotCI(alter.grid, pred.link$fit, pred.lwr, pred.upr, xlab = "Alter",
ylab = "P(spende = ja)", fn = fit.spende$family$linkinv)