计算彩票的盈亏平衡价格
模拟可以让我们提出更细致的问题,而这些问题未必有简单的解析解。与其求解复杂的数学公式,我们可以直接获得多次采样的结果。通过修改输入并观察系统的响应,您就能"做实验"。例如,一旦我们有了较为合理的全球气候模型,就可以评估温室气体排放增加的影响。
回到彩票示例,我们可能想知道:彩票价格多高时,购买就不再划算。为此,需要调整票价,观察何时期望回报为负。
环境中已加载 grand_prize、num_tickets 和 chance_of_winning。
本练习是课程的一部分
Python 中的统计模拟
练习说明
- 将
sims设为 3000,并将变量lottery_ticket_cost设为0。 - 如果
outcomes的均值低于0,则从while循环中break。 - 否则,将
lottery_ticket_cost增加 1。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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))