Zum Hauptinhalt springen

1.4 Sampling, Parameterschätzung und Güte von Schätzern

Diese Seite geht beide Richtungen des Urnenbilds aus 1.2 durch: erst Modell → Daten (Sampling), dann Daten → Modell (Parameterschätzung, also Training), und schließlich die Frage, wie gut eine Schätzung ist. Begleitend gibt es das Jupyter-Notebook intro.ipynb aus dem Repository ioskn/mldl_htwg 📄 02_recap_stats_ws26.pdf, Folie 18.

Wahrscheinlichkeit: das Modell​

📄 02_recap_stats_ws26.pdf, Folie 27 Zwei Modelle mit bekannten Parametern:

1. Münzwurf, Binomialverteilung. Eine Münze wird n=20n=20-mal geworfen, die Wahrscheinlichkeit für „Kopf“ ist π=0,2\pi = 0{,}2. Wie wahrscheinlich sind kk-mal Kopf?

k∼Binom⁡(n=20, π=0,2)k \sim \operatorname{Binom}(n=20,\ \pi=0{,}2)

Ergänzung, nicht auf den Folien: Die pmf der Binomialverteilung ist

P(k)=(nk)πk(1−π)n−k,E(k)=nπ.P(k) = \binom{n}{k}\pi^k(1-\pi)^{n-k},\qquad E(k) = n\pi.

Zahlenbeispiel: P(k=4)=(204) 0,24 0,816=4845⋅0,0016⋅0,02815≈0,218P(k=4) = \binom{20}{4}\,0{,}2^4\,0{,}8^{16} = 4845\cdot 0{,}0016\cdot 0{,}02815 \approx 0{,}218. Im Mittel erwartet man E(k)=20⋅0,2=4E(k)=20\cdot0{,}2 = 4-mal Kopf.

2. Benzinverbrauch, Normalverteilung. Man fährt 100 km, wie viele Liter xx Benzin braucht man? Annahme: Die Daten werden aus einer Normalverteilung mit μ=6\mu=6, σ2=1\sigma^2=1 gezogen (sampled/drawn from, generated by):

x∼N(μ=6, σ2=1)x \sim N(\mu = 6,\ \sigma^2 = 1)

Ergänzung, nicht auf den Folien: Die Dichte ist f(x)=12πσ2exp⁡ ⁣(−(x−μ)22σ2)f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\!\left(-\frac{(x-\mu)^2}{2\sigma^2}\right). Etwa 68 % der Werte liegen in μ±σ\mu\pm\sigma, hier also zwischen 5 und 7 Litern, etwa 95 % in μ±2σ\mu\pm2\sigma.

Notation

Die Folie lässt bewusst den Unterschied zwischen der Zufallsvariable XX (Großbuchstabe) und einer konkreten Realisierung xx (Kleinbuchstabe) weg. Streng genommen schreibt man X∼N(μ=6,σ2=1)X\sim N(\mu=6,\sigma^2=1). Beachte auch: In der Vorlesung heißt der Parameter der Binomialverteilung π\pi (nicht die Kreiszahl!), anderswo oft pp.

Modell → Daten: Sampling​

📄 02_recap_stats_ws26.pdf, Folie 28 Zieht man aus einem Modell, variieren die Daten: Jede Ziehung liefert andere Werte. Im Notebook wird das Auto-Beispiel mit NumPy simuliert:

import numpy as np
x = np.random.normal(loc=6, scale=1, size=10) # 10 Fahrten à 100 km
# z. B. [6.27, 5.95, 5.76, 5.09, 5.42, 6.76, 6.50, 5.02, 6.10, 6.75]
Fallstrick: scale ist die Standardabweichung

np.random.normal erwartet in scale die Standardabweichung σ\sigma, nicht die Varianz σ2\sigma^2. Bei σ2=1\sigma^2=1 ist das egal, bei σ2=4\sigma^2=4 müsste man scale=2 schreiben.

Man kann sich das Modell als Maschine mit Drehknöpfen vorstellen: Die Knöpfe sind die Parameter μ\mu und σ\sigma. Dreht man an ihnen, ändern sich die erzeugten Daten.

xx muss keine einzelne Zahl sein. Die Folie zeigt 15 Gesichter, die aus dem Deep-Learning-Modell Glow gezogen wurden (über 100 Mio. Parameter, 800 MB). Jedes Bild ist ein xx mit 256×256×3256\times256\times3 Werten (Pixel × Farbkanäle). Diese Menschen existieren nicht. Das Prinzip ist aber dasselbe wie bei np.random.normal: ein Modell mit Parametern, aus dem man zieht. Nur hat es eben 100 Millionen „Drehknöpfe“ statt zwei.

Daten → Modell: Inferenz (Training)​

📄 02_recap_stats_ws26.pdf, Folie 29 Jetzt die umgekehrte Richtung: Die Parameter sind unbekannt, man hat nur die Daten. Das nennt man Parameterschätzung (parameter estimation).

Münze: 20 Würfe, k=12k=12-mal Kopf beobachtet. Bester Tipp für π\pi?

k∼Binom⁡(n=20, π=???)k\sim\operatorname{Binom}(n=20,\ \pi = ???)

Naheliegend ist die relative Häufigkeit:

π^=kn=1220=0,6.\hat\pi = \frac{k}{n} = \frac{12}{20} = 0{,}6.

Das Dach  ^\hat{\ } kennzeichnet einen Schätzwert (estimate) im Gegensatz zum wahren, unbekannten Parameter.

Auto: 10 Fahrten, beobachtet:

6,27045683; 5,94976189; 5,76105195; 5,09243634; 5,42322867; 6,75539123; 6,50091719; 5,02244476; 6,09933231; 6,75138712.

Annahme x∼N(μ,σ2)x\sim N(\mu,\sigma^2). Bester Tipp für μ\mu und σ\sigma? Naheliegend: Mittelwert und empirische Standardabweichung.

μ^=xˉ=110∑i=110xi=59,62610≈5,96,σ^=s=19∑i=110(xi−xˉ)2≈0,63.\hat\mu = \bar x = \frac{1}{10}\sum_{i=1}^{10} x_i = \frac{59{,}626}{10} \approx 5{,}96, \qquad \hat\sigma = s = \sqrt{\frac{1}{9}\sum_{i=1}^{10}(x_i-\bar x)^2} \approx 0{,}63.

Die Daten wurden tatsächlich mit μ=6,σ=1\mu=6,\sigma=1 erzeugt (es sind dieselben Werte wie auf Folie 28). Die Schätzungen liegen in der Nähe, sind aber nicht exakt gleich, weil 10 Werte nur eine zufällige Stichprobe sind.

Ergänzung, nicht auf den Folien: Beide Schätzer (k/nk/n und xˉ\bar x) sind auch die Maximum-Likelihood-Schätzer: Sie wählen die Parameter, unter denen die beobachteten Daten am wahrscheinlichsten sind. Das Prinzip kommt später in der Vorlesung wieder.

Güte der Schätzung: Stichprobenverteilung​

📄 02_recap_stats_ws26.pdf, Folie 30 Ist der Mittelwert der Daten eine gute Schätzung für den Erwartungswert?

Die zentrale Idee: Ein Schätzer wie xˉ\bar x ist selbst eine Zufallsvariable. Würde man das Experiment (10 Fahrten) wiederholen, bekäme man andere Daten und damit einen anderen Mittelwert. Wiederholt man es sehr oft und zeichnet ein Histogramm aller Mittelwerte, erhält man die Stichprobenverteilung (sampling distribution) des Schätzers. Die Folie zeigt genau das: ein glockenförmiges Histogramm, zentriert bei 6, das etwa von 5 bis 7 reicht.

mus = [np.random.normal(6, 1, size=10).mean() for _ in range(10000)]
np.mean(mus), np.std(mus) # ≈ 6.0 und ≈ 0.32

Drei Gütekriterien:

KriteriumBedeutungIm Histogramm
Erwartungstreue (unbiasedness)Der Erwartungswert des Schätzers ist der wahre Wert: E(θ^)=θE(\hat\theta)=\thetaHistogramm ist beim wahren Wert zentriert
Konsistenz (consistency)Für Stichprobengröße n→∞n\to\infty geht der Schätzer gegen den wahren WertHistogramm wird mit wachsendem nn immer schmaler um den wahren Wert
Effizienz (efficiency)Die Streuung der Stichprobenverteilung soll klein seinschmales Histogramm

Die Folie merkt an, dass Konsistenz exakt zu formulieren „etwas kompliziert“ ist (es geht um Konvergenz in Wahrscheinlichkeit), das braucht man hier nicht.

Bild: Zielscheibe

Erwartungstreu heißt: Die Schüsse liegen im Mittel auf der Mitte. Effizient heißt: Die Schüsse liegen eng beieinander. Ein Schätzer kann erwartungstreu, aber ineffizient sein (weit gestreut um die Mitte) oder effizient, aber verzerrt (eng beieinander, aber daneben).

Herleitung: der Mittelwert ist erwartungstreu​

Laut Folie 1 an der Tafel erklärt, Formeln nicht auf den Folien. Seien X1,…,XnX_1,\dots,X_n unabhängig und identisch verteilt (i.i.d.) mit E(Xi)=μE(X_i)=\mu und Var⁡(Xi)=σ2\operatorname{Var}(X_i)=\sigma^2. Mit der Linearität des Erwartungswerts:

E(Xˉ)=E ⁣(1n∑i=1nXi)=1n∑i=1nE(Xi)=1n⋅nμ=μ.✓E(\bar X) = E\!\left(\frac1n\sum_{i=1}^n X_i\right) = \frac1n\sum_{i=1}^n E(X_i) = \frac1n\cdot n\mu = \mu. \qquad\checkmark

Herleitung: Streuung des Mittelwerts​

Ebenfalls Tafel, nicht auf den Folien. Wegen der Unabhängigkeit addieren sich die Varianzen, und der Faktor 1n\frac1n geht quadratisch ein:

Var⁡(Xˉ)=1n2∑i=1nVar⁡(Xi)=1n2⋅nσ2=σ2n,sd⁡(Xˉ)=σn.\operatorname{Var}(\bar X) = \frac{1}{n^2}\sum_{i=1}^n \operatorname{Var}(X_i) = \frac{1}{n^2}\cdot n\sigma^2 = \frac{\sigma^2}{n}, \qquad \operatorname{sd}(\bar X) = \frac{\sigma}{\sqrt n}.

Die Standardabweichung eines Schätzers heißt Standardfehler (standard error). Im Auto-Beispiel: σ/n=1/10≈0,32\sigma/\sqrt{n} = 1/\sqrt{10}\approx 0{,}32. Das passt zum Histogramm auf Folie 30: Etwa 95 % der Mittelwerte liegen in 6±2⋅0,326\pm 2\cdot0{,}32, also ungefähr zwischen 5,4 und 6,6.

Daraus folgt die Konsistenz: Für n→∞n\to\infty geht Var⁡(Xˉ)=σ2/n→0\operatorname{Var}(\bar X)=\sigma^2/n\to0, die Stichprobenverteilung zieht sich auf μ\mu zusammen.

Fallstrick: n\sqrt n-Gesetz

Um den Standardfehler zu halbieren, braucht man die vierfache Datenmenge, nicht die doppelte. Für eine zehnmal genauere Schätzung braucht man hundertmal so viele Daten.

Warum n-1 in der empirischen Varianz?​

Ergänzung, nicht auf den Folien (das „unbiasedness“-Thema der Tafel). Würde man 1n∑(xi−xˉ)2\frac1n\sum(x_i-\bar x)^2 verwenden, unterschätzte man σ2\sigma^2 systematisch. Grund: xˉ\bar x ist aus denselben Daten berechnet und liegt deshalb „näher“ an den Daten als das wahre μ\mu. Formal: Mit der Zerlegung

∑i=1n(Xi−Xˉ)2=∑i=1n(Xi−μ)2−n(Xˉ−μ)2\sum_{i=1}^n (X_i-\bar X)^2 = \sum_{i=1}^n (X_i-\mu)^2 - n(\bar X-\mu)^2

folgt

E ⁣[∑i=1n(Xi−Xˉ)2]=nσ2−n⋅σ2n=(n−1)σ2.E\!\left[\sum_{i=1}^n (X_i-\bar X)^2\right] = n\sigma^2 - n\cdot\frac{\sigma^2}{n} = (n-1)\sigma^2.

Teilt man also durch n−1n-1, ist s2s^2 erwartungstreu: E(s2)=σ2E(s^2)=\sigma^2. Man sagt auch: Durch das Schätzen von μ\mu geht ein Freiheitsgrad verloren.

Im Auto-Beispiel: mit n−1n-1 ist s≈0,635s\approx0{,}635, mit nn wären es 0,6020{,}602. Für große nn wird der Unterschied vernachlässigbar.

Die Macht des Samplings​

📄 02_recap_stats_ws26.pdf, Folie 32 Oft machen scheinbar einfache Statistik-Fragen analytisch Probleme. Dann gilt: Wenn möglich, sample!

Beispiel: X∼unif⁡(0,1)X\sim\operatorname{unif}(0,1) (gleichverteilt auf [0,1][0,1]). Wie ist Y=X2Y=X^2 verteilt, und was ist der Mittelwert?

Per Sampling (Demo im Notebook, 📄 02_recap_stats_ws26.pdf, Folie 33):

x = np.random.uniform(0, 1, size=100_000)
y = x**2
y.mean() # ≈ 0.333
# plt.hist(y, bins=100, density=True) → viele Werte nahe 0, wenige nahe 1

Das Histogramm zeigt sofort: YY ist nicht gleichverteilt. Quadrieren drückt Werte unter 1 Richtung 0 (z. B. 0,52=0,250{,}5^2 = 0{,}25), also häufen sich die YY-Werte bei 0.

Analytisch (die Folie stellt das als Übung „mit Variablentransformation“, change of variable; die folgende Lösung steht nicht auf den Folien):

  1. cdf von YY: Für 0≤y≤10\le y\le1 gilt FY(y)=P(X2≤y)=P(X≤y)=y,F_Y(y) = P(X^2\le y) = P(X\le\sqrt y) = \sqrt y, denn bei der Gleichverteilung auf [0,1][0,1] ist P(X≤t)=tP(X\le t)=t.
  2. Dichte durch Ableiten: fY(y)=FY′(y)=12yfu¨r 0<y≤1.f_Y(y) = F_Y'(y) = \frac{1}{2\sqrt y}\quad\text{für } 0\lt y\le1. Die Dichte geht für y→0y\to0 gegen unendlich, das erklärt den hohen Balken links im Histogramm. Trotzdem ist die Fläche ∫0112y dy=[y]01=1\int_0^1 \frac{1}{2\sqrt y}\,dy = [\sqrt y]_0^1 = 1.
  3. Mittelwert: Am einfachsten direkt über XX: E(Y)=E(X2)=∫01x2⋅1 dx=13.E(Y) = E(X^2) = \int_0^1 x^2\cdot 1\,dx = \frac13.
Fallstrick

E(X2)≠E(X)2E(X^2)\ne E(X)^2. Hier ist E(X)2=0,52=0,25E(X)^2 = 0{,}5^2 = 0{,}25, aber E(X2)=13E(X^2) = \tfrac13. Die Differenz ist genau die Varianz: Var⁡(X)=13−14=112\operatorname{Var}(X) = \tfrac13-\tfrac14 = \tfrac1{12}. Allgemein gilt E(g(X))≠g(E(X))E(g(X))\ne g(E(X)) für nichtlineare gg.

Warum ist das für ML wichtig? Bei komplexen Modellen (neuronale Netze, Glow, LLMs) ist eine analytische Rechnung praktisch unmöglich. Sampling funktioniert dagegen immer, solange man aus dem Modell ziehen kann.