LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Setze sims auf 3000 und die Variable lottery_ticket_cost auf 0.
  • Falls der Mittelwert von outcomes unter 0 fällt, break aus der while-Schleife aus.
  • Andernfalls erhöhe lottery_ticket_cost um 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))
Code bearbeiten und ausführen