No.028 統計学のお勉強 ポワソン分布

1.今回の目的

統計学を勉強中です。ちなみに私は文系出身で数学はさっぱりなので、いろいろなサイトの説明を参考に頑張って学んでおります。

今回はポワソン分布について

2.Reference

こちらのサイトを参考にしました。
13-3. ポアソン分布 | 統計学の時間 | 統計WEB (bellcurve.jp)

3.ポワソン分布とは

ポアソン分布は、ある期間に平均X 回起こる現象が、ある期間にX回起きる確率の分布をいいます。この確率がλ(ラムダ)ですが、λは回数が非常に多きく、発生率が非常に小さい場合には npで近似できます。例えば製品Aを作る工場では平均して200個に1個の割合で不良品が発生する場合、製造された製品Aを10個抜き取る時、λは以下のようになります。

$${lambda=np=10\times \frac{1}{200}=0.05}$$

確率関数f(x)を求める式は以下です。複雑ですね…
$${P(X=k)=\frac{e^{-\lambda} \lambda^{k}}{k!}}(k=0,1,2…)$$


一応1個不良品が入っている可能性を計算すると0.04756…の確率のようです。

ポワソン分布は期待値E(X)、分散V(X)ともにλとなります。
確率関数は覚えにくいですが、期待値、分散は覚えやすいですね。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
from fractions import Fraction
from scipy import stats
import math

# 確率分布を取得
# λ を指定する 
p = 1/200#一定期間に起きた回数
n=10
x = range(11)
y = pmf_poisson = stats.poisson.pmf(mu=n*p, k=x)

# 公式からの導出
mean = mu
var = mu
stddev =np.sqrt(var)
print(f'公式で計算\n Mean: {mean}, Variance: {var:.2f}, StdDev: {stddev:.2f}')

# ポワソン分布を作図
plt.figure(figsize=(4, 4)) # 図の設定
plt.bar(x, y, color='#00A968') # 棒グラフ #plt .vlines(x=mean, ymin=0.0, ymax=np.max(y), color='orange', linestyle='--', label='$E[x]$') # 平均 #plt .vlines(x=mean - var, ymin=0.0, ymax=np.max(y), color='red', linestyle=':', label='$E[x] - {V[x]}') # 平均 - 分散 #plt .vlines(x=mean + var, ymin=0.0, ymax=np.max(y), color='red', linestyle=':', label='$E[x] + {V[x]}') # 平均 + 分散 #plt .vlines(x=mean - stddev, ymin=0.0, ymax=np.max(y), color='blue', linestyle=':', label='$E[x] - \sqrt{V[x]}$') # 平均 - 標準偏差 #plt .vlines(x=mean + stddev, ymin=0.0, ymax=np.max(y), color='blue', linestyle=':', label='$E[x] + \sqrt{V[x]}$') # 平均 + 標準偏差

plt.xlabel('発生回数') # x軸ラベル
plt.ylabel('発生確率') # y軸ラベル
plt.suptitle('Poisson Distribution(ポワソン分布)', fontsize=10) # 図タイトル #plt .title('$\phi=' + str(phi) + '$'+f'  n={n}', loc='left') # タイトル

plt.show() # 描画

以上です。

この記事が気に入ったらサポートをしてみませんか?