Die Sache mit dem p-Wert

Der p-Wert an Hand eines Beispiels

In der Vorlesung “Datenerhebung und Statistik” wird versucht den p-Wert zu erklären.

Die Situation ist die Folgende:

Wir nehmen an, der IQ sei normalverteilt mit dem Mittelwert 100 und der Standardabweichung 15.

Schaut man sich nun das Histogramm der Mittelwerte von 10.000 Stichproben mit Hilfe von R an

library(mosaic) # für den Befehl "do"
vieleStichproben <- do(10000) * mean(rnorm(n=30, mean=100, sd=15))
qplot(vieleStichproben$mean, 
      main="Viele Mittelwerte von normalverteilten Zufallszahlen mit µ=100 und σ=15",
      xlab="Stichproben Mittelwerte", 
      ylab="abs. Häufigkeit", 
      bins=30)

so bemerkt man, dass diese Werte wieder normalverteilt sind. Dies ist eine direkte Folge des Zentralen Grenzwertsatzes.

Angenommen man hat nun eine (echte) Stichprobe gezogen (n=30) und man erhält einen Mittelwert von \(\bar{x}=106\).

Wie wahrscheinlich ist dieser Wert? Anders gesagt: Wie häufig kommt dieser Mittelwert (oder größere) in unserer Verteilung von Mittelwerten vor?

Wir können unsere (10.000) Mittelwerte sortieren und dann mit Hilfe von

df <- arrange(vieleStichproben, mean)
df$mean[9500]
## [1] 104.5207

den 9.500sten der 10.000 Mittelwerte betrachten. Wir schauen uns also an, wie groß der Mittelwert ist, der genau an der 95%-Grenze liegt. Es sind also rund 95% aller Mittelwerte kleiner und somit nur rund 5% alle Mittelwerte größter als dieser Wert, denn die Mittelwerte sind ja dank dem arrange-Befehl aufsteigend sortiert. Im Beispiel erhalten wir den (zufälligen) Wert 104.5206971.

Unser Stichprobenwert von 106 gehört also zu den seltensten (unwahrscheinlichsten) 5% aller möglichen Stichproben aus dieser (simulierten) Grundgesamtheit.

Fraglich ist nur der Mittelwert (und eigentlich auch die Standardabweichung, aber das lassen wir mal außen vor). Die Hypothese \(H_0\) sagt nun also: “Der Mittelwert \(\mu\) liegt bei 100!” (Wenn man eine Standardabweichung von 15 als gegeben voraussetzt!)

Die Anzahl der Stichproben, die den gleichen oder einen höheren Mittelwert haben, nennt man p-Wert. Mit Hilfe von R können wir diesen wie folgt berechnen:

p <- df %>% filter(mean >= 106) %>% dplyr::count()

Im Beispiel erhält man den (zufälligen) Wert 137. Es gibt also 137 Stichproben von 10.000 Stichproben der Grundgesamtheit, für die \(\bar{x}\geq 106\) ist. Das sind 1.37%. Der p-Wert ist also 1.37.

Soweit die wichtigen Informationen aus der Vorlesung.

Betrachten wir das ganze nun einmal genauer:

Wir haben nun eine (echte) Stichprobe und finden heraus, der Mittelwert dieser Stichprobe liegt bei 106.

Wir wollen die Hypothese \(H_0\) nicht verwerfen, falls der Mittelwert unsere Stichprobe nicht signifikant von unser Annahme, dass der Mittelwert bei 100 liegt abweicht.

Dafür geben wir zunächst ein Signifikanzniveau an: α = 5%.

Das heißt: Wir akzeptieren 95% aller möglichen Stichproben, die erzeugt werden können, wenn man zufällig aus der Normalverteilung mit Mittelwert 100 und (Standardabweichung 15) Stichproben zieht. Nur die 5% der extremen (also äußeren, größeren also rechten Bereich) wollen wir nicht annehmen, sondern dann die Hypothese \(H_0\) ablehnen.

Der p-Wert unserer Stichprobe ist nun also die Wahrscheinlichkeit, mit der es Mittelwerte größer gleich unserer Stichprobe gibt. Immer unter der Annahme, dass \(H_0\) gilt! Es sagt also nichts erstmal nichts über die Wahrscheinlichkeit von \(H_0\) oder die Unwahrscheinlichkeit von \(H_1\) (also Nicht-\(H_0\) unserer Alternativhypothese) aus! Sondern nur, wie wahrscheinlich unter der Annahme von \(H_0\) das Vorkommen dieser Stichprobe mit unserem Wert (oder schlechter) ist.

Das Signifikanzniveau spielt jetzt quasi die Rolle der Torauslinie. Liegt der p-Wert unterhalb unseres Signifikanzniveaus, zählt also unsere Stichprobe nicht aus den 95% sondern aus den äußeren 5%, dann haben wir ein Indiz gefunden \(H_0\) abzunehmen.

Unsere (simulierte) Grundgesamtheit haben wir sortiert und dann gesehen, dass 137 von 10.000 Stichproben einen Mittelwert über (oder gleich) 106 haben und genau das sagt der p-Wert unserer Stichprobe aus.

Wir lehnen nun also die Hypothese \(H_0\) ab, weil wir es für unwahrscheinlich halten, dass eine Stichprobe so weit am Rand der Möglichkeiten liegt. Wir nehmen lieber an, der Mittelwert unserer IQ-Werte liegt also (vermutlich) nicht bei 100, sondern ist größer! - Genauer haben wir die zwei Hypothesen gegeneinander abgewogen:

  • \(H_0\): “Der Mittelwert der IQ-Werte liegt bei höchstens 100 IQ-Punkten.”
  • \(H_1\): “Der Mittelwert der IQ-Werte liegt oberhalb von 100 IQ-Punkten.”

Es handelt sich also um einen einseitig, rechtsseitigen Test mit dem Signifikanzniveau \(\alpha\)=5%.

Vom Beispiel zur Praxis

Den p-Wert jedesmal aus einer Simulation abzuleiten ist etwas mühsam. Statt dessen nehmen wir uns das Histogramm noch einmal vor und zeichnen zusätzlich die empirische Dichtefunktion (in blau) und die Dichte der Standardnormalverteilung zu den Parametern \(\mu=100\) und \(\sigma=\frac{15}{\sqrt{30}}\) (in rot) ein. Beim Mittelwert 106 haben wir nun eine gestichelte schwarze, beim Wert 104.5206971 eine gepunktete grüne und beim Wert 104.5046172 eine lang-gestrichelte rote vertikale Linie eingezeichnet.

Die rote Linie entspricht dem 95%-Quantil der normalverteilten Dichtefunktion, und wurde berechnet durch:

# Vorbereitungen
SichprobenMW = 100
StichprobenN = 30
StichprobenSigma = 15
SE = StichprobenSigma / sqrt(StichprobenN)
# Das 95%-Quantil:
qnorm(0.95, mean=SichprobenMW, sd=SE)
## [1] 104.5046

Alles was also recht von dieser Linie ist, gehört zu den 5%, die uns dazu bewegen die Hypothese \(H_0\) abzulehnen!

Die grüne und rote Linie liegen (fast) perfekt aufeinander. Wir müssen also gar keine Simulation machen, es reicht aus den entsprechenden Quantilswert zu berechnen!

comments powered by Disqus