Normalverteilung der Residuen, nicht Normalverteilung von Y

1 Motivation

Manchmal hört man, die Regression verlange, dass die Y-Variable normalverteilt sei. Das ist keine Annahme der Regression. Stattdessen sollten die Residuen normalverteilt sein.

Übrigens ist die Normalverteilung der Residuen laut Gelman und Hill 2007 keine wichtige Annahmen in vielen Situationen: Der Verlauf der Regressionsgeraden wird nämlich die die Normalität der Residuen nicht beeinflusst (vgl. S. 46f).

Die Normalität der Residuen spielt dann eine Rolle, wenn man an der Güte individueller Vorhersagen (also für einzelne Beobachtungen) interessiert ist.

1.1 Setup

library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.5     ✓ purrr   0.3.4
## ✓ tibble  3.1.2     ✓ dplyr   1.0.7
## ✓ tidyr   1.1.3     ✓ stringr 1.4.0
## ✓ readr   1.4.0     ✓ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(ggfortify)

2 Datenbeispiel

2.1 Daten simulieren

d <-
  tibble(
    x = sample(1:3, size = 999, prob = c(.33, .33, .33), replace = TRUE),
    e = rnorm(n = 999, sd = 0.1),
    y = 0.2 + 0.5*x + e
  )

2.2 Verteilung von Y

\(Y\) ist klar nicht normalverteilt:

d %>% 
  ggplot(aes(x = y)) +
  geom_histogram()

2.3 Verteilung der Residuen

Die Residuen sind normalverteilt:

d %>% 
  ggplot(aes(x = e)) +
  geom_histogram() 

2.4 Y vs. X

ggplot(d) +
  aes(x = x, y = y) +
  geom_jitter() +
  geom_smooth(method = "lm")

2.5 Residuen

lm1 <- lm(y ~ x, data = d)
autoplot(lm1)

Keine Verletzungen der Annahmen in den Residuen erkennbar.