Wichtig: Damit alle benötigten Pakete richtig eingebunden werden, führen Sie die nächste Zelle einmal aus, sobald Sie das Notebook neu öffnen.
# some setup
%matplotlib inline
import numpy as np # makes numpy routines and data types available as np.[name ouf routine or data type]
import matplotlib.pyplot as plt # makes plotting command available as plot.[name of command]
from ipywidgets import interactive
import random
a) Implementieren Sie einen Algorithmus, der eine (pseudo)zufällige $n$-elementige Teilmenge aus der Menge $\{1,\ldots,m\}$ auswählt. Die Teilmenge kann als Liste gespeichert werden, und soll über eine Funktion $\texttt{rsubset[m,n]}$ abrufbar sein.
Hinweis: Erstellen Sie zuerst die Liste mit den Zahlen $1$ bis $m$. Um ein zufälliges Element der Liste $\texttt{Liste}$ auszuwählen, können Sie die Funktion $\texttt{random}.\texttt{choice(Liste)}$ benutzen. Ein Element $z$ kann mit $\texttt{Liste}.\texttt{remove(z)}$ aus der Liste entfernt werden.
# Fuegen Sie hier Ihre Loesung ein.
b) Verwenden Sie die Funktion $\texttt{rsubset[m,n]}$ um eine Funktion $\texttt{rhypgeom[m,r,n]}$ zu definieren, die eine Stichprobe von der hypergeometrischen Verteilung mit Parametern $m$, $r$ und $n$ erzeugt.
# Fuegen Sie hier Ihre Loesung ein.
c) Ziehen Sie nun $N=1000$ Stichproben der hypergeometrischen Verteilung mit Parametern $m=30$, $r=10$, $n=20$ und plotten Sie ein Histogram der empirischen Verteilung.
# Fuegen Sie hier Ihre Loesung ein.
d) Obwohl jede $n$-elementige Teilmenge mit derselben Wahrscheinlichkeit auftritt, empfindet man Mengen $\omega \subset \{1,2,\ldots,m\}$, die viele aufeinander folgende Zahlen enthalten, als weniger "zufällig". Diese Eigenschaft quantifizieren wir nun durch die Zahl
\begin{equation} X(\omega) := \max\{ k \, : \, k \text{ aufeinander folgende Zahlen gehören zu } \omega \}\, . \end{equation}Explizite Formeln für die Wahrscheinlichkeiten
\begin{equation} p_X(k) = \mathbb{P}[X = k] \end{equation}unter der Gleichverteilung auf den $n$-elementigen Teilmengen von $\{1,2,\ldots,m\}$ sind schwierig zu finden. Ein möglicher Ausweg sind Monte Carlo Schätzer. Dazu simuliert man $s$ zufällige $n$-elementige Teilmengen $\omega_1, \ldots, \omega_s$ und berechnet die relativen Häufigkeiten
\begin{equation} \hat p_X(k) = \frac{ \big|\{ 1 \leq i \leq s \, : \, X(\omega_i) = k \}\big| }{s} \end{equation}als Schätzwert für die Wahrscheinlichkeiten $p_X(k)$.
Berechnen Sie Monte-Carlo Schätzer für $n=15$, $m=30$ und verschiedene Werte $s$ zwischen $1$ und $1000$. Stellen Sie $\hat p_X$ jeweils graphisch dar.
# Fuegen Sie hier Ihre Loesung ein.