Einen Break-even-Lotteriepreis berechnen
Mit Simulationen können wir differenziertere Fragen stellen, die nicht unbedingt eine einfache analytische Lösung haben. Anstatt eine komplexe mathematische Formel zu lösen, erhalten wir direkt mehrere Stichprobenergebnisse. Wir können Experimente durchführen, indem wir Eingaben verändern und untersuchen, wie sich diese Änderungen auf das System auswirken. Wenn wir zum Beispiel ein halbwegs realistisches Modell globaler Wetterlagen haben, könnten wir die Auswirkungen steigender Treibhausgasemissionen bewerten.
Im Lotterie-Beispiel möchten wir vielleicht wissen, wie teuer das Ticket sein darf, damit es keinen Sinn mehr ergibt, es zu kaufen. Dafür müssen wir die Ticketkosten so anpassen, dass wir sehen, wann der erwartete Gewinn negativ wird.
grand_prize, num_tickets und chance_of_winning sind in der Umgebung geladen.
Diese Übung ist Teil des Kurses
Statistische Simulation in Python
Anleitung zur Übung
- Setze
simsauf 3000 und die Variablelottery_ticket_costauf0. - Falls der Mittelwert von
outcomesunter0fällt,breakaus derwhile-Schleife aus. - Andernfalls erhöhe
lottery_ticket_costum 1.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))