Wyznaczanie progu opłacalności loterii
Symulacje pozwalają zadawać bardziej szczegółowe pytania, które niekoniecznie mają proste rozwiązanie analityczne. Zamiast rozwiązywać skomplikowane wzory matematyczne, otrzymujemy bezpośrednio wiele przykładowych wyników. Możemy przeprowadzać eksperymenty, modyfikując dane wejściowe i obserwując, jak zmiany te wpływają na cały system. Na przykład – dysponując odpowiednio dokładnym modelem globalnych wzorców pogodowych – można by ocenić skutki wzrostu emisji gazów cieplarnianych.
W przypadku loterii warto zastanowić się, jak drogi musi być bilet, żeby jego zakup przestał mieć sens. Aby to sprawdzić, trzeba modyfikować koszt biletu i obserwować, kiedy oczekiwany zysk staje się ujemny.
W środowisku dostępne są zmienne: grand_prize, num_tickets oraz chance_of_winning.
To ćwiczenie jest częścią kursu
Symulacje statystyczne w Pythonie
Instrukcje do ćwiczenia
- Ustaw
simsna 3000, a zmiennąlottery_ticket_costna0. - Jeśli średnia wartość
outcomesspadnie poniżej0, wyjdź z pętliwhileza pomocąbreak. - W przeciwnym razie zwiększ
lottery_ticket_costo 1.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))