二項分布(Python)

二項分布のパラメーターは、

試行回数:N

一つの試行で一つのイベントが発生する確率:p

 

二項分布はscipy.statsに関数が用意されている。

確率質量変数:pmf(引数には成功確率・試行回数・成功確率を入れる(k, n, p))

 

■では例として、表が出る確率50%のコインを10回投げて、そのうちの3回が表である確率を計算する。

 

import matplotlib.pyplot as plt
%matplotlib inline

import seaborn as sns
sns.set()

n = 10
p = 0.5

m = 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 inline

import seaborn as sns
sns.set()

n = 30
p = 1/12

m = 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回一位を取る確率が高いらしい。

 

 

参考

統計学の時間 | 統計WEB