負の二項分布は、ベルヌーイ試行を繰り返したとき「r 回目の成功までに何回失敗するか」を表す離散型確率分布である。幾何分布が「1回目の成功まで」を扱うのに対し、負の二項分布は「r 回目の成功まで」へと一般化したものといえる。パスカル分布(Pascal distribution)とも呼ばれる。
「負の二項分布」という名前は、確率関数の係数が負の二項係数で表されることに由来する。この分布は品質管理、スポーツ統計、保険数理など幅広い分野で応用される。
定義
成功確率 p(0 < p < 1)の独立なベルヌーイ試行を繰り返し、r 回目の成功が起こるまでの失敗の回数 Y が従う分布を負の二項分布(negative binomial distribution)といい、\text{NB}(r, p) と表す。
ただし q = 1 - p、{}_r H_y は重複組合せ
ここで {}_r H_y は重複組合せであり、次のように計算される。
確率関数の導出
Y = y となるのは「最初の y + r - 1 回で成功 r-1 回・失敗 y 回が起こり、y + r 回目に成功する」ときである。
- 最後の試行で成功する確率:p
- 最初の y + r - 1 回で成功 r-1 回、失敗 y 回の確率:{}_{y+r-1}C_{r-1} \cdot p^{r-1} q^y
よって
r = 1 のとき、{}_1 H_y = 1 なので P(Y = y) = pq^y となり、幾何分布 \text{Geo}(p) に一致する。つまり \text{NB}(1, p) = \text{Geo}(p) である。
負の二項係数
重複組合せ {}_r H_y は負の二項係数を用いて表すことができる。これが「負の二項分布」という名前の由来である。
負も含めた任意の実数 a と非負整数 b に対し、一般化された二項係数を次で定義する。
ただし \binom{a}{0} = 1
この定義を用いると、重複組合せは
と書ける。したがって確率関数は
となり、-r に対する二項係数が現れる。これが「負の二項分布」の名前の由来である。
確率分布のグラフ
以下は \text{NB}(3, 0.4) の確率関数のグラフである。
幾何分布(r = 1)と異なり、負の二項分布は r \geq 2 のとき単峰型になり得る。最頻値は y = 2 または y = 3 付近にある。
確率母関数
負の二項分布の確率母関数を導出する。負の二項係数を用いた表現から
ここで一般化された二項定理
を用いると(a は任意の実数)
これは幾何分布の確率母関数 G(s) = \dfrac{p}{1-qs} の r 乗になっている。
期待値と分散
負の二項分布は独立な幾何分布の和として解釈できるため、期待値と分散は簡単に求められる。
X_1, X_2, \ldots, X_r が互いに独立に \text{Geo}(p) に従うとき
が成り立つ(\stackrel{d}{=} は分布が等しいことを表す)。これは確率母関数が一致することから確認できる。
幾何分布の期待値 E[X_i] = \dfrac{q}{p}、分散 V[X_i] = \dfrac{q}{p^2} より
負の二項分布 \text{NB}(r, p) では
- 期待値:E[Y] = \dfrac{rq}{p}(幾何分布の r 倍)
- 分散:V[Y] = \dfrac{rq}{p^2}(幾何分布の r 倍)
- 幾何分布 r 個の独立な和と分布が一致
再生性
確率母関数の形から、負の二項分布は再生性をもつことがわかる。
Y_1 \sim \text{NB}(r_1, p)、Y_2 \sim \text{NB}(r_2, p) が独立ならば
証明
Y_1 + Y_2 の確率母関数は
これは \text{NB}(r_1 + r_2, p) の確率母関数である。
計算例
例1:バスケットボール
フリースロー成功率60%の選手が、3本成功するまでに失敗する本数 Y の期待値と、ちょうど2本失敗する確率を求めよ。
【解答】
Y \sim \text{NB}(3, 0.6) である。p = 0.6、q = 0.4
ちょうど2本失敗する確率は
例2:品質検査
不良品率10%の生産ラインで、5個目の不良品が見つかるまでに検査する良品の個数 Y の期待値と標準偏差を求めよ。
【解答】
Y \sim \text{NB}(5, 0.1) である。p = 0.1、q = 0.9
練習問題
Y \sim \text{NB}\left(3, \dfrac{1}{6}\right) である。p = \dfrac{1}{6}、q = \dfrac{5}{6}
再生性より Y_1 + Y_2 \sim \text{NB}(5, 0.3)
{}_r H_0 = 1 なので
これは「最初の r 回すべて成功」の確率である。
まとめ
| 項目 | 内容 |
|---|---|
| 分布名 | 負の二項分布(negative binomial distribution)、パスカル分布(Pascal distribution) |
| 記法 | \text{NB}(r, p) |
| 確率変数 | r 回目の成功までの失敗回数 Y |
| 確率関数 | P(Y=y) = {}_r H_y \cdot p^r q^y = {}_{y+r-1}C_y \cdot p^r q^y |
| 期待値 | E[Y] = \dfrac{rq}{p} |
| 分散 | V[Y] = \dfrac{rq}{p^2} |
| 確率母関数 | G(s) = \left(\dfrac{p}{1-qs}\right)^r |
| 再生性 | \text{NB}(r_1, p) + \text{NB}(r_2, p) = \text{NB}(r_1+r_2, p) |
| 幾何分布との関係 | \text{NB}(1, p) = \text{Geo}(p) |
Pythonで実装する
Pythonを使って負の二項分布の計算やシミュレーションを行う。
import numpy as np
from scipy import stats
from scipy.special import comb
# パラメータ設定
r = 3 # 成功回数
p = 0.4 # 成功確率
q = 1 - p
print(f"=== 負の二項分布 NB({r}, {p}) ===")
print(f"期待値: E[Y] = rq/p = {r}×{q}/{p} = {r*q/p:.4f}")
print(f"分散 : V[Y] = rq/p^2 = {r*q/p**2:.4f}")
# scipy.stats.nbinom(r, p)
dist = stats.nbinom(r, p)
print(f"\nscipy.statsによる確認:")
print(f"期待値: {dist.mean():.4f}")
print(f"分散 : {dist.var():.4f}")
# 確率関数
print(f"\n確率関数 P(Y=y) = rHy × p^r × q^y:")
for y in range(10):
rHy = int(comb(y + r - 1, y, exact=True))
prob = dist.pmf(y)
bar = "█" * int(prob * 40)
print(f" P(Y={y:2d}) = {rHy:2d}H × {p}^{r} × {q}^{y} = {prob:.4f} {bar}")
# 幾何分布の和との関係
print(f"\n--- 幾何分布の和との関係 ---")
print(f"X1 + X2 + X3 ~ NB({r}, {p}) (Xi ~ Geo({p}) i.i.d.)")
np.random.seed(42)
geo_sum = sum(stats.nbinom.rvs(1, p, size=10000) for _ in range(r))
nb_direct = stats.nbinom.rvs(r, p, size=10000)
print(f"Σ Xi の標本平均: {np.mean(geo_sum):.4f}")
print(f"NB({r},{p})の標本平均: {np.mean(nb_direct):.4f}")
# 再生性の確認
print(f"\n--- 再生性の確認 ---")
r1, r2 = 2, 3
Y1 = stats.nbinom.rvs(r1, p, size=10000)
Y2 = stats.nbinom.rvs(r2, p, size=10000)
print(f"Y1 ~ NB({r1},{p}), Y2 ~ NB({r2},{p})")
print(f"Y1+Y2の標本平均: {np.mean(Y1+Y2):.4f} (理論値: {(r1+r2)*q/p:.4f})")
幾何分布の独立な和が負の二項分布になること、また再生性が成り立つことがシミュレーションでも確認できる。