始める無料で始める

宝くじの抽選を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))
コードを編集して実行