Mathematik für Biologiestudierende¶
Wintersemester 2024/25
18.12.2024
© 2024 Prof. Dr. Rüdiger W. Braun
Kontinuierliche Zufallsvariablen¶
Beispiele für Größen, die als kontinuierliche Zufallsvariable modelliert werden
- Längen, Massen, Volumina (Bsp: Gewichtszunahme eines Versuchstiers)
- Konzentrationen (Bsp: Vitamingehalt einer Frucht)
- Größen, die eigentlich diskret sind, bei denen die Anzahlen aber sehr hoch sind (Bsp: Keimerfolge)
Eine Zufallsvariable $X$ heißt kontinuierlich mit Dichte $f$, wenn $$ P(a \le X < b) = \int_a^b f(x) dx $$
Man bezeichnet
- $f$ als Dichte und
- $F(x) = \int_{-\infty}^x f(x) dx$ als Verteilungsfunktion von $X$
- Wenn $f$ die Dichte und $F$ die Verteilungsfunktion ist, dann ist $F$ eine Stammfunktion der Dichte
- also $$ P(a\le X<b) = \int_a^b f(x) dx = F(b) - F(a) $$
Wegen $ \int_a^a f(x) dx = 0 $ gilt dann auch $$ P(a\le X \le b) = P(a<X<b) = P(a<X\le b) = F(b) - F(a) $$
Konsistenzbedingung für die Dichte¶
Wenn $f$ die Dichte einer Zufallsvariablen sein kann, müssen Bedingungen erfüllt sein
$$ f(x) \ge 0 \text{ für alle $x$} $$ $$ \int_{-\infty}^\infty f(x) dx = 1 $$
Standard-Normalverteilung¶
- Die Dichte der Standardnormalverteilung ist die Gaußsche Glockenkurve $$ \varphi(x) = \frac1{\sqrt{2\pi}} \exp\!\left( -\frac{x^2}2 \right) $$
- Die Verteilungsfunktion ist $$ \Phi(u) = \frac1{\sqrt{2\pi}} \int_{-\infty}^u \exp\!\left( -\frac{x^2}2 \right) dx $$
- Eine explizitere Formel gibt es nicht
import numpy as np
np.set_printoptions(legacy='1.21')
import pandas as pd
import seaborn as sns
from scipy import stats
Phi = stats.norm() # Normalverteilung
Phi.cdf(0)
0.5
d1 = pd.DataFrame()
x = np.linspace(-4, 4)
d1['x'] = x
d1['y'] = np.exp(-0.5*x**2) / np.sqrt(2*np.pi)
d1['Name'] = "Dichte"
d2 = pd.DataFrame()
d2['x'] = x
d2['y'] = Phi.cdf(x)
d2['Name'] = "Verteilungsfunktion"
df = pd.concat([d1, d2], ignore_index=True)
df.head()
x | y | Name | |
---|---|---|---|
0 | -4.000000 | 0.000134 | Dichte |
1 | -3.836735 | 0.000254 | Dichte |
2 | -3.673469 | 0.000468 | Dichte |
3 | -3.510204 | 0.000842 | Dichte |
4 | -3.346939 | 0.001474 | Dichte |
Standard-Normalverteilung¶
sns.relplot(data=df, x='x', y='y', hue='Name', kind='line');
Eigenschaften der Verteilungsfunktion der Standard-Normalverteilung¶
- $\Phi(x) > 0$ für alle $x$
- $\lim_{x\to-\infty} \Phi(x) = 0$
- $\lim_{x\to\infty} \Phi(x) = 1$
- $\Phi(-x)=1-\Phi(x)$ für alle $x$ (Symmetrie an $x=0$)
Beispiel¶
- Die mittlere Halmlänge eines bestimmten Grases beträgt 10cm
- Die Zufallsvariable $X$ misst den Unterschied eines einzelnen Grashalms zur mittleren Halmlänge
- Unser Modell sagt, dass $X$ standard-normalverteilt ist
- Das bedeutet: Die Halmlänge in cm wird modelliert als $10+X$
Welcher Anteil der Halme hat eine Länge zwischen 9cm und 11cm?
Antwort $$ P(-1\le X<1) = \int_{-1}^1 \varphi(x) dx = \Phi(1) - \Phi(-1) $$
Phi.cdf(1) - Phi.cdf(-1)
0.6826894921370859
Normalverteilung¶
- In dem Beispiel können wir die Streuung nicht variieren
- Wir benötigen Varianten der Standard-Normalverteilung
- diese unterscheiden sich in Erwartungswert und Varianz
Erwartungswert einer kontinuierlichen Zufallsvariablen¶
- Der Erwartungswert einer diskreten Zufallsvariablen $X$ ist definiert als $$ E(X) = \sum_k k \cdot P(X=k) $$ wobei $k$ alle möglichen Werte von $X$ durchläuft
- Der Erwartungswert einer kontinuierlichen Zufallsvariablen $X$ mit Dichte $f$ ist definiert als $$ E(X) = \int x \cdot f(x)\; dx $$ wobei sich der Integrationsbereich über alle möglichen Werte von $X$ erstreckt
Varianz einer kontinuierlichen Zufallsvariablen¶
- Die Varianz einer diskreten Zufallsvariablen X ist definiert als $$ \text{Var}(X) = \sum_{k} (k-\mu)^2 P(X=k) $$ wobei $\mu = E(X) $ und $k$ alle möglichen Werte von $X$ durchläuft
- Die Varianz einer kontinuierlichen Zufallsvariablen $X$ mit Dichte $f$ ist definiert als $$ \text{Var}(X) = \int (x-\mu)^2 \cdot f(x)\; dx $$ wobei $\mu=E(X)$ und der Integrationsbereich sich über alle möglichen Werte von $X$ erstreckt
Streuung¶
Die Standardabweichung oder Streuung eine Zufallsvariablen ist die Quadratwurzel aus der Varianz
$$ \sigma(X) = \sqrt{\text{Var}(X)} $$
Erwartungswert und Streuung der Standard-Normalverteilung¶
Die Zufallsvariable $X$ sei standard-normalverteilt
- $E(X) = 0$
- $\text{Var}(X) = 1$
P = stats.norm()
P.mean()
0.0
P.var()
1.0
Streuung (engl.: standard deviation)
P.std()
1.0
Es gelten dieselben Rechenregeln wie im diskreten Fall
Rechenregeln für den Erwartungswert¶
- Für jede Zahl $c$ und jede Zufallsvariable $X$ ist $E(c \cdot X) = c \cdot E(X)$
- Für Zufallsvariablen $X_1, \dots, X_n$ ist $E(X_1 + \dots + X_n) = E(X_1) + \dots + E(X_n)$
- $X$ und $Y$ unabhängige Zufallsvariable. Dann $$ E(X \cdot Y) = E(X) \cdot E(Y) $$
Rechenregeln für die Varianz¶
- Für jede Zahl $a$ und jede Zufallsvariable $X$ gilt $\text{Var}(a + X) = \text{Var}(X)$
- Für jede Zahl $c$ und jede Zufallsvariable $X$ gilt $\text{Var}(c \cdot X) = c^2 \cdot \text{Var}(X)$
- $X$ und $Y$ unabhängige Zufallsvariable. Dann $$ \text{Var}(X + Y) = \text{Var}(X) + \text{Var}(Y) $$
Normalverteilungen¶
- Die Zufallsvariable $X$ heißt normalverteilt zum Erwartungswert $\mu$ und der Varianz $\sigma^2$, wenn $$ Y = \frac{X-\mu}\sigma $$ standard-normalverteilt ist. Man sagt dann, $X$ sei $N(\mu, \sigma^2)$-verteilt
- Normalverteilungen werden beispielsweise zur Modellierung von Messfehlern benutzt
Umrechnung auf Standardnormalverteilung¶
Die Zufallsvariable $X$ sei $N(\mu, \sigma^2)$-verteilt. Dann ist $\displaystyle \frac{X-\mu}\sigma$ standard-normalverteilt und für $a < b$ gelten \begin{align*} P(a < X \le b) &= \Phi\!\left(\frac{b-\mu}\sigma\right) - \Phi\!\left(\frac{a-\mu}\sigma\right) \\ P(a < X) &= 1 - \Phi\!\left(\frac{a-\mu}\sigma\right) \\ P(X \le b) &= \Phi\!\left(\frac{b-\mu}\sigma\right) \end{align*}
mu = 10
sigma = 3
P = stats.norm(mu, sigma)
P.mean()
10.0
P.std()
3.0
Achtung: $N(\mu,\sigma^2)$ wird aufgerufen als stats.norm(mu, sigma)
Beispiel: natürliche Variabilitäten¶
- Roggenpflanzen erreichen unter Laborbedingungen eine mittlere Höhe von 0.98m. Dabei streut die Höhe um 19cm.
- Welcher Prozentsatz ist unter 1.20m hoch?
- $X$ = Höhe der Pflanze
- Wir rechnen in Metern. Dann $E(X) = 0.98$ und $\sigma = 0.19$
- Wir suchen $$ P( X \le 1.2 ) $$
- Wie bei der Binomialverteilung auch bekommt man diese Zahl in
scipy.stats
durchP.cdf
P = stats.norm(0.98, 0.19)
P.cdf(1.2)
0.8765465021876291
Knapp 88% aller Pflanzen bleiben unter 1.20m
- Welcher Prozentsatz der Pflanzen bleibt erreicht eine Höhe von mehr als 1.1m ?
- Wir suchen $$ P(1.1 < X) = 1 - P(X \le 1.1) $$
1 - P.cdf(1.1)
0.2638310233953918
26% aller Pflanzen sind höher als 1.1m
- Welcher Anteil der Pflanzen hat eine Länge zwischen 1.00m und 1.05m ?
- Wir suchen $$ P(1 < X \le 1.05) = P(X \le 1.05) - P(x \le 1) $$
P.cdf(1.05) - P.cdf(1)
0.10180384712676416
10% der Pflanzen hat eine Länge zwischen 1.00m und 1.05m
Kritische Betrachtung des Modells¶
- Das Modell erlaubt auch den unsinnigen Fall, dass Roggenpflanzen eine negative Höhe aufweisen
- Mit welcher Wahrscheinlichkeit geschieht das?
P.cdf(0)
1.2487097323935358e-07
1 / P.cdf(0)
8008266.245216114
Das Modell sagt für jeweils eine unter 8 Millionen Pflanzen eine negative Höhe voraus.
import pandas as pd
import seaborn as sns
sns.set_theme()
df = pd.DataFrame()
x = np.linspace(-0.1, 2, 300)
df['x'] = x
df['y'] = P.pdf(x) # probability density function
Verteilungsdichte der Halmlängen¶
sns.lineplot(data=df, x='x', y='y');
Quantile¶
- $F$ die Verteilungsfunktion einer Zufallsvariablen
- Die Zahl $u$ mit $F(u)=x$ bezeichnet man als Quantil von $x$
- In
scipy.stats
:P.ppf
(percent point function)
Quantile¶
- $\Phi$ die Verteilungsfunktion der Standardnormalverteilung
- Die Zahl $q_\alpha$ mit $\Phi(q_\alpha) = \alpha$ ist das $\alpha$-Quantil der Standardnormalverteilung. Die wichtigsten Quantile der Standardnormalverteilung sind
$ \Phi(u) $ | 70% | 80% | 90% | 95% | 97.5% | 99% | 99.5% |
---|---|---|---|---|---|---|---|
$ u $ | 0.524 | 0.842 | 1.282 | 1.645 | 1.960 | 2.326 | 2.576 |
Phi = stats.norm()
Phi.ppf(0.99)
2.3263478740408408
- Umrechnungsformel $$ q_\alpha = - q_{1-\alpha} $$
- Beispiel $$ q_{0.05} = - q_{0.95} = -1.645 $$
- Das Quantil ist die Umkehrfunktion der Verteilungsfunktion, in Formeln $$ \Phi(q_\alpha) = \alpha $$
Phi.ppf(0.05)
-1.6448536269514729
Beispiel¶
- Welche Höhe wird nur von 5% der Roggenpflanzen unterschritten?
P = stats.norm(0.98, 0.19)
P.ppf(0.05)
0.6674778108792201
Verteilungsfunktion und Quantil¶
Die Verteilungsfunktion beantwortet die Frage
Mit welcher Wahrscheinlichkeit liegt der Wert der Zufallsvariablen unterhalb eines vorgegebenen Werts?
Das Quantil beantwortet die Frage
Welches x kann ich maximal wählen, wenn die Wahrscheinlichkeit, dass die Zufallsvariable unterhalb von x bleibt, kleiner als u sein soll
Beispiel¶
Das Gewicht von Zitronen sei normalverteilt mit Erwartungswert 178g und Streuung 12g
- Zitronen mit einem Gewicht unter 150g können nicht verkauft werden. Welcher Anteil ist das
P = stats.norm(178, 12)
P.cdf(150)
0.009815328628645334
- Wie schwer ist das oberste Prozent der Zitronen mindestens?
- Umformuliert: Wir schwer sind die untersten 99% der Zitronen höchstens?
P.ppf(0.99)
205.9161744884901
Das oberste Prozent der Zitronen wiegt über 206g
Beispiel: IQ-Tests¶
- IQ-Tests sind so skaliert, dass die Werte in der Population normalverteilt mit Erwartungswert $\mu = 100$ und Streuung $\sigma = 15$ sind
- Welcher Anteil der Bevölkerung hat einen IQ unter 60?
- $X$ messe den IQ
- $X$ ist $N(100,225)$-verteilt.
- Also
P = stats.norm(100, 15)
P.cdf(60)
0.0038303805675897365
Knapp 0.4% der Bevölkerung hat einen IQ unter 60
Beispiel: Die schlauste Person der Welt¶
- Welchen IQ hat die schlauste Person der Welt?
- Es gibt ca 8 Milliarden Menschen
- Die schlauste Person ist also die, deren IQ nur von einem Anteil von $\frac1{8\,000\,000\,000}$ der Weltbevölkerung übertroffen wird
N = 8_000_000_000
1 - 1/N
0.999999999875
P = stats.norm(100, 15)
P.ppf(1-1/N)
194.90475300947824
Die schlaueste Person der Welt hat einen IQ von 195
Verteilungsfunktionen diskreter Zufallsvariablen¶
- $X$ sei eine Zufallsvariable. Die Funktion
- $$ F(x) = P(X \le x) $$ ist die Verteilungsfunktion von $X$
- Die Verteilungsfunktion $F(x)$ gibt an, mit welcher Wahrscheinlichkeit ein kleinerer Wert als $x$ angenommen wird ($x$~eingeschlossen)
- Die Verteilungsfunktion wächst also monoton
- Wenn $X$ diskret ist, weist ihre Verteilungsfunktion Sprünge auf.
Verteilungsfunktion der Binomialverteilung¶
- $F$ sei die Verteilungsfunktion von $B_{6,\,1/3}$, also $$ F(r) = \sum_{k\le r} B_{6,\,1/3}(k) $$
$$k$$ | $$B_{6,\,1/3}(k)$$ | $$ F(k) $$ |
---|---|---|
0 | 0.0878 | 0.0878 |
1 | 0.2634 | 0.3512 |
2 | 0.3292 | 0.6804 |
3 | 0.2195 | 0.8999 |
4 | 0.0823 | 0.9822 |
5 | 0.0165 | 0.9986 |
6 | 0.0014 | 1.0000 |
Standardisierte Verteilung¶
- Problem: Binomialverteilungen zu verschiedenen Stichprobenumfängen kann man schlecht vergleichen
- Die Zufallsvariable $X$ besitze den Erwartungswert $E(X) = \mu$ und die Varianz $\text{Var}(X) = \sigma^2$
- Setze $$ Y = \frac{X-\mu}\sigma $$
- Dann $E(Y) = 0$ und $\text{Var}(Y) = 1$
- $Y$ ist die standardisierte Zufallsvariable zu $X$
Standardisierte Binomialverteilung zu n = 40 und p = 0.2¶
Standardisierte Binomialverteilung zu n = 320 und p = 0.2¶
Standard-Normalverteilung¶
Animation¶
Zentraler Grenzwertsatz¶
Für jeden Parameterwert $p$ konvergiert der Grenzprozess auf der letzten Folie gegen die Verteilungsfunktion der Standard-Normalverteilung.
Normalapproximation¶
- Die Zufallsvariable $X$ sei $B(n,p)$-verteilt
- $E(X) = n \cdot p$ und $\text{Var}(X) = n \cdot p \cdot (1-p)$
- Die standardisierte Zufallsvariable zu $X$ ist $$ Y = \frac{X - n \cdot p}{\sqrt{n \cdot p \cdot (1-p)}} $$
- Für große $n$ ist $Y$ annähernd standard-normalverteilt
- "groß" bedeutet $$ n \cdot p \cdot (1-p) > 9 $$
Normalapproximation: Formel¶
- $X$ sei $B(n,p)$-verteilt
- Es gilt näherungsweise für natürliche Zahlen $a < b$ $$ P(a \le X \le b) \cong \Phi\!\left( \frac{b - n \cdot p}{\sqrt{n \cdot p \cdot (1-p)}} \right) - \Phi\!\left( \frac{a - n \cdot p}{\sqrt{n \cdot p \cdot (1-p)}} \right) $$
- Wenn $a = 0$ oder $b = n$ ist, braucht man nur einen Term \begin{align*} P(a \le X) &\cong 1 - \Phi\!\left( \frac{a - n \cdot p}{\sqrt{n \cdot p \cdot (1-p)}} \right) \\ P(X \le b) &\cong \Phi\!\left( \frac{b - n \cdot p}{\sqrt{n \cdot p \cdot (1-p)}} \right) \end{align*}
Beispiel zur Normalapproximation¶
- Ein Tulpenbauer hat 31500 Zwiebeln eingepflanzt
- Jede einzelne wächst mit einer Wahrscheinlichkeit von 0.965 zu einer Pflanze mit Blütenknospe heran, die er dann ernten kann
- Mit welcher Wahrscheinlichkeit wird er mindestens 30000 Blüten ernten können?
Erste Lösung: Binomialverteilung¶
n = 31000
p = 0.97
a = 30000
P = stats.binom(n, p)
1 - P.cdf(a-1)
0.9899519999575143
Zweite Lösung: Normalapproximation¶
Phi = stats.norm()
u = (a - n*p) / np.sqrt(n*p*(1-p))
u
-2.3306158657557545
1 - Phi.cdf(u)
0.9901131879356884