Aan de slagGa gratis aan de slag

Als je een verhaal hebt, kun je het simuleren!

Soms heeft het verhaal achter onze kansverdeling geen bijpassende, benoemde verdeling. Geen zorgen! Je kunt het altijd simuleren. Dat doen we in deze en de volgende oefening.

In eerdere oefeningen keken we naar de zeldzame gebeurtenis van no-hitters in Major League Baseball. Hitting the cycle, wanneer een slagman alle vier soorten hits in één wedstrijd slaat, is een andere zeldzame honkbalgebeurtenis. Net als no-hitters kun je dit modelleren als een Poisson-proces, dus de tijd tussen cycles is ook exponentieel verdeeld.

Hoe lang moeten we wachten tot we een no-hitter zien en daarna een slagman die de cycle slaat? Het idee is dat je eerst een tijd wacht op de no-hitter, en daarna, na de no-hitter, wacht je op de cycle. Anders gezegd: wat is de totale wachttijd voor de opeenvolgende aankomst van twee verschillende Poisson-processen? De totale wachttijd is de tijd gewacht op de no-hitter plus de tijd gewacht op de cycle.

Nu ga je een functie schrijven die samples trekt uit de verdeling die door dit verhaal wordt beschreven.

Deze oefening maakt deel uit van de cursus

Statistisch denken in Python (deel 1)

Cursus bekijken

Oefeninstructies

  • Definieer een functie met de call signature successive_poisson(tau1, tau2, size=1) die de wachttijd samplet voor een no-hitter en een cycle-hit.
    • Trek wachttijden (size aantal samples) voor de no-hitter uit een exponentiële verdeling met parameter tau1 en wijs toe aan t1.
    • Trek wachttijden (size aantal samples) voor de cycle uit een exponentiële verdeling met parameter tau2 en wijs toe aan t2.
    • De functie retourneert de som van de wachttijden voor de twee gebeurtenissen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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
Code bewerken en uitvoeren