Poisson分布の再生性(Reproductive property)の証明とシミュレーション
Poisson分布の再生性(Reproductive property)の証明とシミュレーション
Poisson分布の再生性(Reproductive property)の証明のメモ.
ポアソン分布の再生性の証明
再生性とは,ある分布に従う2つの確率変数の和 が同じ種類の分布に従うという意味である.正規分布が有名. ポアソン分布も再生性を持つので,その証明メモである.
ポアソン分布によらず一般的な離散確率変数の和 \(Z\) の分布は,以下の式で表される.
$$ P(Z = z) = P(\psi(X, Y) = z) = \sum_{(x, y) \in D}{p(x, y)} $$
ただし、
$$ D = {(x, y)|\psi(x, y) = x+y = z} $$
これを書き直すと,
$$ P(Z = z) = P(X + Y = z) = \sum_{x+y = z}{p(x, y)} $$
さらに\(X, Y\) が独立であれば,それぞれの積で表せる.
$$ P(Z = z) = P(X + Y = z) = \sum{x+y = z}{p(x, y)} = \sum{x+y = z}{P(X=x)P(Y=y)} $$
\(x=k\)の値を基準に \(sum\) を書き直せば,
$$ P(Z = z) = P(X + Y = z) = \sum{x+y = z}{P(X=x)P(Y=y)} = \sum{x=0}^{z}{P(X=x)P(Y=z-x)} $$
ここで,\( X \sim Po(\lambda_x), Y \sim Po(\lambda_y)\) として, それぞれの確率(質量)関数は,
$$ P(X=k) = \frac{\lambda_xk}{k!} e^{-\lambda_x} \ P(Y=k) = \frac{\lambda_yk}{k!} e^{-\lambda_y} $$
確率変数の和の分布は,
\begin{eqnarray} P(Z = z) = P(X + Y = z) &=& \sum{x=0}^{z}{P(X=x)P(Y=z-x)} \&=& \sum{x=0}^{z}{\frac{\lambda_xx}{x!} e^{-\lambda_x} \frac{\lambda_y^{z-x}}{(z-x)!} e^{-\lambda_y}}\ &=& e^{-(\lambda_x + \lambda_y)} \sum{x=0}^{z}{\frac{\lambda_xx}{x!} \frac{\lambda_y^{z-x}}{(z-x)!} }\ &=& e^{-(\lambda_x + \lambda_y)} \frac{z!}{z!} \sum{x=0}^{z}{\frac{1}{x!(z-x)!} \lambda_xx \lambda_y^{z-x} }\ &=& \frac{e^{-(\lambda_x + \lambda_y)}}{z!} \sum{x=0}^{z}{\frac{z!}{x!(z-x)!} \lambda_xx \lambda_y^{z-x} }\ &=& \frac{e^{-(\lambda_x + \lambda_y)}}{z!} \sum{x=0}^{z}{{}z \mathrm{ C }x \lambda_xx \lambda_y^{z-x} } \ \end{eqnarray}
二項定理より,
\begin{eqnarray} P(Z = z) &=& \frac{e^{-(\lambda_x + \lambda_y)}}{z!} \sum{x=0}^{z}{{}z \mathrm{ C }_x \lambda_xx \lambda_y^{z-x} } \ &=& \frac{e^{-(\lambda_x + \lambda_y)}}{z!} (\lambda_x + \lambda_y)z \ &=& \frac{(\lambda_x + \lambda_y)z}{z!} e^{-(\lambda_x + \lambda_y)} \ \end{eqnarray}
よって,以下のように表すことができ,再生性を満たす.
\begin{eqnarray} Z = X+Y \sim Po(\lambda_x + \lambda_y) \end{eqnarray}
以上より,互いに独立で,\(X_1, X_2, \cdots, X_n \sim Po(\lambda)\) とすると,その和は, $$ X = \sum_{i=1}^n{X_i} \sim Po(n \lambda) $$ となる.
再生性のシミュレーション
数式で証明できたけど,本当に和もポアソン分布に従うの?ってことで シミューレションしてみる.流れとしては,
-
\( X \sim Po(2), Y \sim Po(3) \) として, それぞれ1000個のポアソン乱数を発生させる.
-
頻度をカウントし,正規化してプロット.
-
2つのポアソン乱数の和を求めて, 同様にして頻度をカウントし,正規化してプロット.
-
和 \(X+Y \sim Po(5)\) に従っているはずなので,確率質量関数(pmf)をプロットしてある程度重なっているか確認.
使用環境は以下である.
環境
- conda: 4.2.12
- Python 3.5.1
- scipy 0.18.1
- pandas 0.18.1
- jupyter 1.0.0
コードは以下のようになる.
%matplotlib inline
plt.figure(figsize=(5, 5))
size=1000
X = stats.poisson.rvs(2, size=size)
Y = stats.poisson.rvs(3, size=size)
Z = X + Y
freqX = pd.value_counts(X, sort=False)
freqY = pd.value_counts(Y, sort=False)
freqZ = pd.value_counts(Z, sort=False)
count = freqZ.count()
norm_freqX = freqX / size
norm_freqY = freqY / size
norm_freqZ = freqZ / size
plt.plot(norm_freqX, "--", label="X=Po(2)(random)")
plt.plot(norm_freqY, "--", label="Y=Po(3)(random)")
plt.plot(norm_freqZ, "-r", label="X+Y")
# Po(5)
k = sp.arange(0, count+1, 1)
plt.bar(k-0.5/2, stats.poisson.pmf(k, mu=5), color="orange", label="Po(5)(true)", width=0.5)
plt.grid()
plt.xlim(-0.5, count)
plt.legend()
plt.xlabel("k")
plt.ylabel("Prob")
plt.title("Poisson's Reproductive Property Simulation", y=-.2)
plt.tight_layout()
plt.show()
結果は,以下のようになりました. 赤 の実線が,発生させた乱数の和(頻度を正規化した)で, オレンジの棒グラフが真の \( Po(5) \) の確率の値です. 大体合ってますねー