宝くじの抽選を1回シミュレーションする
この章の最後の3つの演習では、ここまで学んだ内容をまとめて使います。完全なシミュレーションを実行し、観測された結果に基づいて意思決定を行い、さらにシミュレーションモデルの入力を調整する方法を学びます。
ここでは、宝くじを買うべきかどうかをシミュレーションで考えます。最高賞金 $10,000 が当たる宝くじを買う機会があるとします。チケットは全部で 1000 枚なので、当選確率は 1000 分の 1 です。チケット1枚の価格は $10 です。まずは基本的なシミュレーションの理解を使って、宝くじの抽選を1回だけシミュレーションしてみましょう。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
演習の手順
chance_of_winningを、宝くじに当選する確率として定義します。- 販売されたチケット総数のうち 1 枚は必ず当選することを思い出してください。
probabilityリストを、chance_of_winningを用いて対応するgainsを受け取る確率に設定します。np.random.choice()を使って、この宝くじの抽選を1回シミュレーションします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Pre-defined constant variables
lottery_ticket_cost, num_tickets, grand_prize = 10, 1000, 10000
# Probability of winning
chance_of_winning = 1/____
# Simulate a single drawing of the lottery
gains = [-lottery_ticket_cost, grand_prize-lottery_ticket_cost]
probability = [1-____, ____]
outcome = np.random.choice(a=gains, size=1, p=____, replace=True)
print("Outcome of one drawing of the lottery is {}".format(outcome))