Když máš příběh, můžeš ho simulovat!
Někdy příběh popisující naše pravděpodobnostní rozdělení nemá žádné pojmenované rozdělení, které by mu odpovídalo. V takových případech není důvod k obavám – vždy ho lze simulovat. Právě to uděláme v tomto a následujícím cvičení.
V dřívějších cvičeních jsme se zabývali vzácnou událostí v Major League Baseball – no-hitterem. Hitting the cycle, kdy pálkař v jednom zápase dosáhne všech čtyř druhů odpalů, je další vzácnou baseballovou událostí. Stejně jako no-hittery lze i tuto událost modelovat jako Poissonův proces, takže čekací doby mezi cykly jsou také exponenciálně rozděleny.
Jak dlouho musíme čekat, než uvidíme no-hitter a poté pálkaře, který dosáhne cyklu? Jde o to, že nejprve čekáme na no-hitter a teprve po něm čekáme na hitting the cycle. Jinými slovy: jaká je celková čekací doba na příchod dvou různých Poissonových procesů za sebou? Celková čekací doba je součtem doby čekání na no-hitter a doby čekání na hitting the cycle.
Nyní napíšeš funkci, která vzorkuje z rozdělení popsaného tímto příběhem.
Toto cvičení je součástí kurzu
Statistical Thinking in Python (Part 1)
Pokyny k cvičení
- Definuj funkci s hlavičkou
successive_poisson(tau1, tau2, size=1), která vzorkuje čekací dobu na no-hitter a na hitting the cycle.- Z exponenciálního rozdělení parametrizovaného hodnotou
tau1vygeneruj čekací doby (počet vzorků odpovídásize) pro no-hitter a výsledek přiřaď dot1. - Z exponenciálního rozdělení parametrizovaného hodnotou
tau2vygeneruj čekací doby (počet vzorků odpovídásize) pro hitting the cycle a výsledek přiřaď dot2. - Funkce vrátí součet čekacích dob obou událostí.
- Z exponenciálního rozdělení parametrizovaného hodnotou
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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