Výpočet ceny loterního lístku na hranici zisku
Simulace nám umožňují klást složitější otázky, na které nemusí existovat jednoduchá analytická odpověď. Místo řešení komplikovaných matematických vzorců přímo získáváme více vzorových výsledků. Provádět experimenty pak znamená jednoduše upravit vstupní hodnoty a sledovat, jak tyto změny ovlivňují celý systém. Například se základním modelem globálních klimatických vzorců bychom mohli vyhodnotit dopady zvýšených emisí skleníkových plynů.
V příkladu s loterií nás může zajímat, jak drahý musí být lístek, aby se jeho koupě přestala vyplácet. Abychom to zjistili, budeme měnit cenu lístku a sledovat, kdy se očekávaný výnos dostane do záporných čísel.
V prostředí jsou načteny proměnné grand_prize, num_tickets a chance_of_winning.
Toto cvičení je součástí kurzu
Statistické simulace v Pythonu
Pokyny k cvičení
- Nastav
simsna 3000 a proměnnoulottery_ticket_costna0. - Pokud průměrná hodnota
outcomesklesne pod0, ukončiwhilesmyčku pomocíbreak. - Jinak zvyš
lottery_ticket_costo 1.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))