Diese Übung soll dir helfen, die Binomialverteilung und die
Normalverteilung besser zu verstehen und in R
anhand dieser
Verteilungen Wahrscheinlichkeiten zu berechnen. Alle relevanten Codes
findest du im R-Workshop (siehe Moodle). Um die Aufgaben zu lösen,
öffnest du dir am besten ein neues Skript und schreibst die Codes dort
hinein. Das Skript kannst du mit Kommentaren (#) versehen und dann
abspeichern. Für diese Übung musst du keinen Datensatz laden.
Solltest du bei einer Aufgabe nicht weiterkommen, empfehlen wir dir
zuerst Google zu fragen oder in den Unterlagen nachzuschauen und erst
dann die Lösung anschauen.
Wir verwenden als Beispiel den Intelligenzquotienten (IQ). Ob wir den “wahren” Mittelwert und die “wahre” Standardabweichung des IQ’s in der Population wirklich kennen, ist diskutabel. Für diese Übung glauben dieser Website. Demnach ist der IQ normalverteilt mit \(\mu = 100\) und \(\sigma = 15\):
\[ IQ\sim{N(100, 15^2)} \] Anmerkung: Bei der Notation \(IQ\sim{N(100, 15^2)}\) wird in der Regel die Varianz und nicht die Standardabweichung angegeben. Daher \(15^2\).
Simuliere die Daten für den IQ für ca. 10% der Schweizer Bevölkerung,
also für 850’000 Personen (du brauchst dazu die R-Funktion
rnorm()
). Weise die Daten einer neuen Variable
iq_swiss
zu. Visualisiere die Variable
iq_swiss
mithilfe eines Histogramms.
iq_swiss <- rnorm(850000, 100, 15)
hist(iq_swiss, main = "Verteilung des IQ's in der Schweiz (n = 850'000)", col = "gray", freq = FALSE)
Da die 850’000 Werte zufällig aus einer Normalverteilung mit \(\mu = 100\) und \(\sigma = 15\) gezogen werden, erstaunt es nicht, dass die Werte ebenfalls normalverteilt sind.
Um Wahrscheinlichkeiten anhand der Normalverteilung berechnen zu können, muss die Variable zuerst z-transformiert werden:
\[z_i = \frac{x_i-\mu_X}{\sigma_X}.\]
Anhand des z-Wertes kann die Fläche unter der Normalverteilungskurve
berechnet werden. Die Funktion pnorm()
gibt dir immer die
Fläche links, des angegebenen z-Wertes an: \(P(X \le x)\). Möchtest du berechnen, wie
gross die Fläche rechts vom z-Wert liegt (\(P(X\ge x)\)), muss du die
Gegenwahrscheinlichkeit berechnen: 1-pnorm(z)
.
Den z-Wert für eine gegebene Wahrscheinlichkeit \(Z(P = p)\) erhälst du mit Hilfe der
Funktion qnorm(p)
.
## [1] 0.2969014
Hier das Ganze noch visuell (nicht als Übung gedacht, du kannst also den Code ignorieren…). Die grüne Fläche beginnt beim besagten Wert von 108 und beträgt 29% der Gesamtfläche. Die Antwort ist also für Frage 1 und 2 die gleiche: Fläche unter der Kurve = Wahrscheinlichkeit.
# Dieser Code ist nicht prüfungsrelevant
library(tidyverse)
ggplot(NULL, aes(c(-3,3))) +
geom_area(stat = "function", fun = dnorm, fill = "grey80", xlim = c(-3, z)) +
geom_area(stat = "function", fun = dnorm, fill = "#00998a", xlim = c(z, 3)) +
labs(x = paste("z"), y = "") +
scale_y_continuous(breaks = NULL) +
scale_x_continuous(breaks = z)
## [1] 0.06017176
# Dieser Code ist nicht prüfungsrelevant
ggplot(NULL, aes(c(-3,3))) +
geom_area(stat = "function", fun = dnorm, fill = "#00998a", xlim = c(-3, z)) +
geom_area(stat = "function", fun = dnorm, fill = "grey80", xlim = c(z, 3)) +
labs(x = paste("z"), y = "") +
scale_y_continuous(breaks = NULL) +
scale_x_continuous(breaks = z)
x1 <- 80
z1 <- (x1-mu)/sigma
p1 <- pnorm(z1) # Fläche unterhalb von 80
x2 <- 110
z2 <- (x2-mu)/sigma
p2 <- 1-pnorm(z2) # Fläche oberhalb von 110
p_tot <- 1-(p1+p2) # Die Randwahrscheinlichkeiten ziehen wir von den 100% ab
p_tot
## [1] 0.6562962
# Dieser Code ist nicht prüfungsrelevant
ggplot(NULL, aes(c(-3,3))) +
geom_area(stat = "function", fun = dnorm, fill = "grey80", xlim = c(-3, z1)) +
geom_area(stat = "function", fun = dnorm, fill = "#00998a", xlim = c(z1, z2)) +
geom_area(stat = "function", fun = dnorm, fill = "grey80", xlim = c(z2, 3)) +
labs(x = paste("z"), y = "") +
scale_y_continuous(breaks = NULL) +
scale_x_continuous(breaks = c(z1, z2))
p <- 0.3
z <- qnorm(1-p) # qnorm um das Quantil der Standardnormalverteilung, also den z-Wert herauszufinden
x <- z*sigma+mu # einfache algebraische Umformung der z-Transformation
x
## [1] 107.866
# Dieser Code ist nicht prüfungsrelevant
ggplot(NULL, aes(c(-3,3))) +
geom_area(stat = "function", fun = dnorm, fill = "grey80", xlim = c(-3, z)) +
geom_area(stat = "function", fun = dnorm, fill = "#00998a", xlim = c(z, 3)) +
labs(x = paste("z"), y = "") +
scale_y_continuous(breaks = NULL) +
scale_x_continuous(breaks = z)
## [1] 0.3
## [1] -1.644854
z1 <- qnorm(0.025) #Die 5% werden auf beide Seiten aufgeteilt, also die tiefsten 2.5%...
z2 <- qnorm(0.975) #... und die höchsten 2.5%
x1 <- z1 * sigma + mu
x2 <- z2 * sigma + mu
x1
## [1] 70.60054
## [1] 129.3995
## [1] -1.959964 1.959964
Die Zahl 1.96 wird dir darum noch öfters begegnen…
Beispiel: In ungefähr 50% der Fälle kommt es nach einer manuellen manipulation der Wirbelsäule zu leichten (und harmlosen) Nebenwirkungen (Paige et al. 2017). Wir gehen also davon aus, dass die Wahrscheinlichkeit \(\pi = 0.5\) für Nebenwirkungen. In einer Praxis werden pro Woche rund 80 Manipulationen an der Wirbelsäule durchgeführt. Die Variable \(X\) (Anzahl Personen mit Nebenwirkungen) ist Binomialverteilt:
\[ X \sim {Bin(80, 0.5)} \]
Die Funktionen für die Binomialverteilung sind analog zur
Normalverteilung: Die Funktion pbinom(x, n, p)
gibt dir die
Wahrscheinlichkeit für maximal \(x\)
Personen mit Nebenwirkungen: \(P(X \le
x)\). Mit 1-pbinom(x, n, p)
für mehr als \(x\) Personen mit Nebenwirkungen: \(P(X > x)\).
Anders als bei der Normalverteilung kann man bei der
Binomialverteilung auch Punktwahrscheinlichkeiten berechnen. Mit
dbinom(x, n, p)
berechnest du die Wahrscheinlichkeit für
genau \(x\) Personen mit
Nebenwirkungen: \(P(X = x)\).
\(n = 80\) , \(\pi = 0.5\)
Wie gross ist die Wahrscheinlichkeit, dass genau die Hälfte der Personen (in einer Woche) Nebenwirkungen hat: \(P(X = 40)\)?
## [1] 0.08892788
Wie gross ist die Wahrscheinlichkeit, dass mehr als die Hälfte der Personen (in einer Woche) Nebenwirkungen hat: \(P(X > 40)\)?
## [1] 0.4555361
Wie gross ist die Wahrscheinlichkeit, dass weniger als 20 Personen (in einer Woche) Nebenwirkungen haben?
Vorsicht: Weniger als 20 bedeutet \(P(X \le 19)\) und nicht \(P(X \le 20)\)
## [1] 1.365935e-06