Har du en berättelse kan du simulera den!
Ibland saknas en namngiven fördelning som passar just den berättelse vi beskriver vår sannolikhetsfördelning med. Men det är inget problem – du kan alltid simulera den. Det gör vi i den här och nästa övning.
I tidigare övningar undersökte vi det sällsynta fenomenet no-hitter i Major League Baseball. Hitting the cycle – när en slagman lyckas med alla fyra typer av träffar i ett och samma spel – är ett annat sällsynt baseballfenomen. Precis som no-hitter kan det modelleras som en Poisson-process, vilket innebär att väntetiden mellan sådana händelser också är exponentialfördelad.
Hur länge måste vi vänta på att se en no-hitter och sedan en slagman som slår cykeln? Tanken är att vi måste vänta en tid på no-hittern, och sedan, efter no-hittern, vänta på att cykeln slås. Med andra ord: vad är den totala väntetiden för att två olika Poisson-processer ska inträffa i följd? Den totala väntetiden är summan av väntetiden för no-hittern och väntetiden för cykeln.
Nu ska du skriva en funktion som samplar från den fördelning som den här berättelsen beskriver.
Den här övningen är en del av kursen
Statistiskt tänkande i Python (del 1)
Övningsinstruktioner
- Definiera en funktion med signaturen
successive_poisson(tau1, tau2, size=1)som samplar väntetiden för en no-hitter och en hit av cykeln.- Dra väntetider (
sizeantal samplar) för no-hittern från en exponentialfördelning parametriserad medtau1och tilldela tillt1. - Dra väntetider (
sizeantal samplar) för cykeln från en exponentialfördelning parametriserad medtau2och tilldela tillt2. - Funktionen returnerar summan av väntetiderna för de två händelserna.
- Dra väntetider (
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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