二項分布(Python)
二項分布のパラメーターは、
試行回数:N
一つの試行で一つのイベントが発生する確率:p
二項分布はscipy.statsに関数が用意されている。
確率質量変数:pmf(引数には成功確率・試行回数・成功確率を入れる(k, n, p))
■では例として、表が出る確率50%のコインを10回投げて、そのうちの3回が表である確率を計算する。
import matplotlib.pyplot as plt
%matplotlib inlineimport seaborn as sns
sns.set()n = 10
p = 0.5m = np.arange(0, int(n+1), 1)#0回からn+1回当たる確率に注目
pmf_binomial = sp.stats.binom.pmf(k = m, n = n, p = p)
plt.plot(m, pmf_binomial)
■次に12人でレースを行い、30レース行うと何回1位を取ることができるかを調べます。
試行回数はN=30、確率はp=1/12となる
import matplotlib.pyplot as plt
%matplotlib inlineimport seaborn as sns
sns.set()n = 30
p = 1/12m = np.arange(0, int(n+1), 1)#0回からn+1回当たる確率に注目
pmf_binomial = sp.stats.binom.pmf(k = m, n = n, p = p)
plt.plot(m, pmf_binomial)#グラフ出力
pmf_binomial.argmax() #30レースした結果、何回1位を取る確率が高いのか
>2
つまり、12人で30レース走ると2回一位を取る確率が高いらしい。
参考