R: so plotten sie vorhergesagte Werte

Von Fabian
Kategorie: R
Lesezeit: 3 Minuten

Oft möchte man die vorhergesagten Werte eines Regressionsmodells in R darstellen, um die Unterschiede zwischen den vorhergesagten Werten und den tatsächlichen Werten zu visualisieren.

Dieses Tutorial zeigt anhand von Beispielen, wie man diese Art von Plot in Base R und ggplot2 erstellt.

Beispiel 1: Plot von vorhergesagten vs. tatsächlichen Werten in Base R

Der folgende Code zeigt, wie man ein multiples lineares Regressionsmodell in R anpasst und dann eine Darstellung der vorhergesagten gegenüber den tatsächlichen Werten erstellt:

#erstelle Daten
df <- data.frame(x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#multiples lineares Regressionsmodell anpassen
model <- lm(y ~ x1 + x2, data=df)

#vorhergesagte vs. tatsächliche Werte plotten
plot(x=predict(model), y=df$y,
     xlab='Predicted Values',
     ylab='Actual Values',
     main='Predicted vs. Actual Values')


#Diagonale Linie für geschätzte Regressionslinie hinzufügen
abline(a=0, b=1)

Plot der vorhergesagten Werte in R

Die x-Achse zeigt die vorhergesagten Werte des Modells und die y-Achse die tatsächlichen Werte des Datensatzes an. Die diagonale Linie in der Mitte des Diagramms ist die geschätzte Regressionslinie.

Da jeder der Datenpunkte ziemlich nahe an der geschätzten Regressionslinie liegt, zeigt dies, dass das Regressionsmodell die Daten ziemlich gut anpasst.

Wir können auch einen Dataframe erstellen, der die tatsächlichen und vorhergesagten Werte für jeden Datenpunkt zeigt:

#Erstellen eines Dataframes mit tatsächlichen und vorhergesagten Werten
values <- data.frame(actual=df$y, predicted=predict(model))

#Dataframe anzeigen
values

   actual predicted
1      22  22.54878
2      24  23.56707
3      24  23.96341
4      25  24.98171
5      25  25.37805
6      27  26.79268
7      29  28.60366
8      31  30.41463
9      32  33.86585
10     36  34.88415

Beispiel 2: Plot von vorhergesagten vs. tatsächlichen Werten in ggplot2

Der folgende Code zeigt, wie man mit dem Datenvisualisierungspaket ggplot2 ein Diagramm der vorhergesagten gegenüber den tatsächlichen Werten erstellt:

library(ggplot2) 

#create data
df <- data.frame(x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#multiples lineares Regressionsmodell anpassen
model <- lm(y ~ x1 + x2, data=df)

#vorhergesagte vs. tatsächliche Werte plotten
ggplot(df, aes(x=predict(model), y=y)) + 
  geom_point() +
  geom_abline(intercept=0, slope=1) +
  labs(x='Predicted Values', y='Actual Values', title='Predicted vs. Actual Values')

Predictedr

Auch hier zeigt die x-Achse die vom Modell vorhergesagten Werte und die y-Achse die tatsächlichen Werte aus dem Datensatz an.

Zusätzliche Ressourcen

Erstellung eines Residualdiagramms in R
Erstellung eines Histogramms der Residuen in R
Berechnung standardisierter Residuen in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: