二項分布の確率質量関数は
$\mathrm{Bin}(m | M, \mu) = {}_M C_m \mu^{m} (1 - \mu)^{M - m}$
となるので,以下のように実装してみます.
xlist = pd.Series([comb(float(M), x) * mu ** x * (1 - mu) ** (float(M) - x)\
for x in range(0, mu+1)])
from scipy.special import comb # function to calculate combinations
import numpy as np
import pandas as pd # for Series
import matplotlib.pyplot as plt # for plotting graph
import pylab # for change graph size
M = 50 # number of trials
mu = 0.5 # the probability of an event occurring
xlist = pd.Series([comb(float(M), x) * mu ** x * (1 - mu) ** (float(M) - x)\
for x in range(0, mu+1)])
pylab.figure(figsize = (10, 5)) # specify graph size
plt.bar(xlist.index, xlist)
plt.xlim(0, 50) # set the range of X axis values
plt.xticks(np.arange(0, n+1, 10)) # specify the scale of the X axis in 10 steps
なお,上記の例のJupyter Notebookファイルは,GitHubのBinomial distribution.ipynbというファイルで見ることができます.
0 件のコメント :
コメントを投稿