26. März 2026
Shapiro-Wilk und Konsorten…
Shapiro–Wilk, D’Agostino, Kolmogorov–Smirnov, modified Kolmogorov–Smirnov, Jarque–Bera - um zu testen, ob eine Variable normalverteilt ist, gibt es viele verschiedene Möglichkeiten. Insgesamt gibt es mehr als 40 Tests und Modifikationen1. Ich möchte hier nicht auf die Unterschiede der einzelnen Tests eingehen, sondern auf die Problematik, die alle gemeinsam haben:
Alle haben gemeinsam, dass sie die Logik von Nullhypothesen-Signifikanz-Tests (NHST) anwenden, um zu testen, ob eine Variable normalverteilt ist.
NHST ist ein Framework, das klare Antworten verspricht: wir brauchen nur den p-Wert mit dem Signifikanzniveau vergleichen, um eine Entscheindung treffen zu können.
Leider ist es in der Praxis dann doch nicht so einfach: in einer kleinen Simulation in R zeige ich, dass Normalverteilungstest zu sensibel oder nicht sensibel genug sein können, und uns damit in der Praxis oft nicht weiterhelfen.
Der Idealfall
Simulieren wir 100 Zufallszüge aus der uniformen Verteilung. In der uniformen hat jeder Wert (hier: zwischen 0 und 100) die gleiche Wahrscheinlichkeit, gezogen zu werden.
library(tidyverse)
x <- runif(n = 100, min = 0, max = 100)
data.frame(x) %>% ggplot(aes(x)) + geom_histogram()

Graphisch ist es offensichtlich, sicher keine Normalverteilung!
Was sagt der Shapiro-Wilk-Test?
shapiro.test(x)
##
## Shapiro-Wilk normality test
##
## data: x
## W = 0.9518, p-value = 0.001092
Mit p<0.001 kann die Nullhypothese der Normalverteilung klar verworfen werden. So weit, so gut!
Warum Normalverteilungstests manchmal zu unsensibel sind
Was wenn wir nur 25 Fälle haben?
set.seed(1234)
x <- runif(n = 25, min = 0, max = 100)
shapiro.test(x)
##
## Shapiro-Wilk normality test
##
## data: x
## W = 0.93315, p-value = 0.1028
Mit p = 0.1 können wir die Nullhypothese nicht verwerfen, dass die Daten aus einer Normalverteilung kommen - obwohl wir hier genau wissen, dass die Daten aus einer uniformen und nicht aus einer normalen Verteilung kommen.
[Achtung bei der Interpretation: ein nicht-signifikanter Wert heißt nicht, dass die Nullhypothese gilt - nur dass es nicht genügend Evidenz gibt, sie zu verwerfen]
Zwischenfazit 1: Wenn die Fallzahl gering ist, sind Normalverteilungstests nicht sensibel genug
Warum Normalverteilungstests manchmal zu sensibel sind
Ziehen wir viele Fälle aus einer nicht ganz perfekten Normalverteilung. z.B. 5000 aus einer Standard-Normalen, nur dass hier für alle Werte > 2 eine leichte Verzerrung eingebaut wird.
set.seed(1234)
x <- rnorm(n = 5000) # normale Verteilung
x <- ifelse(x>2, x+.2, x) # Messfehler bei allen Werten >2: +.2
data.frame(x) %>% ggplot(aes(x)) + geom_histogram()

shapiro.test(x)
##
## Shapiro-Wilk normality test
##
## data: x
## W = 0.99923, p-value = 0.02765
Graphisch sieht das doch sehr nach einer Normalverteilung aus - mit einem minimalen Knick darin.
mit p = 0.03 würden wir laut Shapiro-Wilk-Test aber schließen, dass wir die Nullhypothese verwerfen können, d.h. die Daten kommen nicht aus einer Normalverteilung.
Technisch ist das korrekt - wir haben ja eine kleine Verzerrung eingebaut. Praktisch würde das aber heißen, dass wir eine ziemlich nahe Approximation der Normalverteilung als ungenügend verwerfen würden. Das ist absolut praxisfern: Welche Messung hat keinen minimalen systematischen Messfehler? Würden wir jemals überhaupt eine “perfekte Normalverteilung” erwarten? (siehe dazu Teil 1)
Zwischenfazit 2: Bei hohen Fallzahlen sind Normalverteilungstests viel zu sensibel
Mein Fazit
Also: Numerische Normalverteilungstests à la Shapiro-Wilk oder Kolmogorov-Smirnov können a) nicht sensibel genug b) und zu sensibel sein - es kommt auf die Fallzahl an.
Sollten wir die Aussagekraft einer Testung auf Normalverteilung wirklich von der Fallzahl abhängig machen? Forschungslogisch macht das für mich absolut keinen Sinn: unser Urteil, ob etwas normalverteilt ist, sollte nicht von der Größe des Datensatzes abhängen.
Meine Kritik richtet sich also eigentlich nicht an die Normalverteilungstests an sich: diese “funktionieren korrekt”. Das Problem was ich sehe ist eher die Anwendung der Nullhypothen-Signifikanz-Test-Logik. Die Nullhypothese der perfekten Normalverteilung ist in der Praxis fast immer irrelevant: kaum etwas in der Welt ist perfekt normalverteilt, das wissen wir schon bevor wir den Test rechnen.
Wir brauchen nur die Fallzahl hoch genug schrauben, der p-Wert wird dann immer signifikant sein. Ein nicht-signifikanter Wert heißt auch nur, dass wir nicht genug Evidenz haben, um die Normalverteilung zu verwerfen, nicht dass etwas wirklich normalverteilt ist. Somit liefern Normalverteilungstests eigentlich wenig brauchbare Informationen.
Normalverteilungstests können als ergänzende Information Sinn machen, sollten aber keinesfalls die einzige Grundlage für wichtige Entscheidungen wie der Methodenauswahl oder überprüfung von Modellannahmen sein. Ein Histogramm oder QQ-Plot ist eigentlich immer informativer!
Wenn Sie bei Ihren Daten unsicher sind, kontaktieren Sie mich hier für ein kostenloses Erstgespräch, ich bin gespannt!