指数分布,ポアソン分布,ポアソン過程について説明する.
学習目標
指数分布の確率密度関数,平均,分散,累積分布関数を理解する.
指数分布の無記憶性を理解し,証明できる.
指数分布とポアソン分布の関係を理解する.
ポアソン過程の定義を理解する.
ポアソン過程の到着間隔が指数分布に従うことを理解する.
指数分布
連続型確率変数 X が指数分布 (exponential distribution)に従うとき,X の確率密度関数は
f_X(x) = \begin{cases}
\lambda e^{-\lambda x} & x \geq 0 \\
0 & x < 0
\end{cases}
で与えられる.ここで \lambda > 0 は分布のパラメータである.指数分布に従う確率変数 X の平均と分散は
\mathbb{E}[X] = \frac{1}{\lambda}, \quad \text{Var}(X) = \frac{1}{\lambda^2}
である.X の累積分布関数は
F_X(x) = \mathbb{P}(X \leq x) = \begin{cases}
1 - e^{-\lambda x} & x \geq 0 \\
0 & x < 0
\end{cases}
である.
指数分布に従う確率変数は,事象が起こるまでの時間を表すことが多い.例えば,機械が故障するまでの時間,事故が発生するまでの時間などが挙げられる.このとき,\mathbb{E}[X] は,事象が起こるまでの平均時間を表す.\lambda の値が大きくなるほど,\mathbb{E}[X] は小さくなる.
次の図は,パラメータ \lambda = 0.5, 1.0, 1.5, 2.0 の場合における指数分布の確率密度関数を示している.図から分かるように,確率密度関数 f_X(x) は x の増加に伴い単調減少する.
コード
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import expon
x = np.linspace(0 , 8 , 100 )
lambda_params = [1.0 , 1.5 , 2.0 ]
line_styles = ["-" , "--" , ":" ]
line_colors = ["#144f78" , "#137a72" , "#c17c18" ] # brand accents, L* 32 -> 58
for lam, ls, c in zip (lambda_params, line_styles, line_colors):
pdf = expon.pdf(x, scale= 1 / lam)
plt.plot(x, pdf, label= f"λ= { lam} " , linestyle= ls, color= c)
plt.title("Exponential Distribution PDF" )
plt.xlabel("x" )
plt.ylabel("$f_X(x)$" )
plt.xlim(0 , 3 )
plt.ylim(0 , 2.5 )
plt.legend()
plt.grid()
plt.show()
到着間隔とサービス時間
M/M/1 と M/M/c 待ち行列では,到着間隔とサービス時間が指数分布に従う.確率変数 T が到着間隔を表すとき,\mathbb{P}(T \leq t) は,時間 t 以内に次の客が到着する確率を表す.\mathbb{P}(T > t) は,時間 t 以内に次の客が到着しない確率を表す.
\mathbb{E}[T] は,到着間隔の平均を表す.\lambda = 1/\mathbb{E}[T] は,単位時間あたりの到着する客数の平均を表す.この \lambda は,前の章で説明した平均到着率である.
例 21.1 ある店舗では,1時間あたり平均12人の客が来店する.到着間隔 T が指数分布に従うと仮定する.次の問いに答えよ.
平均到着間隔 E[T] を求めよ.
2分以内に次の客が到着する確率を求めよ.
平均到着率は \lambda = 12 人/時間である.平均到着間隔は
E[T] = 1/\lambda = 1/12 \text{ 時間} = 5 \text{ 分}
である.
単位を時間に揃え,P(T \leq 1/30) を計算する.
P(T \leq 1/30) = F_T(1/30) = 1 - e^{-12 \times (1/30)} \approx 0.3297
よって,2分以内に次の客が到着する確率は約0.3297である.
次の図は,例 21.1 で説明した到着間隔のシミュレーション例を示している.平均到着率 \lambda = 12 人/時間であるとき,25人の到着時間をシミュレーションした.横軸は時間を表し,青い線は各客の到着時間を示している.
コード
from scipy.stats import expon
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0 )
lambda_param = 12 # 平均到着率(人/時間)
num_arrivals = 25 # シミュレーションする到着数
inter_arrival_times = expon.rvs(scale= 1 / lambda_param, size= num_arrivals)
arrival_times = np.cumsum(inter_arrival_times)
plt.figure(figsize= (5 , 1.5 ))
plt.eventplot(
arrival_times,
orientation= "horizontal" ,
colors= "#16212d" ,
lineoffsets= 0.5 ,
linelengths= 0.3 ,
linewidths= 0.8 ,
)
plt.title("Simulated Arrival Times" )
plt.xlabel("Time (hours)" )
plt.yticks([])
plt.xlim(0 , max (arrival_times) + 0.15 )
plt.show()
例 21.2 あるコールセンターでは,1時間あたり平均6人の客を処理できる.サービス時間 T が指数分布に従うと仮定する.次の問いに答えよ.
平均サービス時間 E[T] を求めよ.
3分以内にサービスが完了する確率を求めよ.
平均サービス率は \mu = 6 である.平均サービス時間は次のように計算される.
E[T] = \frac{1}{\mu} = \frac{1}{6} \text{ 時間} = 10 \text{ 分}
P(T \leq 0.05) を計算する.
P(T \leq 0.05) = F_T(0.05) = 1 - e^{-6 \times 0.05} \approx 0.2592
よって,3分以内にサービスが完了する確率は約0.2592である.
無記憶性
指数分布が無記憶性を持つ唯一の連続分布である.
定義 21.1 確率変数 T が無記憶性 (memoryless)を持つとは,任意の非負実数 s, t に対して
P(T > s + t \mid T > s) = P(T > t), \quad (s, t \geq 0)
が成り立つことをいう.
確率変数 T を到着間隔とする.無記憶性とは,すでに時間 s が経過している場合(T > s ),さらに時間 t 経過した後に到着が発生していない確率(T > s + t )が,最初から時間 t 経過した後に到着が発生していない確率と等しいことを意味する.
定理 21.1 指数分布に従う確率変数は無記憶性を持つ.
証明 . \begin{align*}
P(T > s + t \mid T > s) & = \frac{P(T > s + t, T > s)}{P(T > s)} \\
& = \frac{P(T > s + t)}{P(T > s)} \\
& = \frac{e^{-\lambda (s + t)}}{e^{-\lambda s}} \\
& = e^{-\lambda t} \\
& = P(T > t)
\end{align*}
例 21.3 仮に,バスの到着間隔が指数分布に従うのであれば,「すでに10分待っていたので,そろそろバスが来るだろう」という考え方は成り立たない.
例 21.4 ある店舗での客の到着間隔が指数分布に従うとする.到着率は \lambda = 2 人/時間である.すでに30分待っているとき,さらに15分待った後に客が到着していない確率を求めよ.
到着間隔 T はパラメータ \lambda = 2 の指数分布に従う.無記憶性より,
P(T > 0.75 \mid T > 0.5) = P(T > 0.25) = e^{-2 \times 0.25} \approx 0.607
よって,さらに15分待った後に客が到着していない確率は約0.607である.
ポアソン分布
離散型確率変数 X がポアソン分布 (Poisson distribution)に従うとは,次の確率質量関数を持つことをいう.
p_X(n) = \mathbb{P}(X = n) = e^{-\lambda} \frac{\lambda^n}{n!}, \quad n = 0, 1, 2, \ldots
ここで,\lambda > 0 は分布のパラメータである.ポアソン分布の平均と分散は
\mathbb{E}[X] = \lambda, \quad \text{Var}(X) = \lambda
である.
指数分布とポアソン分布の関係
N(t) を時刻 t までに発生した事象の回数を表す確率変数とする.N(t) がパラメータ \lambda t のポアソン分布に従うとき,確率質量関数,期待値,分散はそれぞれ
\mathbb{P}(N(t) = n) = e^{-\lambda t} \frac{(\lambda t)^n}{n!}, \quad n = 0, 1, 2, \ldots
\mathbb{E}[N(t)] = \lambda t, \quad \text{Var}(N(t)) = \lambda t
で与えられる.
確率変数 T はパラメータ \lambda の指数分布に従うとする.確率密度関数,期待値,分散はそれぞれ
f_T(t) = \begin{cases}
\lambda e^{-\lambda t} & t \geq 0 \\
0 & t < 0
\end{cases}
\mathbb{E}[T] = \frac{1}{\lambda}, \quad \text{Var}(T) = \frac{1}{\lambda^2}
で与えられる.
例えば,n = 0 のとき,
\mathbb{P}(N(t) = 0) = e^{-\lambda t}
であり,これは時間 t 以内に事象が発生しない確率を表す.これは \mathbb{P}(T > t) と等しい.すなわち,
\mathbb{P}(T > t) = 1 - F_T(t) = e^{-\lambda t} = \mathbb{P}(N(t) = 0)
である.
客の到着間隔が指数分布に従うとき,単位時間あたりの平均到着率が \lambda であるとする.このとき,時刻 t までに到着した客数 N(t) はパラメータ \lambda t のポアソン分布に従う.また,\lambda は到着率であるから,時刻 t までに到着した客数の期待値は \mathbb{E}[N(t)] = \lambda t であることが分かる.
確率変数
到着間隔 T
到着数 N(t)
変数
連続型
離散型
ポアソン過程
確率過程 \{N(t), t \geq 0\} とは,時間 t とともに変化する確率変数 N(t) の集まりである.
計数過程 (counting process)とは,次の条件を満たす確率過程 \{N(t), t \geq 0\} である.
N(t) \geq 0
N(t) \in \mathbb{Z}
N(t) は単調増加である
N(t) は,時刻 t までに発生した事象の回数を表す.例として,客の到着数,機械の故障回数などが挙げられる.
定義 21.2 確率過程 \{N(t), t \geq 0\} が独立増分 (independent increments)を持つとは,任意の 0 \leq t_1 < t_2 < \cdots < t_n に対して,
N(t_2) - N(t_1), N(t_3) - N(t_2), \ldots, N(t_n) - N(t_{n-1})
が互いに独立であることをいう.
計数過程では,N(t_i) - N(t_{i-1}) は時間区間 (t_{i-1}, t_i] に発生した事象の回数を表す.計数過程が独立増分を持つとは,重なりのない時間区間における事象の発生回数が互いに独立であることを意味する.
例 21.5 ある店舗での客の到着数を表す計数過程 \{N(t), t \geq 0\} を考える.この計数過程が独立増分を持つとは,例えば,時間区間 (0, 1] に到着した客数と時間区間 (3, 6] に到着した客数が独立であることを意味する.
定義 21.3 確率過程 \{N(t), t \geq 0\} が定常増分 (stationary increments)を持つとは,任意の t > s \geq 0 と h \geq 0 に対して,N(t) - N(s) と N(t + h) - N(s + h) が同一の分布に従うことをいう.
計数過程が定常増分を持つとは,事象の発生回数は時間区間の長さのみに依存し,時間の位置には依存しないことを意味する.
例 21.6 ある店舗での客の到着数を表す計数過程 \{N(t), t \geq 0\} を考える.この計数過程が定常増分を持つとは,例えば,12時から13時の間に到着した客数と,14時から15時の間に到着した客数が同じ分布に従うことを意味する.
定義 21.4 以下の性質を満たす計数過程 \{N(t), t \geq 0\} を パラメータ \lambda > 0 のポアソン過程 (Poisson process)という.
N(0) = 0
P(N(t + \Delta t) - N(t) = 1) = \lambda \Delta t + o(\Delta t)
P(N(t + \Delta t) - N(t) \geq 2) = o(\Delta t)
独立増分を持つ
ここで,o(\Delta t) は
\lim_{\Delta t \to 0} \frac{o(\Delta t)}{\Delta t} = 0
を満たす関数である.
N(0) = 0 は,時刻 0 では事象が発生していないことを表す.
P(N(t + \Delta t) - N(t) = 1) = \lambda \Delta t + o(\Delta t) は,時間区間 [t, t + \Delta t] に事象が1回発生する確率を表す.\Delta t が十分小さいとき,事象が1回発生する確率は \lambda \Delta t に近似できる.
P(N(t + \Delta t) - N(t) \geq 2) = o(\Delta t) は,時間区間 [t, t + \Delta t] に事象が2回以上発生する確率を表す.\Delta t が十分小さいとき,事象が2回以上発生する確率は無視できるほど小さい.
定義 21.5 離散型確率変数 X がポアソン分布 (Poisson distribution)に従うとは,次の確率質量関数を持つことをいう.
p_X(k) = P(X = k) = e^{-\lambda} \frac{\lambda^k}{k!}, \quad k = 0, 1, 2, \ldots
ここで,\lambda > 0 は分布のパラメータである.
ポアソン分布の平均と分散は
E[X] = \lambda, \quad \text{Var}(X) = \lambda
である.
次の定理は,ポアソン過程 \{N(t), t \geq 0\} とポアソン分布の関係を示している.
定理 21.2 \{N(t), t \geq 0\} をパラメータ \lambda > 0 のポアソン過程とする.このとき,N(t) は時刻 t までに発生した事象の回数を表し,パラメータ \lambda t のポアソン分布に従う.すなわち,
P(N(t) = k) = e^{-\lambda t} \frac{(\lambda t)^k}{k!}, \quad k = 0, 1, 2, \ldots.
例 21.7 ある店舗での客の到着数を表すポアソン過程 \{N(t), t \geq 0\} を考える.平均到着率は \lambda = 5 人/分である.営業時間は10:00から18:00までの8時間である.次の問いに答えよ.
10:00から10:03までの3分間に到着する客数の分布を求めよ.
11:00から11:03までの3分間に2人の客が到着する確率を求めよ.
開店から3分間の到着数は,N(3) と表される.N(3) はパラメータ \lambda t のポアソン分布に従う.
P(N(3) = k) = e^{-5 \cdot 3} \frac{(5 \cdot 3)^k}{k!}, \quad k = 0, 1, 2, \ldots
独立増分を持つため,11:00から11:03までの到着数も同じ分布に従う.
P(N(3) = 2) = e^{-5 \cdot 3} \frac{(5 \cdot 3)^2}{2!}
ポアソン過程の到着間隔
Y_k を k 回目の事象が発生するまでの時間とし,T_k は (k-1) 回目から k 回目の事象が起こるまでの時間とする.k = 1, 2, \ldots に対して,
T_1 = Y_1, \quad T_k = Y_k - Y_{k-1} \quad (k = 2, 3, \ldots)
と定義する.また,
Y_k = \sum_{i=1}^k T_i = T_1 + T_2 + \cdots + T_k
である.
定理 21.3 \{N(t), t \geq 0\} をパラメータ \lambda > 0 のポアソン過程とする.このとき,k = 1, 2, \ldots に対して,時間間隔 T_k \sim \text{Exp}(\lambda) に従い,T_1, T_2, \ldots は互いに独立である.
Y_k の期待値と分散は
\mathbb{E}[Y_k] = \mathbb{E}[T_1] + \mathbb{E}[T_2] + \cdots + \mathbb{E}[T_k] = \frac{k}{\lambda},
\text{Var}(Y_k) = \text{Var}(T_1) + \text{Var}(T_2) + \cdots + \text{Var}(T_k) = \frac{k}{\lambda^2}
である.
Y_k の確率密度関数は
f_{Y_k}(y) = \frac{\lambda^k y^{k-1} e^{-\lambda y}}{(k-1)!}, \quad y \geq 0
である.これのとき,Y_k はアーラン分布 (Erlang distribution)に従う.
例 21.8 あるコールセンターではの電話の到着はポアソン過程に従うとする.田中さんが電話したとき,11 人の客が すでに待っていた.オペレーターが1人で,平均サービス率は \mu = 2 人/分であるとする.田中さんがサービスを受け始めるまでの待ち時間の期待値を求めよ.
サービスを受けている客のサービス時間もパラメータ \mu の指数分布に従う.
\mathbb{E}[Y] = \frac{12}{\lambda} = \frac{12}{2} = 6 \text{ 分}
まとめ
指数分布に従う確率変数 X は,\mathbb{E}[X] = 1/\lambda ,\text{Var}(X) = 1/\lambda^2 である.X が到着間隔を表すとき,\lambda は平均到着率を表す.
指数分布は,無記憶性 \mathbb{P}(T > s + t \mid T > s) = \mathbb{P}(T > t) をもつ唯一の連続分布である.
計数過程が独立増分をもつとは,重なりのない時間区間における事象の発生回数が互いに独立であることをいい,定常増分をもつとは,発生回数が時間区間の長さのみに依存することをいう.
パラメータ \lambda のポアソン過程 \{N(t), t \geq 0\} において,N(t) はパラメータ \lambda t のポアソン分布に従う.
ポアソン過程の到着間隔 T_k は互いに独立で,パラメータ \lambda の指数分布に従う.k 回目の事象が発生するまでの時間 Y_k はアーラン分布に従う.