Code Beispiele für Woche 11

Lineare Regression in R

Verwendung von lm() und summary()

Definition

lm() ist eine Funktion in R, die für die Durchführung einer linearen Regression verwendet wird, um die Koeffizienten des linearen Modells zu schätzen. Die Funktion summary() bietet eine Zusammenfassung der Regressionsergebnisse, einschließlich Regressionskoeffizienten, statistischer Signifikanz und Modellgüte.

Beispiel

# Linear regression model
model <- lm(mpg ~ wt + cyl, data = mtcars)

# Summary of the model
summary(model)

Nullhypothese und Alternativhypothese

Für jeden Koeffizienten in der linearen Regression: - Nullhypothese (H0): Der Koeffizient ist gleich 0 (kein Effekt). - Alternativhypothese (H1): Der Koeffizient ist nicht gleich 0 (ein Effekt ist vorhanden).

Zugriff auf Elemente eines linearen Regressionsmodells in R

Nachdem ein lineares Regressionsmodell mit der Funktion lm() erstellt wurde, können verschiedene Elemente des Modells mit dem $-Operator abgerufen werden. Dies ermöglicht einen direkten Zugriff auf die Komponenten des Modells für weitere Analysen oder Berichte.

Beispiel

Erstellung eines linearen Modells:

model <- lm(mpg ~ wt + qsec, data = mtcars)

Zugriff auf Modellkomponenten

Hier sind einige der wichtigsten Modellkomponenten, auf die zugegriffen werden kann:

  • Koeffizienten des Modells:
model$coefficients
  • Residuen des Modells:
model$residuals
  • Fitted (vorhergesagte) Werte:
model$fitted.values
  • Anzahl der Freiheitsgrade:
model$df.residual
  • Zusammenfassung der Residuen:
summary(model$residuals)
  • Zusammenfassung der Koeffizienten:
summary(model)$coefficients
  • R-Quadrat und angepasstes R-Quadrat:
summary(model)$r.squared
summary(model)$adj.r.squared
  • F-Statistik:
summary(model)$fstatistic

Plotten von Regressionslinien mit Konfidenzintervallen

Definition

Das Plotten von Regressionslinien mit Konfidenzintervallen erfolgt in R mit der ggplot2-Bibliothek. Durch Setzen von se = True in geom_smooth() werden Konfidenzintervalle um die Regressionslinie gezeichnet.

Beispiel

library(ggplot2)

# Plotting with ggplot2
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point() +
  geom_smooth(method = "lm", se = TRUE)

Annahmen der linearen Regression

Unabhängigkeit der Residuen und der Durbin-Watson-Test

Definition

Die Residuen sollten unabhängig voneinander sein. Der Durbin-Watson-Test prüft auf Autokorrelation in den Residuen.

R-Code

# Durbin-Watson test
library(lmtest)
dwtest(model)

Nullhypothese und Alternativhypothese

  • Nullhypothese (H0): Die Residuen sind unabhängig (keine Autokorrelation).
  • Alternativhypothese (H1): Die Residuen sind nicht unabhängig (Autokorrelation vorhanden).

Normalverteilung der Residuen

Definition

Die Residuen sollten normalverteilt sein. Dies kann mit einem QQ-Plot und dem Kolmogorov-Smirnov-Test überprüft werden.

Nullhypothese und Alternativhypothese (Kolmogorov-Smirnov-Test)

  • Nullhypothese (H0): Die Residuen folgen einer Normalverteilung.
  • Alternativhypothese (H1): Die Residuen folgen nicht einer Normalverteilung.

Konstante Varianz der Residuen (Homoskedastizität) und der Breusch-Pagan-Test

Definition

Die Varianz der Residuen sollte über alle Werte der unabhängigen Variablen hinweg konstant sein. Der Breusch-Pagan-Test prüft auf Heteroskedastizität.

R-Code

# Breusch-Pagan test
library(lmtest)
bptest(model)

Nullhypothese und Alternativhypothese (Breusch-Pagan-Test)

  • Nullhypothese (H0): Homoskedastizität liegt vor (konstante Varianz der Residuen).
  • Alternativhypothese (H1): Heteroskedastizität liegt vor (nicht-konstante Varianz der Residuen).