誕生日の問題
ここでは、シミュレーションを使って有名な確率パズル「誕生日の問題」を解いてみます。内容はとてもシンプルです――「同じ誕生日の人が少なくとも2人いる確率が50%以上になるには、部屋に何人いればよいでしょうか?」
1年365日の世界で366人いれば、同じ誕生日の人が少なくとも2人いることは100%確実ですが、ここで必要なのは50%の確率だけです。シミュレーションはこの問題をスマートに解く方法を与えてくれます。
この演習を終えると、問題をシミュレーションの枠組みに落とし込む考え方がつかめてきます。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Draw a sample of birthdays & check if each birthday is unique
days = ____
people = 2
def birthday_sim(____):
sims, unique_birthdays = 2000, 0
for _ in range(sims):
draw = np.random.choice(days, size=____, replace=True)
if len(draw) == len(set(draw)):
unique_birthdays += 1
out = 1 - unique_birthdays / sims
return out