R-Kurs · Kapitel 8 · Lineare Regression in R
Lineare Regression in R
Die Gerade schätzen
lm(y ~ x) bestimmt die Kleinste-Quadrate-Gerade. coef gibt Achsenabschnitt
und Steigung , summary(...)$r.squared das Bestimmtheitsmaß.
R
duenger <- c(9, 18, 27, 36, 45, 54, 63, 72)
ertrag <- c(10, 15, 30, 35, 25, 30, 50, 45)
modell <- lm(ertrag ~ duenger)
coef(modell) # b0, b1
summary(modell)$r.squared # R^2
plot(duenger, ertrag); abline(modell) # Streudiagramm + Gerade Ausgabe
(Intercept) duenger
8.0357143 0.5423280
[1] 0.7697 Vorhersagen
Mit predict sagt man Werte für neue x vorher (Data-Frame mit gleichem
Spaltennamen):
R
predict(modell, newdata = data.frame(duenger = 50)) Ausgabe
1
35.15211 Schätze für x <- 1:5 und y <- c(2.1, 3.9, 6.1, 8.0, 9.9) die Regressionsgerade
und lies und ab.
💡 Tipp
lm(y ~ x); coef() liefert Achsenabschnitt und Steigung.
Lösung zeigen
R
x <- c(1, 2, 3, 4, 5)
y <- c(2.1, 3.9, 6.1, 8.0, 9.9)
m <- lm(y ~ x)
coef(m) Ausgabe
(Intercept) x
0.09 1.97 Residuenanalyse
Die Residuen prüfen die Modellgüte. Ein Residuenplot ohne Muster (zufällig um 0) spricht für ein passendes Modell.
RStruktur (Trichter, Bogen) im Residuenplot deutet auf Modellverletzungen.
resid(modell) # Residuen
fitted(modell) # vorhergesagte Werte
plot(fitted(modell), resid(modell))
abline(h = 0, lty = 2) # Null-Linie Merke:
lm(y ~ x)modelliert y in Abhängigkeit von x. Reihenfolge nicht vertauschen — die Regression von x auf y liefert eine andere Gerade.
Abruf-Quiz
Frage 1 / 2Wie schätzt man in R eine lineare Regression von y auf x?