ポアソン分布は、「一定時間内に発生する稀な事象の回数」を表す離散型確率分布である。フランスの数学者シメオン・ドニ・ポアソンにちなんで名付けられた。
ポアソン分布が適用できる典型的な例として、1時間に届くメールの件数、1日に発生する交通事故の件数、1ページあたりの誤植の数、放射性物質の崩壊回数などがある。いずれも「稀な事象」が「多数の機会」のなかで発生する状況である。
ポアソン分布は二項分布の極限として導かれる。試行回数 n が大きく、成功確率 p が小さいとき、二項分布はポアソン分布で近似できる。また、ポアソン分布は期待値と分散が等しいという特徴的な性質をもつ。
定義
非負整数値をとる確率変数 Y が、パラメータ \lambda > 0 に対して以下の確率関数をもつとき、Y はポアソン分布(Poisson distribution)に従うといい、\text{Po}(\lambda) と表す。
ここで \lambda は単位時間(または単位区間)あたりの平均発生回数を表し、e \approx 2.71828 は自然対数の底である。
確率の総和が1になることの確認
指数関数のマクローリン展開 e^x = \sum_{y=0}^{\infty} \dfrac{x^y}{y!} を用いると
となり、確率関数の条件を満たす。
確率分布のグラフ
以下は \text{Po}(3) の確率関数のグラフである。
ポアソン分布は \lambda が小さいときは右に裾を引く形になり、\lambda が大きくなると左右対称に近づく。
二項分布からの導出
ポアソン分布は、二項分布 \text{Bin}(n, p) において np = \lambda を固定したまま n \to \infty(したがって p = \dfrac{\lambda}{n} \to 0)としたときの極限として得られる。
二項分布の確率関数は
これを変形すると
n \to \infty のとき
- \dfrac{n(n-1)\cdots(n-y+1)}{n^y} = 1 \cdot \left(1-\dfrac{1}{n}\right) \cdots \left(1-\dfrac{y-1}{n}\right) \to 1
- \left(1 - \dfrac{\lambda}{n}\right)^{n} \to e^{-\lambda}(指数関数の定義)
- \left(1 - \dfrac{\lambda}{n}\right)^{-y} \to 1
したがって
n が大きく p が小さいとき、二項分布 \text{Bin}(n, p) はポアソン分布 \text{Po}(np) で近似できる。目安として n \geq 100 かつ np \leq 10 のとき、近似精度が良い。
期待値と分散
ポアソン分布の大きな特徴は、期待値と分散が等しく、ともに \lambda に等しいことである。
確率母関数
まず確率母関数を求める。
期待値の導出
確率母関数を微分して s = 1 を代入すると期待値が得られる。
分散の導出
分散は V[Y] = E[Y(Y-1)] + E[Y] - (E[Y])^2 を用いて求める。まず E[Y(Y-1)] = G''(1) を計算する。
したがって
ポアソン分布 \text{Po}(\lambda) では
- 期待値:E[Y] = \lambda
- 分散:V[Y] = \lambda
- 標準偏差:\sigma = \sqrt{\lambda}
- 期待値 = 分散という特徴をもつ
この結果は、二項分布からの極限としても確認できる。\text{Bin}(n, p) で np = \lambda のとき、期待値は np = \lambda、分散は np(1-p) = \lambda\left(1 - \dfrac{\lambda}{n}\right) \to \lambda(n \to \infty)となる。
再生性
ポアソン分布にも再生性がある。
Y_1 \sim \text{Po}(\lambda_1)、Y_2 \sim \text{Po}(\lambda_2) で、Y_1 と Y_2 が独立ならば
これは確率母関数を用いて証明できる。
これは \text{Po}(\lambda_1 + \lambda_2) の確率母関数に一致する。
再生性は実用上も重要である。たとえば、1時間あたり平均3件の電話がかかってくるとき、2時間で平均6件の電話がかかってくることを意味する。
計算例
例1:コールセンターの着信
あるコールセンターには1時間あたり平均5件の電話がかかってくる。1時間に電話が1件もかかってこない確率、および3件以下の確率を求めよ。
【解答】
着信件数 Y は \text{Po}(5) に従う。
電話が1件もかかってこない確率は
3件以下の確率は
例2:印刷物の誤植
ある本は1ページあたり平均0.5個の誤植がある。10ページの章に誤植が1つもない確率を求めよ。
【解答】
1ページあたりの誤植数が \text{Po}(0.5) に従うとすると、再生性より10ページでの誤植数は \text{Po}(5) に従う。
約0.67%の確率で誤植が1つもない。
練習問題
事故件数 Y は \text{Po}(2) に従う。
P(Y = 0) = P(Y = 1) より
e^{-\lambda} > 0 なので両辺を割ると \lambda = 1
再生性より Y_1 + Y_2 \sim \text{Po}(5) である。
まとめ
| 項目 | 内容 |
|---|---|
| 分布名 | ポアソン分布(Poisson distribution) |
| 記法 | \text{Po}(\lambda) |
| 確率関数 | P(Y=y) = \dfrac{\lambda^y}{y!} e^{-\lambda} (y = 0, 1, 2, \ldots) |
| 期待値 | E[Y] = \lambda |
| 分散 | V[Y] = \lambda |
| 確率母関数 | G(s) = e^{\lambda(s-1)} |
| 再生性 | \text{Po}(\lambda_1) + \text{Po}(\lambda_2) = \text{Po}(\lambda_1 + \lambda_2)(独立の場合) |
| 二項分布との関係 | \text{Bin}(n, p) で n \to \infty、np = \lambda 固定のとき近似可能 |
Pythonで実装する
Pythonを使ってポアソン分布の計算やシミュレーションを行う。
import numpy as np
from scipy import stats
# パラメータ設定
lam = 3 # λ
print(f"=== ポアソン分布 Po({lam}) ===")
print(f"期待値: E[Y] = λ = {lam}")
print(f"分散 : V[Y] = λ = {lam}")
print(f"標準偏差: σ = √λ = {np.sqrt(lam):.4f}")
# scipy.statsを使用
dist = stats.poisson(lam)
print(f"\nscipy.statsによる確認:")
print(f"期待値: {dist.mean()}")
print(f"分散 : {dist.var()}")
# 確率関数
print(f"\n確率関数 P(Y=y):")
for y in range(10):
prob = dist.pmf(y)
bar = "█" * int(prob * 40)
print(f" P(Y={y}) = {prob:.4f} {bar}")
# 累積確率
print(f"\nP(Y ≤ 3) = {dist.cdf(3):.4f}")
print(f"P(Y ≥ 5) = {1 - dist.cdf(4):.4f}")
# 二項分布との比較
print(f"\n--- 二項分布との比較 (np=λ={lam}) ---")
for n in [30, 100, 1000]:
p = lam / n
binom = stats.binom(n, p)
print(f"Bin({n}, {p:.4f}): E={binom.mean():.2f}, V={binom.var():.4f}")
print(f"Po({lam}): E={dist.mean():.2f}, V={dist.var():.4f}")
# シミュレーション
np.random.seed(42)
samples = stats.poisson.rvs(lam, size=10000)
print(f"\nシミュレーション(10000回):")
print(f"標本平均: {np.mean(samples):.4f}")
print(f"標本分散: {np.var(samples, ddof=0):.4f}")
二項分布との比較から、n が大きくなるほど分散がポアソン分布の値 \lambda に近づくことが確認できる。