概要
離散確率分布の1つである二項分布について解説します。
確率関数
確率変数 $X$ が次のような確率関数をもつとき、$X$ はパラメータ $n, p$ の二項分布 (binominal distribution) に従うという。 確率変数 $X$ がパラメータ $n, p$ の二項分布に従うことを $X \sim B(n, p)$ と表す。
$$ f_X(x) = \begin{cases} \binom{n}{x} p^x (1 – p)^{n – x} & x = 0, 1, \cdots, n \\ 0 & その他の場合 \end{cases} $$ただし、$n$ は正の整数、$0 \le p \le 1$
確率関数である
二項定理 $(a + b)^n = \sum_{x = 0}^n \binom{n}{x} a^x b^{n – x}$ より、
$$ \sum_{x = 0}^n \binom{n}{x} p^x (1 – p)^{n – x} = \sum_{x = 0}^n (p + (1 – p))^n = 1 $$また、$f_X(x) \ge 0$ は明らか。
解釈
結果が成功か失敗かのいずれかである試行をベルヌーイ試行 (Bernoulli trial) という。 ベルヌーイ試行を $n$ 回行ったときの成功回数を表す確率変数 $X$ をとると、$X$ はパラメータ $n, p$ の二項分布に従う。
累積確率関数
$$ P(X \le x) = \sum_{k = 0}^{\lfloor x \rfloor} \binom{n}{k} p^k (1 – p)^{n – k} $$期待値
$$ \begin{aligned} E[X] &= \sum_{x = 0}^n x \binom{n}{x} p^x (1 – p)^{n – x} \\ &= \sum_{x = 0}^n x \frac{n!}{x!(n – x)!} p^x (1 – p)^{n – x} \\ &= \sum_{x = 1}^n \frac{n!}{(x – 1)!(n – x)!} p^x (1 – p)^{n – x} \quad \because x = 0 の項目は0 \\ \end{aligned} $$ここで、$x’ = x – 1, n’ = n – 1$ とおくと、
$$ \begin{aligned} E[X] &= \sum_{x’ = 0}^{n’} \frac{(n’ + 1)!}{x’! (n’ – x’)!} p^{x’ + 1} (1 – p)^{n’ – x’} \\ &= (n’ + 1)p \sum_{x’ = 0}^{n’} \frac{n’!}{x’!(n’ – x’)!} p^{x’} (1 – p)^{n’ – x’} \\ &= np \sum_{x’ = 0}^{n’} \frac{n’!}{x’!(n’ – x’)!} p^{x’} (1 – p)^{n’ – x’} \\ &= np (p + (1 – p))^{n’} \quad \because 二項定理 \\ &= np \end{aligned} $$分散
$$ \begin{aligned} E[X(X – 1)] &= \sum_{x = 0}^n x(x – 1) \binom{n}{x} p^x (1 – p)^{n – x} \\ &= \sum_{x = 0}^n x(x – 1) \frac{n!}{x!(n – x)!} p^x (1 – p)^{n – x} \\ &= \sum_{x = 2}^n \frac{n!}{(x – 2)!(n – x)!} p^x (1 – p)^{n – x} \quad \because x = 0, 1 の項目は0 \\ \end{aligned} $$ここで、$x’ = x – 2, n’ = n – 2$ とおくと、
$$ \begin{aligned} E[X(X – 1)] &= \sum_{x’ = 0}^{n’} \frac{(n’ + 2)!}{x’!(n’ – x’)!} p^{x’ + 2} (1 – p)^{n’ – x’}\\ &= (n’ + 2)(n’ + 1)p^2 \sum_{x’ = 0}^{n’} \frac{n’!}{x’!(n’ – x’)!} p^{x’} (1 – p)^{n’ – x’}\\ &= n(n – 1)p^2 \sum_{x’ = 0}^{n’} \frac{n’!}{x’!(n’ – x’)!} p^{x’} (1 – p)^{n’ – x’}\\ &= n(n – 1)p^2 \quad \because パラメータ n’, p の二項分布の確率関数の総和は1 \\ \end{aligned} $$よって、分散は
$$ \begin{aligned} Var[X] &= E[X^2] – [E(X)]^2 \\ &= E[X(X – 1)] + E[X] – [E(X)]^2 \\ &= n(n – 1)p^2 + np – (np)^2 \\ &= np(1 – p) \end{aligned} $$積率母関数
$$ \begin{aligned} m_X(t) &= E[e^{Xt}] \\ &= \sum_{x = 0}^n e^{xt} \binom{n}{x} p^x (1 – p)^{n – x} \\ &= \sum_{x = 0}^n \binom{n}{x} (e^t p)^x (1 – p)^{n – x} \\ &= (e^t p + 1 – p)^n \quad \because 二項定理 \end{aligned} $$ベルヌーイ分布との関係
$X_1, X_2, \cdots, X_n$ を独立で同一なパラメータ $p$ のベルヌーイ分布に従うとき、この確率変数の和 $Y = X_1 + X_2 + \cdots + X_n$ はパラメータ $n, p$ の二項分布に従う。
$$ \begin{aligned} m_Y(t) &= \prod_{i = 1}^n m_{X_i}(t) \quad \because X_1, X_2, \cdots, X_n は独立 \\ &= \prod_{i = 1}^n (p e^t + 1 – p) \quad \because パラメータ p のベルヌーイ分布の積率母関数 \\ &= (p e^t + 1 – p)^n \end{aligned} $$であるから積率母関数の一意性より、$Y$ はパラメータ $n, p$ の二項分布に従う。
再生性
$X_1, X_2, \cdots, X_k$ を独立で、$X_i$ はパラメータ $n_i, p$ の二項分布に従うとき、この確率変数の和 $Y = X_1 + X_2 + \cdots + X_k$ はパラメータ $n_1 + n_2 + \cdots + n_k, p$ の二項分布に従う。
$$ \begin{aligned} m_Y(t) &= \prod_{i = 1}^k m_{X_i}(t) \quad \because X_1, X_2, \cdots, X_n は独立で同一 \\ &= \prod_{i = 1}^k (p e^t + 1 – p)^{n_i} \quad \because パラメータ n_i, p の二項分布の積率母関数 \\ &= (p e^t + 1 – p)^{n_1 + n_2 + \cdots + n_k} \end{aligned} $$であるから積率母関数の一意性より、$Y$ はパラメータ $n_1 + n_2 + \cdots + n_k, p$ の二項分布に従う。
scipy.stats の二項分布
scipy.stats.binom で二項分布に従う確率変数を作成できます。
import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt
from scipy.stats import binom
sns.set(style="white")
X = binom(n=10, p=0.3)
サンプリング
x = X.rvs(size=10)
print(x)
[5 2 3 7 3 3 3 6 2 4]
確率質量関数
x = np.arange(0, 11)
y = X.pmf(x)
fig, ax = plt.subplots()
ax.stem(x, y, use_line_collection=True)
ax.grid()
plt.show()
累積分布関数
x = np.arange(0, 11)
y = X.cdf(x)
fig, ax = plt.subplots()
ax.step(x, y)
ax.grid()
plt.show()
統計量
print("mean", X.mean())
print("var", X.var())
print("std", X.std())
mean 3.0 var 2.0999999999999996 std 1.4491376746189437
コメント