$\pi$ würfeln
Idee: Man wählt wiederholt zufällig einen Punkt $P$ im Einheitsquadrat (achsenparalleles Quadrat mit Ecken $(0,0)$ und $(1,1)$).
Man zählt, wie oft der Punkt im Einheitskreis liegt. Der erwartete Anteil entspricht dem Flächenverhältnis zwischen Viertelkreis und Quadrat, also $\frac{\pi}{4}$.
WebTigerPython: https://webtigerpython.ethz.ch/
Ein Punkt
from random import random def punkt(): x = random() y = random() if ........ # Punkt im Kreis? return 1 # Resultat ist 1 return 0 # Resultat ist 0 # Test-Code for i in range(20): print(f"Test {i}: {punkt()}")
$n$ Punkte
def experiment(n): summe = 0 for i in range(n): summe += punkt() # Mittelwert xbar = summe/n # Standardabweichung s = (1/(n-1)*(summe*(1-xbar)**2 + (n-summe)*xbar**2))**0.5 return [xbar, s] # Test-Code print(experiment(1000))
95% Vertrauensintervall
def intervall(n): e = experiment(n) etwapi = e[0]*4 s = e[1]*4 sbar = s/(n**0.5) return [etwapi - 2*sbar, etwapi + 2*sbar] # Test-Code for i in range(10): print(intervall(100))
Intervalle testen
import math def vertrauensfrage(n,k): ok = 0 for i in range(k): bereich = intervall(n) if (math.pi>bereich[0] and math.pi<bereich[1]): ok += 1 return ok/k # Test-Code print(vertrauensfrage(100,1000))
Vertrauensintervall für die Vertrauensintervallswahrscheinlichkeitsabschätzung
In der Funktion vertrauensfrage
berechnen Sie die Standardabweichung der Schätzung des Anteils und damit ein Vetrauensintervall.
Wie verhält sich das Intervall für kleine $n$? Siehe auch Tabelle einiger t-Quantile: https://de.wikipedia.org/wiki/Studentsche_t-Verteilung