Wenn du eine Geschichte hast, kannst du sie simulieren!
Manchmal hat die Geschichte, die unsere Wahrscheinlichkeitsverteilung beschreibt, keine benannte Verteilung. Keine Sorge: In solchen Fällen kannst du sie immer simulieren. Das machen wir in dieser und der nächsten Übung.
In früheren Übungen haben wir uns das seltene Ereignis eines No-Hitters in der Major League Baseball angesehen. Hitting the cycle – wenn ein Batter in einem Spiel alle vier Arten von Hits erzielt – ist ein weiteres seltenes Baseball-Ereignis. Genau wie No-Hitters lässt sich das als Poisson-Prozess modellieren, daher sind die Zeiten zwischen solchen „cycle“-Hits ebenfalls exponentialverteilt.
Wie lange müssen wir warten, bis ein No-Hitter passiert und danach ein Batter den Cycle schafft? Die Idee: Wir warten eine gewisse Zeit auf den No-Hitter, und nach dem No-Hitter warten wir erneut auf das Hitting the cycle. Anders formuliert: Wie lang ist die Gesamtwartezeit, bis zwei verschiedene Poisson-Prozesse nacheinander eintreten? Die Gesamtwartezeit ist die Summe aus der Wartezeit auf den No-Hitter und der Wartezeit auf das Hitting the cycle.
Jetzt schreibst du eine Funktion, die aus der durch diese Geschichte beschriebenen Verteilung sampelt.
Diese Übung ist Teil des Kurses
Statistical Thinking in Python (Teil 1)
Anleitung zur Übung
- Definiere eine Funktion mit der Signatur
successive_poisson(tau1, tau2, size=1), die die Wartezeit für einen No-Hitter und einen Cycle-Hit sampelt.- Ziehe Wartezeiten (Anzahl
sizeStichproben) für den No-Hitter aus einer Exponentialverteilung mit Parametertau1und weise siet1zu. - Ziehe Wartezeiten (Anzahl
sizeStichproben) für das Hitting the cycle aus einer Exponentialverteilung mit Parametertau2und weise siet2zu. - Die Funktion gibt die Summe der Wartezeiten für die beiden Ereignisse zurück.
- Ziehe Wartezeiten (Anzahl
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
def successive_poisson(tau1, tau2, size=1):
"""Compute time for arrival of 2 successive Poisson processes."""
# Draw samples out of first exponential distribution: t1
t1 = ____(____, ____)
# Draw samples out of second exponential distribution: t2
t2 = ____(____, ____)
return t1 + t2