Een break-even loterijprijs berekenen
Simulaties laten je meer genuanceerde vragen stellen die niet per se een makkelijke analytische oplossing hebben. In plaats van een complexe wiskundige formule op te lossen, krijg je direct meerdere steekproefuitkomsten. We kunnen experimenten uitvoeren door inputs aan te passen en te bestuderen hoe die veranderingen het systeem beïnvloeden. Zo zouden we, zodra we een redelijk model van wereldwijde weerpatronen hebben, de impact van toegenomen uitstoot van broeikasgassen kunnen evalueren.
In het loterijvoorbeeld willen we misschien weten hoe duur het lot moet zijn voordat het niet meer logisch is om het te kopen. Om dit te begrijpen, moeten we de ticketprijs aanpassen om te zien wanneer de verwachte uitbetaling negatief wordt.
grand_prize, num_tickets en chance_of_winning zijn in de omgeving geladen.
Deze oefening maakt deel uit van de cursus
Statisticale simulatie in Python
Oefeninstructies
- Zet
simsop 3000 en de variabelelottery_ticket_costop0. - Als de gemiddelde waarde van
outcomesonder0komt,breakdan uit dewhile-lus. - Anders verhoog je
lottery_ticket_costmet 1.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Initialize simulations and cost of ticket
sims, lottery_ticket_cost = ____, ____
# Use a while loop to increment `lottery_ticket_cost` till average value of outcomes falls below zero
while 1:
outcomes = np.random.choice([-lottery_ticket_cost, grand_prize-lottery_ticket_cost],
size=sims, p=[1-chance_of_winning, chance_of_winning], replace=True)
if outcomes.mean() < 0:
____
else:
____ += 1
answer = lottery_ticket_cost - 1
print("The highest price at which it makes sense to buy the ticket is {}".format(answer))