Calculer un prix de loterie d'équilibre
Les simulations nous permettent de poser des questions plus nuancées qui n'ont pas nécessairement une solution analytique simple. Plutôt que de résoudre une formule mathématique complexe, on obtient directement de multiples résultats d'échantillonnage. On peut faire des expériences en modifiant les paramètres d'entrée et en étudiant comment ces changements influencent le système. Par exemple, une fois qu'on a un modèle raisonnablement fidèle des régimes climatiques mondiaux, on peut évaluer l'impact d'une hausse des émissions de gaz à effet de serre.
Dans l'exemple de loterie, on pourrait vouloir savoir à quel prix le billet doit être pour qu'il ne soit plus avantageux de l'acheter. Pour le déterminer, il faut modifier le coût du billet afin de voir quand l'espérance de gain devient négative.
grand_prize, num_tickets et chance_of_winning sont déjà chargées dans l'environnement.
Cette activité fait partie du cours
Simulation statistique en Python
Instructions de l’exercice
- Définissez
simsà 3000 et la variablelottery_ticket_costà0. - Si la valeur moyenne de
outcomespasse sous0, faites unbreakpour sortir de la bouclewhile. - Sinon, incrémentez
lottery_ticket_costde 1.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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))