Kapitel 16 z-Transformation und Standardnormalverteilung

Standard Normalverteilung. Wenn wir Daten haben, die in der Population normalverteilt sind und wir den Mittelwert und die Standardabweichung der Population kennen oder gut abschätzen können, erfahren wir so Einiges.

Hier ein Beispiel:

Der Autor dieses Skript habe einmal einen IQ-Test an einem Freitag Abend, nach ein paar nervigen Sitzungen gemacht (wahre Geschichte). Er benutzte einen Test, den er Online gefunden habe. Das Ergebnis war ein IQ von 80. Er wollte danach wissen, wie viele Menschen weniger IQ als er haben. Nach kurzem googeln fand er den Mittelwert und die Standardabweichung des IQs. Der Mittelwert ist 100 und die Standardabweichung 15. Mit diesen Informationen konnte er herausfinden, wie viele Menschen (in Prozenten) weniger IQ als er haben.

Der Befehl pnorm hilft nun, für jede Verteilung, solange wir Mittelwert und Standardabweichung kennen, den Anteil der Daten unter oder über einem Wert zu finden.

pnorm(80, mean=100, sd=15, lower.tail=TRUE)
## [1] 0.09121122

Wir sehen, dass also nur 9% der Bevölkerung einen IQ von 80 oder weniger haben

Wie viele Menschen haben einen höheren IQ?

Das können wir mit dem gleichen Befehl ermitteln, wir müssen nur die Option lower.tail=TRUE zu lower.tail=FALSE ändern.

pnorm(80, mean=100, sd=15, lower.tail = FALSE)
## [1] 0.9087888

Jetzt sehen wir, dass etwa 91% der Menschen einen höheren IQ als 80 haben.

Wenn wir normalverteilte Daten haben, so ist der Mittelwert gleich wie der Median. Und beim Median wissen wir ja, dass 50% der Daten unterhalb und 50% der Daten oberhalb liegen. Deshalb wird der Median ja auch 0.5 Quantil genannt.

Das können wir mit dem Befehl pnorm testen:

pnorm(100, mean=100, sd=15, lower.tail=TRUE)
## [1] 0.5
pnorm(100, mean=100, sd=15, lower.tail=FALSE)
## [1] 0.5

Sowohl über als auch unter dem Median (IQ 100) sind 50% der Daten.

Wir können das mit einer Funktion ja auch graphisch anschauen.

Eine Funktion ist wie ein Befehl. Wenn Sie den Code aus dem nächsten Code-Chunk kopieren, können Sie mit dem Befehl aund_plot selber solche Graphiken erstellen.

# Funktion von https://gist.github.com/jrnold/6799152
library(ggplot2)
aund_plot <- function(p_lb=0.025, p_ub=0.025,q_lb=mean, q_ub, mean = 0, sd = 1, limits = c(mean - 3 * sd, mean + 3 * sd)) {
  x <- seq(limits[1], limits[2], length.out = 100)
  if(p_lb>1&mean>1){
    q_lb=p_lb
  } else {
    
  }
  if(p_ub>1&mean>1){
    q_ub=p_ub
  } else{
  }
  if(missing(q_lb)) {
    q_lb=qnorm(p_lb, mean=mean, sd=sd)
    
  } else {
    
  }
  if(missing(q_ub)) {
    q_ub=qnorm(p_ub, mean=mean, sd=sd)
  } else {
    
  }
  xmin <- max(q_lb, limits[1])
  xmax <- min(q_ub, limits[2])
  areax <- seq(xmin, xmax, length.out = 100)
  area <- data.frame(x = areax, ymin = 0, ymax = dnorm(areax, mean = mean, sd = sd))
  if(mean==0){
    min_break=-1.96
    max_break=2
    interval_breaks=0.32
  } else{

  }
  if(mean>0 & mean<=1){
    min_break=mean-3*sd
    max_break=mean+3*sd
    interval_breaks=0.5
  } else{
    
  }
  if(mean>1 & mean<10){
  min_break=mean-3*sd
  max_break=mean+3*sd 
  interval_breaks=0.5
  } else{
    
  }
  if(mean>=10){
    min_break=mean-3*sd
    max_break=mean+3*sd 
    interval_breaks=5
  } else{
    
  }
    (ggplot()
    + geom_ribbon(data = area, mapping = aes(x = x, ymin = ymin, ymax = ymax), fill="#D590FF")
    + geom_line(data.frame(x = x, y = dnorm(x, mean = mean, sd = sd)),
                mapping = aes(x = x, y = y), color="blue")
    + scale_x_continuous(limits = limits, breaks=c(mean,(seq(min_break, max_break,interval_breaks )))))+
    theme_classic()+
    labs(y="density")+
    geom_vline(xintercept=mean, linetype="dashed", color="#0D00E0")
 }

Das Schöne an der Normalverteilung ist folgendes: Wenn wir Mittelwert und Standardabweichung aus der Population kennen, können wir berechnen, wie viele Daten oberhalb oder unterhalb eines Wertes liegen, oder wie viele Prozent zwischen zwei Werten sind.

aund_plot(80,200, mean=100, sd=15)
Die violette Fläche oberhalb des IQs von 80 sagt uns, dass knapp 91% aller Menschen einen IQ höher als 80 haben.

Abbildung 5.5: Die violette Fläche oberhalb des IQs von 80 sagt uns, dass knapp 91% aller Menschen einen IQ höher als 80 haben.

aund_plot(80,120, mean=100, sd=15)
Die violette Fläche oberhalb des IQs von 80 sagt uns, dass knapp 91% aller Menschen einen IQ höher als 80 haben.

Abbildung 16.1: Die violette Fläche oberhalb des IQs von 80 sagt uns, dass knapp 91% aller Menschen einen IQ höher als 80 haben.

Wie viele Prozent liegen zwischen IQ 80 und IQ 120?

pnorm(120,mean=100, sd=15, lower.tail = TRUE) - pnorm(80,mean=100, sd=15, lower.tail=TRUE)
## [1] 0.8175776

16.1 Die Standardnormalverteilung

Das war doch schon ganz spannend. Aber jetzt wird es noch spannender:

Es gibt nämlich eine sogenannte Standardnormalverteilung mit einem Mittelwert 0 und einer Standardabweichung von 1, respektive \(\mu\) = 0 und \(\sigma\) =1.

Wir wissen nun, wie viele Prozente der Daten zwischen den verschiedenen Werten liegen (siehe nächste Abbildung) - oder wir können es mit dem Befehl pnorm abfragen.

Schauen Sie sich doch auch noch einmal die gelbe Kurve zu Beginn dieses Kapitels an. Sie sollten diese Graphik nun verstehen. Oder?

Wir sehen zum Beispiel, dass zwischen \(\mu\) minus 1.96\(\sigma\) und \(\mu\) plus 1.96\(\sigma\) 95% aller Daten liegen - der Einfacheit halber wird meist plus / minus 2 \(\sigma\) angezeigt - wenn wir Statistik machen, sind wir jedoch an den mittleren 95% interessiert, und dafür benötigen wir die z-Werte -1.96 und 1.96 - dazwischen liegen die 95% aller Daten.

Standardnormalverteilung Populationsmittelwert = 1 und Populationsstandardabweichung = 1.

Abbildung 1.1: Standardnormalverteilung Populationsmittelwert = 1 und Populationsstandardabweichung = 1.

Möchten wir eine Stichprobe mit einer Population vergleichen, können wir unsere Werte der Stichprobe - natürlich nur, wenn die Voraussetzung der Normalverteilung in der Population gegeben ist - z-Transformieren und sie so vergleichen. Die z-Transformation ist eine Form der Standardisierung.

16.2 z-Transformation

Das folgende gilt nur unter der Voraussetzung, dass die Daten in der Population normal verteilt sind und wir den Populationsmittelwert und die Populationsstandardabweichung kennen oder diese genügend gut schätzen können.

Beispiel Körpergrösse

Wir kennen \(\mu\) und \(\sigma\) für die Körpergrösse in der Schweiz, wir müssen zwar die Standardabweichung ausrechnen (das sollte aber kein Problem für Sie sein).

  • Männer 177.4 cm, (SD 7.9 cm)
  • Frauen 164.7 cm, (SD 6.8 cm)

Der Autor dieses Skripts ist nun 170cm gross. Wir können dies nun z-Transformieren: \[ Z = \frac{x - \mu}{\sigma} \] \[ Z = \frac{170 - 177.4}{7.9} = -0.94 \] Wir sehen am Resultat, dass der Autor etwas weniger als eine Standardabweichung kleiner ist als der Durschnitt der (erwachsenen) Schweizer Männer (Wäre das Resultat 1, wäre er gerade eine Standardabweichung kleiner als der Schweizer Durschnitt).

Der R-Befehl pnorm hilft uns auch hier wieder, um herauszufinden, wie viele Menschen in der Schweiz kleiner oder grösser sind:

(Kleiner = pnorm(-0.94, mean=0, sd=1, lower.tail=TRUE)) # das mean=0 und sd=1 brauchen wir gar nicht anzugeben, das wären die Standardwerte. 
## [1] 0.1736088
(Grösser = pnorm(-0.94, lower.tail=FALSE))
## [1] 0.8263912
Nur 17% sind kleiner, und 83% sind grösser als der Autor.

Hier haben wir das Beispiel mit einem Wert gemacht, wir können aber natürlich auch eine ganze Stichprobe z-Transformieren. Dann wird auch der Mittelwert der Stichprobe nahe bei 0, und die Standardabweichung nahe bei 1 liegen. Warum ist da der Mittelwert dieser Stichprobe nach der z-Transformation nicht genau 0 und die Standardabweichung nicht genau 1? Weil ja der Stichprobenmittelwert nicht immer genau dem Populationsmittelwert entspricht und die Stichprobenstandardabweichung nicht immer genau der Populationsstandardabweichung.

Falls wir die beiden Populationsparameter \(\mu\) und \(\sigma\) nicht kennen, können wir die Standardisierung auch mit dem Mittelwert und der Standardabweichung der Stichprobe durchführen - dieser Vorgang sollte man jedoch Studentisierung nenen und nicht eine Standardisierung.

Sie finden hier sonst noch ein anderes Beispiel (hier klicken).

Alles in diesem Kapitel gilt nur für die Normalverteilung, also nicht für Daten die wie die linke oder rechte Verteilung verteilt sind in der Population.

  • Leider funktionieren in diesem Kapitel die Navigationspfeile für den Übergang zum nächsten Kapitel nicht. Sie können aber auf der Tastatur den Pfeil nach rechts klicken, um zum nächsten Kapitel zu gelangen.