Prüfung der Annahmen der Linearen Regression in R

Häufig kommt die Software R bei einer statistischen Beratung zum Einsatz. Im Rahmen einer R-Auswertung wird dabei die lineare Regression oft verwendet. In diesem Artikel befassen wir uns mit der Prüfung der Regressionannahmen in R. Diese lauten:

  1. Das Modell ist korrekt spezifiziert, das heißt
    1. es ist linear in seinen Parametern (Achsenabschnitt und Steigung)
    2. es enthält alle relevanten Variablen
    3. die Zahl der zuschanzenden Parameter ist kleiner als die Anzahl an Beobachtungen.
  2. Die Fehler haben konstante Varianzen (Homoskedastizität)
  3. Die Störgrößen sind unkorreliert (keine Autokorrelation)
  4. Die Störgrößen sind normalverteilt
  5. Zwischen den unabhängigen Variablen existiert keine lineare Abhängigkeit (keine perfekte Multikollinearität)

Der Datensatz

Wir verwenden den Datensatz longley aus dem Paket datasets. Hierzu laden wir zunächst mit dem library(datasets) das entsprechende Paket. Dabei laden wir den Datensatz mit dem Befehl data(longley) in den Workspace von R. Kommendes Bild zeigt das aufgerufene Objekt longley in der R-Konsole.

Hierbei enthält dieser Datensatz unter Anderem das Bruttosozialprodukt, die Anzahl an Anzahl der Mitglieder der Streitkräfte und Anzahl der Berufstätigen in den Jahren 1947 bis 1962. Bei unserem Modell ist das Bruttosozialprodukt die abhängige Variable, die beiden anderen genannten Variablen die unabhängigen Variablen. Dies geschieht mit dem Befehl lm() in folgendem Screenshot. Dabei wurden die Ergebnisse als Objekt modell in dem Workspace von R abgespeichert.

Prüfung der Annahmen der linearen Regression

Für die Prüfung der Modellannahmen werden folgende Pakete in R geladen: lmtest und car. Dabei beinhaltet das Paket car eine Funktion zur Berechnung des Durbin-Watson-Tests auf Autokorrelation, wie auch zur Bestimmung der Varianzinflationsfaktoren (VIF). Weiterhin enthält das Paket lmtest demgegenüber eine Vielzahl an Tests für ein lineares Regressionsmodell. Verwenden Sie die R-Funktionen zu dem Rainbow-, RESET- und Breusch-Pagan-Test.

1. Korrekte Modellspezifikation und Linearität

Für die Prüfung der Modellspezifikation wird der RESET-Test verwendet. Dabei zeigt der kommende Output die Ergebnisse für unser Modell.

Damit ergibt sich ein nicht-signifikantes Ergebnis, F(2, 11) = 1,59, p = 0,248. Somit ist von einer korrekten Modellspezifikation auszugehen.

Weiterhin wurde der Rainbow-Test verwendet. Dieser prüft, ob das Modell der Linearitätsannahme entspricht. Dabei deutet ein signifikantes Ergebnis auf eine Verletzung der Linearität hin. Kommender Output zeigt uns das Ergebnis.

Der Rainbow-Test liefert hierbei ein nicht-signifikantes Ergebnis, F(8, 5) = 1,41, p = 0,368. Somit liegt keine signifikante Verletzung der Linearitätsannahme vor.

2. Homoskedastizität

Hierzu wird der Breusch-Pagan-Test verwendet. Dies erfolgt mittels des Befehls bptest(). Hierbei liefert der Test ein nicht-signifikantes Ergebnis, \chi^2(2) = 1,61, p = 0,448. Somit liegt keine signifikante Heteroskedastizität vor. Die Annahme ist erfüllt.

3. Keine Autokorrelation

Um auf Autokorrelation zu prüfen wird der Durbin-Watson-Test benutzt. Diesen erhalten wir in R mit der Funktion durbinWatsonTest(). Hierbei ergibt sich ein nicht-signifikantes Ergebnis, DW = 1,53, p = 0,11. Somit muss nicht von Autokorrelation ausgegangen werden. Die Annahme ist somit erfüllt.

4. Normalverteilung

Kommende Grafik dient der Prüfung der Normalverteilungsannahme. Dabei handelt sich um ein Quantil-Quantil-Plot. Es zeigt sich, dass die Punkte nahezu auf einer Linie liegen. Am rechten Rand der Verteilung gibt es etwas Abweichungen. Im Quantil-Quantil-Plot oben zu erkennen. Insgesamt kann jedoch eine annähernde Normalverteiltheit angenommen werden.

5. Keine Multikollinearität

Zum Abschluss prüfen wir auf Multikollinearität. Deswegen verwenden wir die VIF, welche Sie durch die Funktion vif() erhalten. Dabei zeigt der kommende Screenshot die Ergebnisse unserer Regression. Hierbei zeigt sich, dass beide unabhängigen Variablen kein Multikollinearitätsproblem verursachen. Da beide VIF kleiner 10 sind.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.