Masz historię – możesz ją zasymulować!
Czasem zdarzenie, które opisuje nasz rozkład prawdopodobieństwa, nie pasuje do żadnego rozkładu o ustalonej nazwie. Nie ma powodu do obaw! Zawsze możesz takie zdarzenie zasymulować. Właśnie to zrobimy w tym i w kolejnym ćwiczeniu.
We wcześniejszych ćwiczeniach przyglądaliśmy się rzadkim zdarzeniom w baseball – meczom bez odbicia (no-hitter). Inne rzadkie zdarzenie to hitting the cycle, czyli sytuacja, gdy pałkarz zdobywa wszystkie cztery rodzaje uderzeń w jednym meczu. Podobnie jak mecze bez odbicia, to zdarzenie można modelować jako proces Poissona – a zatem czas między kolejnymi hits of the cycle ma rozkład wykładniczy.
Jak długo trzeba czekać, aż najpierw pojawi się no-hitter, a potem pałkarz zalicza hitting the cycle? Innymi słowy, czekamy pewien czas na no-hitter, a następnie – już po jego wystąpieniu – czekamy na hitting the cycle. Łączny czas oczekiwania to suma czasu do no-hittera i czasu do hitting the cycle.
Teraz napiszesz funkcję, która losuje próbki z rozkładu opisanego przez tę historię.
To ćwiczenie jest częścią kursu
Myślenie statystyczne w Pythonie (część 1)
Instrukcje do ćwiczenia
- Zdefiniuj funkcję o sygnaturze wywołania
successive_poisson(tau1, tau2, size=1), która losuje łączny czas oczekiwania na no-hitter i hitting the cycle.- Wylosuj czasy oczekiwania (liczba próbek:
size) na no-hitter z rozkładu wykładniczego sparametryzowanego przeztau1i przypisz dot1. - Wylosuj czasy oczekiwania (liczba próbek:
size) na hitting the cycle z rozkładu wykładniczego sparametryzowanego przeztau2i przypisz dot2. - Funkcja zwraca sumę czasów oczekiwania na oba zdarzenia.
- Wylosuj czasy oczekiwania (liczba próbek:
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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