Wie überprüft man die Voraussetzung der Normalverteilung der Residuen für das lineare Regressionsmodell in R und SPSS?
Definition
In einer linearen Regression wird versucht, eine lineare Abhängigkeit zwischen einer abhängigen Variable y und einer oder mehreren unabhängigen Variablen x zu modellieren. Ein wichtiger Annahme hierbei ist, dass die Residuen (der Unterschied zwischen den beobachteten Werten von y und den vorhergesagten Werten von y) normalverteilt sind.
Eine Normverteilung der Residuen ist wichtig, da sie es ermöglicht, statistische Schätzungen und Tests auf die Modellparameter durchzuführen. Wenn die Residuen normalverteilt sind, kann man davon ausgehen, dass die Schätzungen der Regressionsparameter (wie die Steigung und die y-Achsenabschnitt) normalverteilt sind.
Wenn die Residuen nicht normalverteilt sind, kann es zu Problemen bei der Interpretation der statistischen Signifikanz der Regressionsparameter kommen, da die Standardfehler und T-Werte, die verwendet werden, um die Signifikanz zu berechnen, von der Annahme einer normalverteilten Verteilung der Residuen abhängen.
Deshalb muss man sicherstellen, dass die Residuen normalverteilt sind, bevor man die statistischen Schätzungen interpretiert.
Der Begriff der Voraussetzung kann dabei ein wenig verwirrend sein, da die meisten Voraussetzungen erst nach dem Schätzen des Modelles überhaupt überprüft werden können. Man kann die Voraussetzungen deshalb eher als Voraussetzungen für die korrekte Interpretation der Koeffizienten und weniger für das Durchführen der eigentlichen Regression erachten.
Methoden
Es gibt verschiedene Methoden, um die Normverteilung der Residuen zu überprüfen, wie z.B. das Untersuchen von Q-Q-Plots, das Berechnen von Skewness und Kurtosis oder das Durchführen von Normality Tests wie z.B. dem Shapiro-Wilk Test. Auf den folgenden Zeilen wird dieses Vorgehen in R uns SPSS näher erläutert.
Beispiel in R
Für diese Beispiel verwenden wir wiederum den “Swiss” Datensatz in R wir schätzen ein Regressionsmodell, indem wir die Geburtenrate (Fertility) auf die Ausbildung (Education) regressieren. Wir speichern das Resultat in der Variable “fit”.
fit <- lm(Fertility ~ Education, swiss)
Wir können das Resultat mit Hilfe der summary Funktion anzeigen:
summary(fit)
Wir beobachten einen negativen Zusammenhang (-0.8624) zwischen der Ausbildung und der Geburtenrate.
Die Residuen eines Modelles erhalten wir über das Attribut: $residuals.
residuen <- fit$coefficients
Um zu überprüfen, ob die Residuen normalverteilt sind, können wir die Residuen zuerst in einem Histogram zeichnen.
hist(residuen)
Auf den ersten Blick, sehen die Residuen nicht normalverteilt aus. Da wir aber eine relativ kleine Stichprobe haben, können wir nur anhand des Plot noch keine Aussage treffen. Wir können deshalb noch einen statistischen Test ausführen, in diesem Fall den “Shapiro-Wik Test”.
In R geht dies einfach mit:
shapiro.test(residuen)
Die Nullhypothese des Shapiro-Wilk Tests ist, dass die Residuen normalverteilt sind. Unser Test ergab einen p-Wert von 0.0592. Dieser ist über dem gängigen Signifikanzlevel von 5%. Somit können wir die Nullhypothese, dass die Residuen normalverteilt sind, nicht verwerfen. Die Voraussetzung ist somit erfüllt.
Beispiel in SPSS
Das Vorgehen in SPSS ist analog zu dem in R.
Schätze eine Regression mit Klicken auf: “Analysieren” -> “Regression” -> “Linear … “
Bevor du auf Ok oder Einfügen klickst, klicke auf den Button “Diagramme” und wähle bei Diagramme der standardisierten Residuen das “Histogram” aus. Klicke auf OK und lasse dir die Resultate anzeigen.
Um den Shapiro-Wilk Test mit SPSS durchzuführen, müssen wir die Residuen der Regression zuerst speichern. Wir haben im Regressionsfenster ebenfalls einen Knopf, der “Speichern” heisst. Klicke auf diesen und wähle nachher beim Residuen “Nicht standardisiert”. Danach klicke auf “Weiter” und dann auf “OK”.
In deinem Datensatz wurde nun eine neue Variable erstellt mit dem Namen “RES_1”. Wir können für diese nun einen Shapiro-Wilk Test machen.
- Klicke im Menü auf Analysiere -> Deskriptive Statistiken -> Explorative Datenanalyse
- Wähle hier die neu erstelle Variable “Unstandardized Residual [RES_1] aus.
- Klicke auf den Button “Diagramme” und setze ein Häckchen bei “Normalverteilungsdiagramm mit Tests”
- Klicke auf “Weiter” und dann auf “OK”.
Im Output siehst du nun den Output für die Tests auf Normalverteilung.
Analog zum Test in R sehen wir, dass der Shapiro-Wilk Test mit einem p-Wert von 0.059 knapp nicht signifikant ist. Wir können die Nullhypothese nicht verwerfen und können daher davon ausgehen, dass die Residuen normalverteilt sind. Die Voraussetzung ist somit erfüllt.
Was tun, wenn die Residuen nicht normalverteilt sind?
In der Praxis ist jedoch nicht immer möglich, die Voraussetzung normalverteilter Residuen zu erfüllen. In solchen Fällen sollte man schauen, ob überhaupt ein linearer Zusammenhang zwischen den beiden Variablen besteht. Ist dieser nicht gegeben, kann man den Zusammenhang der Variablen evtl. mit einer anderen, nicht-linearen Funktion besser modellieren. Geht man von einem linearen Zusammenhang aus, dann kann man bei kleineren Stichproben Bootstrapping anwenden und somit die Standardfehler simulieren anstatt zu schätzen. Mit grösseren Stichprobe kann die die Annahme der normalverteilten Residuen auch verletzt werden, da der zentrale Grenzwertsatz gilt. Verschiedene Papers haben hier unterschiedliche Thresholds gesetzt wie beispielsweise N > 15 oder N > 50. Je symmetrischer die Residuen verteilt sind, desto weniger Beobachtungen sind nötig, damit der zentrale Grenzwertsatz greift. Im Zweifel kann man aber auch bei etwas grösseren Stichproben Bootstrapping durchführen, um jegliche Zweifel oder Einwände an den Resultaten zu vermeiden.