So plotten sie eine logistische Regressionskurve in R

Von Fabian
Kategorie: R
Lesezeit: 2 Minuten

Oft ist man daran interessiert, die Kurve eines angepassten logistischen Regressionsmodells in R zu zeichnen.

Glücklicherweise ist dies recht einfach zu bewerkstelligen, und dieses Tutorial erklärt, wie man dies sowohl in Base R als auch in ggplot2 tun kann.

Beispiel: Plotten einer logistischen Regressionskurve in Base R

Der folgende Code zeigt, wie man ein logistisches Regressionsmodell mit Variablen aus dem integrierten mtcars-Datensatz in R anpasst und dann die logistische Regressionskurve darstellt:

#logistisches Regressionsmodell anpassen
model <- glm(vs ~ hp, data=mtcars, family=binomial)

#Definieren eines neuen Dataframes, der die Vorhersagevariable enthält
newdata <- data.frame(hp=seq(min(mtcars$hp), max(mtcars$hp),len=500))

#Verwendung des angepassten Modells zur Vorhersage der Werte von vs
newdata$vs = predict(model, newdata, type="response")

#logistische Regressionskurve plotten
plot(vs ~ hp, data=mtcars, col="steelblue")
lines(vs ~ hp, newdata, lwd=2)

Logistische Regressionskurve in base R

Die x-Achse zeigt die Werte der Prädiktorvariable hp und die y-Achse zeigt die vorhergesagte Wahrscheinlichkeit der Antwortvariable am.

Es ist deutlich zu erkennen, dass höhere Werte der Prädiktorvariablen hp mit geringeren Wahrscheinlichkeiten verbunden sind, dass die Antwortvariable vs gleich 1 ist.

Beispiel: Plotten einer logistischen Regressionskurve in ggplot2

Der folgende Code zeigt, wie man dasselbe logistische Regressionsmodell anpasst und die logistische Regressionskurve mithilfe der Datenvisualisierungsbibliothek ggplot2 darstellt:

library(ggplot2)

#logistische Regressionskurve plotten
ggplot(mtcars, aes(x=hp, y=vs)) + 
  geom_point(alpha=.5) +
  stat_smooth(method="glm", se=FALSE, method.args = list(family=binomial))

Logistische Regressionskurve in ggplot2

Beachten Sie, dass dies genau die gleiche Kurve ist, die im vorherigen Beispiel mit Base R erzeugt wurde.

Fühlen Sie sich frei, auch den Stil der Kurve zu ändern. Wir könnten zum Beispiel die Kurve in eine rote gestrichelte Linie verwandeln:

library(ggplot2)

#Logistische Regressionskurve plotten
ggplot(mtcars, aes(x=hp, y=vs)) + 
  geom_point(alpha=.5) +
  stat_smooth(method="glm", se=FALSE, method.args = list(family=binomial),
              col="red", lty=2)

LogistischeKurve

Zusätzliche Ressourcen

Einführung in die logistische Regression
Ausführung der logistischen Regression in R (Schritt für Schritt)
Logistische Regression in Python durchführen (Schritt-für-Schritt)
Wie man die seq-Funktion in R verwendet

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: