Zacznij terazZacznij za darmo

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)

Zobacz kurs

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 przez tau1 i przypisz do t1.
    • Wylosuj czasy oczekiwania (liczba próbek: size) na hitting the cycle z rozkładu wykładniczego sparametryzowanego przez tau2 i przypisz do t2.
    • Funkcja zwraca sumę czasów oczekiwania na oba zdarzenia.

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
Edytuj i uruchom kod