Würfelexperiment
Contents
Würfelexperiment¶
Generieren Sie \(100.000\) (gleichwahrscheinliche) Würfe eines Würfels und berechnen Sie Mittelwert und Standardabweichung der Würfelsumme.
Wählen Sie aus den Würfelsummen \(200\) Stichproben mit einer Stichprobengrösse von \(50\) aus. Berechnen Sie den Standardfehler mit
\[\sigma_{\bar{x}} = \frac{\sigma}{\sqrt{n}}\]
wobei \(\sigma_{\bar{x}}\) als Standardfehler, \(\sigma\) als Standardabweichung der Stichprobe und \(\sqrt{n}\) als Wurzel aus der Stichprobengrösse
Wiederholen Sie das Experiment für \(10\) Würfel
Hilfsfunktionen
import numpy as np
def dice_roll(nrolls: int, nsides: int = 6, seed=None) -> list:
"""Function to simulate a dice roll
params:
nrolls: number of rolls/dices
nsides: number of sides
"""
if seed is not None:
np.random.seed(seed)
return [np.random.randint(1, nsides + 1) for x in range(nrolls)]
# Frage 1 ...
# Frage 2 ...
# Frage 3 ...
Lösungen¶
# Experiment
N = 100000
experiment = dice_roll(N, seed=42)
# Statistik des Experiments
print(f"Mittelwert Würfelsumme: {np.mean(experiment)}")
print(f"Standardabweichung Würfelsumme: {np.std(experiment)}")
Mittelwert Würfelsumme: 3.50312
Standardabweichung Würfelsumme: 1.7075333863793118
# Stichprobenverteilung und Standardfehler
n = 50
sample_means = []
for i in range(200):
sample = np.random.choice(experiment, n, replace=True)
sample_means.append(np.mean(sample))
std_error = np.std(sample_means) / np.sqrt(n)
print(f"Der Standardfehler beträgt {np.round(std_error,4)}.")
Der Standardfehler beträgt 0.0312.
# experiment
N = 100000
experiment = []
for i in range(N):
roll = dice_roll(nrolls=10)
roll_sum = np.sum(roll)
experiment.append(roll_sum)
# Statistik des Experiments
print("Mittelwert Würfelsumme:", np.mean(experiment))
print("Standardabweichung Würfelsumme:", np.std(experiment))
# Stichprobenverteilung und Standardfehler
n = 50
sample_means = []
for i in range(200):
sample = np.random.choice(experiment, n, replace=True)
sample_means.append(np.mean(sample))
std_error = np.std(sample_means) / np.sqrt(n)
print(f"Der Standardfehler beträgt {np.round(std_error,4)}.")
Mittelwert Würfelsumme: 34.99722
Standardabweichung Würfelsumme: 5.39307076456447
Der Standardfehler beträgt 0.1067.