import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn
%matplotlib inline
1回の試行で14試合5口分の予想が前回購入のものと一致する確率は
$ p = \left( \frac{1}{3} \right) ^{70} $
$N$ 回試行したときに1度も上記事象が発生しない確率
$ q = \left( 1 - p \right) ^N $
$ q $ の対数を取る
$ \log{q} = N \log \left( 1 - p \right) $
1次近似すると
$ \log{q} \sim -N \left( \frac{1}{3} \right) ^{70} $
def prob(k):
lq = - 1.0 / np.power(3.0, 70 - k)
q = np.exp(lq)
return q
def probs(ks):
lab = []
val = []
for k in ks:
lab.append(k)
val.append(prob(k))
df = pd.DataFrame({'q': val})
df.index = lab
return df
$ N = 3 ^k $ 回試行したときの確率の概算値
probs([50, 55, 60, 65, 70])
q | |
---|---|
50 | 1.000000 |
55 | 1.000000 |
60 | 0.999983 |
65 | 0.995893 |
70 | 0.367879 |
1回の抽選で400万口程度売れるらしいので、1回の抽選で $ 3 ^{12} $ 以上の試行がある
print(4000000 / 5)
print(np.power(3.0, 12))
800000.0 531441.0
0.5%で当該事象の起こるくらいに必要な抽選回数
np.power(3.0, 65 - 12 - 1)
6.4610818892266729e+24
誕生日のパラドックスのような状況になるには、試行1回当りの発生確率が小さすぎるようだ