買うべきでしょうか?
前回の演習では、宝くじの抽選を1回だけシミュレーションしました。今回は、そのプロセスを複数回繰り返して、シミュレーションを完成させます。
繰り返すことで、複数の結果が得られます。これは、同じ宝くじの抽選が起きた複数の「世界」を想像するようなものです。そして、それらすべての世界における当選金の平均を求めます。チケット代より平均の当選金が大きければ買う合理性があり、そうでなければ買わないほうがよいかもしれません。
これは、事業投資を評価するためにシミュレーションが使われる典型的なやり方です。この演習を終えると、意思決定にシミュレーションを使うための基本的な道具が身につきます。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
演習の手順
- シミュレーション回数を制御する
sizeパラメータを 2000 に設定します。 - 失う金額と勝ったときの金額を含むリストを
payoffsに設定します。 - 負ける確率と勝つ確率のリストを
probsに設定します。 outcomesの平均を計算して、answerに代入します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Initialize size and simulate outcome
lottery_ticket_cost, num_tickets, grand_prize = 10, 1000, 10000
chance_of_winning = 1/num_tickets
size = ____
payoffs = ____
probs = ____
outcomes = np.random.choice(a=____, size=size, p=____, replace=True)
# Mean of outcomes.
answer = ____
print("Average payoff from {} simulations = {}".format(size, answer))