Bierflaschenabfüllungsproblem

Eine Berliner Brauerei stellt helles Bier in Flaschen von 0,33L her. Ein Kunde der Brauerei beschwert sich darüber, dass die Flaschen die Gläser nicht bis zum Eichstrich füllen. Er maß den Inhalt von 6 Flaschen aus einem 6er-Pack und erhielt diese sechs Werte:

$M_1=320.48, M_2=336.68, M_3=315.31,$ $M_4=323.86, M_5=330.54, M_6=327.28$

In [1]:
bier_stichprobe = [320.48, 336.68, 315.31, 323.86, 330.54, 327.28]; anzahl_bier = len(bier_stichprobe)
x_bar = sum(bier_stichprobe)/anzahl_bier; x_bar 
Out[1]:
325.691666666667

Das Stichprobenmittel beträgt: $\overline{x}=325,\!69166$

Die Stichprobenvarianz (empirische Varianz) beträgt:

(bias=False für die empirische Varianz)

In [2]:
Vx = sage.stats.basic_stats.variance(bier_stichprobe, bias=False);
print(Vx)
Sx = sqrt(Vx)
57.0136166666667

Die Standardabweichung der Stichprobe beträgt $S_x=\sqrt{V_x} \,=7,\!5507$.

AUFGABE: Unter der Annahme, dass die Biermenge in den Flaschen normalverteilt ist, geben Sie ein Intervall für die durchschnittliche Biermenge in den Flaschen mit einer Konfidenz von 95% an.

Lösung:

Schritt 1) Reduzierung auf den mathematischen Inhalt

  • Voraussetzung 1) Normalverteilte Daten
  • Voraussetzung 2) Stichprobe ist klein (n=6<30)
  • Voraussetzung 3) Die Varianz der Grundgesamtheit (alle Bierflaschen) ist unbekannt

$\Longrightarrow$ Wir sollten die Studentsche $t$-Verteilung nutzen.

Schritt 2) Modell einsetzen

$M$: Zufallsvariable ,,Biermenge in mL in einer Flasche''

$M\sim \text{Normal}($Unbekannte $\mu,$ Unbekannte $\sigma)$

$M_1,M_2,\dots,M_6$ sind $n=6$ unabhängige Realisierungen von $M$ mit Werten:

320.48, 336.68, 315.31, 323.86, 330.54, 327.28

$\overline{X}:=(M_1+M_2+M_3+M_4+M_5+M_6)/6$ : Zufallsvariable ,,Stichprobemittel"

$\mu$ (Erwartungswert von $M$) wird durch $\overline{x}$ (Stichprobemittel) geschätzt: $\overline{X}=325,\!69166$

Standardabweichung der Stichprobe ist $S_x=7,\!5507$

In Schritte 1) haben wir festgestellt, dass $\boxed{\left(\overline{X}-\mu\right)/\left(S_x/\sqrt{n}\right)\sim T_{n-1}=T_{5}\,\,\,\,\,}$

ZIEL: Für welche $A,B\in[0,\infty]$ gilt:

$\mathbb{P}(A\leq \mu\leq B) = 0,\!95$?

Schritt 3) Ermittlung der Lösung

Wir nutzen unsere Modelle und suchen $r$ sodass

$\mathbb{P}\left(-r\leq \sqrt{n}(\overline{X}-{\color{red}\mu})/S_x \leq r\right) = 0,\!95$.

Equivalent:

$\mathbb{P}\left(\sqrt{n}(\overline{X}-{\color{red}\mu})/S_x \leq r\right) = 0,\!975$ (Symmetrie von $T$)

Wir nutzen die $t$-Verteilung aus ,,scipy"

In [3]:
from scipy.stats import t
T5 = t(df=5) # df = (D)egrees of (F)reedom: Hier 6-1=5

Die Funktion t.ppf(0.975) gibt uns den Wert von $r$, sodass

$\mathbb{P}\left(\sqrt{n}(\overline{X}-{\color{red}\mu})/S_x \leq r\right) = 0,\!975$ und

$\sqrt{n}(\overline{X}-{\color{red}\mu})/S_x \sim T_{5}$ gilt.

In [4]:
r = T5.ppf(0.975); r
Out[4]:
2.5705818366147395

Das heißt:

$\mathbb{P}(-r\leq \sqrt{n}(\overline{X}-{\color{red}\mu})/S_x \leq r) = 0.95$

$\Longleftrightarrow$

$\mathbb{P}(\overline{X}-S_x\cdot r/\sqrt{n}\leq {\color{red}\mu} \leq \overline{X}+S_x\cdot r/\sqrt{n}) = 0.95$

Jetzt können wir das Intervall bestimmen:

In [5]:
wert = n(r*Sx/sqrt(anzahl_bier))
print("r*Sx/sqrt(n) = {}".format(wert))
A = x_bar - wert
B = x_bar + wert
interval = [A,B];
print("Das Intervall ist: {}".format(interval))
print("A={}, B={}".format(A,B))
r*Sx/sqrt(n) = 7.92401164432767
Das Intervall ist: [317.767655022339, 333.615678310994]
A=317.767655022339, B=333.615678310994

$\mathbb{P}\left(\overline{X}-7,\!9240 \leq \mu \leq \overline{X}+7,\!9240\right) = 0,\!95$

Da $\overline{X}=325,\!6916$, liegt das durchnittliche Volume $\mu$ im Intervall $[317,\!7676; 333,\!6156]$ mit Wahrscheinlichkeit 95%.

Schritt 4) Auslegung des Ergebnisses

Der Kunde kann zu 95% sicher sein, dass die durchschnittliche Biermenge $\mu$ innerhalb $[317,\!7676; 333,\!6156]$ liegt.

Vertiefungsfragen:

1. Hätte man die Normalverteilung anstelle der studentsche $t$-Verteilung verwenden können? Warum?

2. Welches Konfidenzniveau macht die erwartete Menge (330 ml) außerhalb des Konfidenzintervalls aus? (Zum Beispiel sodass $B=329$.)

Lösung für 2)

In [7]:
print("Das gewünschte r ist {}".format(neue_r))
print("r*S/sqrt(n) = {}".format(neue_wert))
print("Das neue Intervall ist {}".format(neue_intervall))
print("A={}, B={}".format(neue_A,neue_B))
Das gewünschte r ist 1.07323688528670
r*S/sqrt(n) = 3.30833333333334
Das neue Intervall ist [322.383333333333, 329.000000000000]
A=322.383333333333, B=329.000000000000

.cdf steht für Cumulative distribution function, also

$T.cdf(r)$ gibt die Wahrscheinlichkeit $\mathbb{P}(T\leq r)$

In [8]:
asymmetrische_wkeit = T5.cdf(neue_r); asymmetrische_wkeit
Out[8]:
0.8338960319076213

Nun berechnen wir die Wahrscheinlichkeit für das symmetrische Intervall $[322,\!38; 329]$

In [9]:
1 - (2 * (1 - asymmetrische_wkeit))
Out[9]:
0.6677920638152426

Durch die Symmetrie von $t_5$ erhalten wir, dass der Kunde ein 66% Konfidenzniveau hat, dass der Durchschnitt im Intervall $[322,\!38; 329]$ liegt.

Mit der Normalverteilung hätten wir ein 71,68% Konfidenzniveau bekommen. (Es stimmt aber mathematisch nicht!")