📊

【統計検定準1級】ポアソン分布

に公開

はじめに

この記事では、統計検定準1級取得に向けて学習したことをまとめていきます。
工学系の数学ではなく数理あるあるの、論述ゴリゴリな解答になっていると思いますのであらかじめご了承ください。
注意:さらに計算過程は数学文化の『省略の美』を無視してエレファントに書いています。

【リンク紹介】
統計検定準1級のまとめ記事一覧
これまで書いたシリーズ記事一覧

学習書籍について

この記事では「統計学実践ワークブック」を中心に、学んだことをまとめていきます。記事を読んで本格的に勉強してみたいなと思った方は、是非ご購入を検討なさってください。


参考書籍について

統計実践ワークブックは、大量の知識項目と問題が収められている反面、計算過程や知識背景が大きく省略されているため、知識体系をきちんと学ぶ参考書として東京大学から出版されている名著「統計学入門」を使っています。
※ワークブックとしては素晴らしい質だと思いますが、どうしてもその内容量とページ数の都合上、問題のない範囲で削除されているということです。人によっては1冊で問題ない方もおられると思いますが、私には無理でした。


ポアソン分布

Xを非負整数の確率変数であるとする。このとき、Xの確率が

\begin{alignat*}{2} P(X = x) &= p(x) \\ &= \cfrac{\lambda^x}{x !} e^{- \lambda} \hspace{5mm} (x = 0, 1, 2, \cdots)\\ \end{alignat*}

であるとき、この確率関数pポアソン分布(Poisson distribution)といい、Po(\lambda)で表す。

ポアソン分布のグラフ

コードはこちら

参考資料→Pythonで理解する統計解析の基礎
※参考にはしていますが表記は大分変更しています。

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
from scipy.special import comb # 組み合わせ関数

# 表示桁数を小数点以下第3位に設定
%precision 3

# [Jupyter notebook only]
# グラフ表示を非インタラクティブモード(jupyter notebook内に表示)に設定
# インタラクティブモードだと別ウィンドウで表示される
%matplotlib inline

from scipy.special import factorial

"""""""""""""""""""""""""""""""""""""""""""""""""""
関数名:Po(lam)
機 能:ポアソン分布
引 数:パラメータlambda(lam)
戻り値:離散型確率変数と確率関数(X, f)
"""""""""""""""""""""""""""""""""""""""""""""""""""

def Po(lam):
    X = np.arange(0, 20)

    def f(x):
        if x in X:
            return np.power(lam, x) / factorial(x) * np.exp(-lam)
        else:
            return 0

    return X, f

lam = 3
Xf = Po(lam) # 確率変数とその確率関数の値

check_prob(Xf)

plot_prob(Xf)
基本関数
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

# 表示桁数を小数点以下第3位に設定
%precision 3

# [Jupyter notebook only]
# グラフ表示を非インタラクティブモード(jupyter notebook内に表示)に設定
# インタラクティブモードだと別ウィンドウで表示される
%matplotlib inline

# グラフの線の種類
linestyles = ['-', '--', ':']

"""""""""""""""""""""""""""""""""""""""""""""""""""
関数名:E(Xf, g = lambda x: x)
機 能:確率変数(確率変数の関数)の期待値を返す
引 数:確率変数と確率関数X(タプル)
       確率変数Xの関数g(初期値:恒等関数)
戻り値:期待値
"""""""""""""""""""""""""""""""""""""""""""""""""""

def E(Xf, g = lambda x: x):
    X = Xf[0]    # 確率変数
    f = Xf[1]    # 確率関数
    
    expection = np.sum([g(x_k) * f(x_k) for x_k in X])
    
    return expection

"""""""""""""""""""""""""""""""""""""""""""""""""""
関数名:V(Xf, g = lambda x: x)
機 能:確率変数(確率変数の関数)の分散を返す
引 数:確率変数と確率関数X(タプル)
       確率変数Xの関数g(初期値:恒等関数)
戻り値:分散
"""""""""""""""""""""""""""""""""""""""""""""""""""

def V(Xf, g = lambda x: x):
    X = Xf[0]    # 確率変数
    f = Xf[1]    # 確率関数
    expection = E(Xf, g)
    
    variance = np.sum([(g(x_k) - expection)**2 * f(x_k) for x_k in X])
    
    return variance

"""""""""""""""""""""""""""""""""""""""""""""""""""
関数名:check_prob(Xf)
機 能:確率変数が確率の性質を満たしているかを確認する
引 数:確率変数と確率関数(タプル)
戻り値:なし
"""""""""""""""""""""""""""""""""""""""""""""""""""

def check_prob(Xf):
    X = Xf[0]    # 確率変数
    f = Xf[1]    # 確率関数
    
    prob = np.array([f(x_k) for x_k in X])
    assert np.all(prob >= 0), '負の確率があります'
    
    prob_sum = np.round(np.sum(prob), 6)
    assert prob_sum == 1, f'確率の和が{prob_sum}になりました'

    print(f'期待値は{E(Xf):.4}')
    print(f'分散は{V(Xf):.4}')

"""""""""""""""""""""""""""""""""""""""""""""""""""
関数名:plot_prob(Xf)
機 能:確率関数と期待値を図示する
引 数:確率変数と確率関数X(タプル)
戻り値:なし
"""""""""""""""""""""""""""""""""""""""""""""""""""

def plot_prob(Xf):
    X = Xf[0]    # 確率変数
    f = Xf[1]    # 確率関数
    prob = np.array([f(x_k) for x_k in X])

    fig = plt.figure(figsize = (10, 6))
    ax  = fig.add_subplot(1, 1, 1)

    # 棒グラフ
    ax.bar(X, prob, label = 'prob', color = '#006C4F')
    
    # 縦線
    ax.vlines(E(Xf), 0, 1, label = 'expection', color = '#ee7800')

    # グラフ設定
    ax.set_xticks(np.append(X, E(Xf))) # x目盛値
#   ax.set_ytickx()                    # y目盛値  
#   ax.set_xlim()                      # x軸の範囲
    ax.set_ylim(0, prob.max() * 1.2)   # y軸の範囲
#   ax.xlabel()                        # x軸ラベル
#   ax.ylabel()                        # y軸ラベル    
    ax.legend()                        # 凡例

    # 描画
    plt.show()

ポアソン分布の再現性

「Y_1がPo(\lambda_1)に、Y_2がPo(\lambda_2)にそれぞれ従い、かつY_1とY_2が独立である」\\ ならば、Y_1 + Y_2はPo(\lambda_1 + \lambda_2)に従う。

ポアソン分布の期待値

E[X]X期待値

E[X] = \lambda

ポアソン分布の分散

V[X]X分散

V[X] = \lambda

ポアソン分布の確率母関数

G(s) = E[s^X]X確率母関数

\begin{alignat*}{2} G(s) &= E[s^X] \\ &= e^{\lambda (s - 1)} \end{alignat*}

例題

(「統計学実践ワークブック」より)
問5.4
あるサッカーの試合において、チームT1があげた得点XおよびチームT2があげた得点Yがそれぞれ独立に平均1.5および3のポアソン分布に従うと仮定する。次の空欄に当てはまる数値または用語をこたえよ。
[1] 2チームの合計得点X + Yの従う分布は、平均が\fbox{ ア }、分散が\fbox{ イ }のポアソン分布である。
[2] 2チームの合計得点X + Yが5であるという条件のもとで、チームT1の得点Xが平均\fbox{ ウ }\fbox{ エ }分布に従う。

解答

問5.4
[1] X, Yはそれぞれポアソン分布に従うことから、

E[X] = 1.5 \\ E[Y] = 3

である。まずE[X + Y]をもとめる。

\begin{alignat*}{2} E[X + Y] &= E[X] + E[Y] \\ &= 1.5 + 3 \\ &= \underline{4.5} \cdots \fbox{ ア } \end{alignat*}

次にV[X + Y]を求める。X, Yはそれぞれポアソン分布に従うことから、

V[X] = 1.5 \\ V[Y] = 3

であり、こちらもX, Yが独立であるので、

\begin{alignat*}{2} V[X + Y] &= V[X] + V[Y] \\ &= 1.5 + 3 \\ &= \underline{4.5} \cdots \fbox{ イ } \end{alignat*} (ポアソン分布の再現性を用いた解答)

X, Yはそれぞれポアソン分布Po(1.5), Po(3)に従い、かつX, Yは独立であることから、
X + Yはポアソン分布Po(1.5 + 3)に従う。
よって平均、分散は\underline{4.5}


[2] X + Y = 5であるという条件の下で、T1の得点Xが値xを取る確率P(X=x|X+Y=5)は、X, Yが独立である(注意:X, Yと書かれていて勘違いするかもしれないが、同時確率関数ではないので注意。高校数学の条件付き確率と同じものである)ことに注意すると、

\begin{alignat*}{2} P(X = x | X + Y = 5) &= \cfrac{P(X = x かつ X + Y = 5)}{P(X + Y = 5)} \\ &= \cfrac{P(X = x かつ Y = 5 - x)}{P(X + Y = 5)} \\ &= \cfrac{P(X = x) \cdot P(Y = 5 - x)}{P(X + Y = 5)} \\ &= \cfrac { \cfrac{1.5^{x}}{x!} \cdot e^{-1.5} \cdot \cfrac{3^{5 - x}}{(5 - x)!} \cdot e^{-3} } { \cfrac{(1.5 + 3)^{5}}{5!} \cdot e^{- (1.5 + 3)} } \\ &= \cfrac { \cfrac{1.5^{x}}{x!} \cdot \cfrac{3^{5 - x}}{(5 - x)!} \cdot e^{-4.5} } { \cfrac{4.5^{5}}{5!} \cdot e^{-4.5} } \\ &= \cfrac{5!}{x! (5 - x)!} \cdot \cfrac{1.5^x \cdot 3^{5 - x}}{4.5^{x + (5 - x)}} \\ &= {}_5 C_{x} \cdot \left( \cfrac{1.5}{ \ 4.5 \ } \right)^x \left( \cfrac{3}{ \ 4.5 \ } \right)^{5 - x} \\ &= {}_5 C_{x} \cdot \left( \cfrac{1}{ \ 3 \ } \right)^x \left( 1 - \cfrac{1}{ \ 3 \ } \right)^{5 - x} \\ \end{alignat*}

となる。これはX + Y = 5という条件のもとで、Xは試行回数5、成功確率\cfrac{1}{ \ 3 \ }二項分布Bin \left(5, \cfrac{1}{ \ 3 \ } \right)に従うことを意味する。したがって、この平均は

5 \cdot \cfrac{1}{ \ 3 \ } = \cfrac{5}{ \ 3 \ }

である。以上より、

\underline{\fbox{ ウ } = \cfrac{5}{ \ 3 \ }、\fbox{ エ } = 二項}

参考資料

\bf{\textcolor{red}{記事が役に立った方は「いいね」を押していただけると、すごく喜びます \ 笑}}
ご協力のほどよろしくお願いします。

Discussion