二項分布の期待値、分散、モーメント母関数

二項分布は、成功する確率を$${p}$$とし、失敗する確率を$${1-p}$$とした試行を$${n}$$回繰り返すベルヌーイの試行で与えられる。
$${n}$$回の内、$${x}$$回成功する確率は$${p^x}$$で、残りは失敗する確率は$${(1-p)^{n-x}}$$。また、$${n}$$回の内、$${x}$$回成功する組み合わせは$${{}_n C_x=\displaystyle{\frac{n!}{x!(n-x!)}}}$$より、確率密度関数関数は、$${f(x)=\displaystyle{p^x(1-p)^{n-x}\frac{n!}{x!(n-x)!}}}$$
$${q=1-p}$$とすれば、二項定理$${\displaystyle{(p+q)^n=\sum_{x=0}^{n}p^xq^{n-x}\frac{n!}{x!(n-x)!}}}$$より、$${\sum_{x=0}^{n}f(x)=1}$$が証明できる。
二項分布の積率母関数は$${f(x)}$$から、
$${M_x(t)=\displaystyle{\sum_{x=0}^{n}e^{tx}p^xq^{n-x}{}_nC_x=\sum_{x=0}^{n}{}_nC_x(e^tp)^xq^{n-x}{}_nC_x=(pe^t+q)^n}}$$
で与えられる。
これから、期待値と分散を求めれば、
$${E[x]=\displaystyle{\frac{dM_x(t)}{dt}\Big|_{t=0}=npe^t(pe^t+q)^n|_{t=0}=np}}$$

$${E[x^2]=\displaystyle{\frac{d^2M_x(t)}{dt^2}\Big|_{t=0}}}$$
$${\displaystyle{=(npe^t(pe^t+q)^{n-1} +n(n-1)p^2e^{2t}(pe^t+q)^{n-2})|_{t=0}=np+n(n-1)p^2}}$$

$${V[x]= np+n(n-1)p^2-n^2p^2=np(1-p)=npq}$$

二項分布に従う乱数は、numpy.randomのbinominalで実装できる。
成功する確率は$${p=0.5, 0.3}$$とし、10000回の試行で、100回成功する確率変数$${x}$$を求めている。

import numpy as np
from numpy import random as rand
import matplotlib.pyplot as plt
rand.seed(0)

numt=100
tnum=10000
p=0.5
bi1 = rand.binomial(numt,p,tnum)
p=0.3
bi2 = rand.binomial(numt,p,tnum)
plt.title('binominal')
plt.hist(bi1, bins='auto',label='p=0.5')
plt.hist(bi2,bins='auto',label='p=0.3')
plt.ylabel('Probability')
plt.xlabel('Data')
plt.legend();

この記事が気に入ったらサポートをしてみませんか?