指数分布
Exponential Distribution
指数分布とは、単位時間に平均して λ(ラムダ)回起こる現象が、次に起こるまでの時間 X が従う確率分布です。
\(X 〜 E_x(λ)\)
と書きます。
Source:Wikimedia Commons File:Exponential distribution pdf.png
単位時間に平均して λ(ラムダ)回起こる現象とは、言い換えると、1/ λ(単位時間)が X の平均的な値(期待値)になるということで、λ が大きくなるほど、期待値が小さく、グラフは左に寄る・・というイメージになります。
機械が故障してから次に故障するまでの時間や、客が来てから次の客が来るまでの時間などを統計的に扱う場合に、指数分布を使います。
指数分布はポアソン分布と深い関係にあります。ポアソン分布は、単位時間内に事象の起こる回数の確率を表現する一方、指数分布は事象の起こる間隔の確率を表現しています。同じ事象を裏返しに見ているわけで、指数分布の平均が1/ λ になるのは、そのことを示しています。
確率密度関数
指数分布は、単位時間中にある事象が発生する平均回数 λ をパラメータとして、以下のように書けます。
λ というパラメータは、指数分布の確率変数である「時間 X 」の期待値の逆数で、直感的にはわかりにくいので、期待値 μ = 1/λ を利用して、以下のように書く場合もあります。
ちなみに、Python の NumPyライブラリが持っている「指数分布乱数」の解説でも、確率密度関数が期待値( β = 1/λ )を使った表現になっていて、 パラメータとしては期待値(β)を渡す形式になっています。
NumPy:numpy.random.exponential
累積分布関数
指数分布はポアソン分布と異なり、連続型の分布なので、実際に確率を計算する場合は、累積確率を計算するのが一般的で、例えば X:0 〜 x の累積確率は、以下のようになります。
Source:Wikimedia Commons File:Exponential distribution cdf.png
例えば、1時間に平均5人の客が来る(λ = 5、客の平均到着間隔は12分)窓口で、次の客が来るまでの間隔が15分(x = 0.25)以内である確率は、以下のように計算できます(単位時間は1時間です)。
期待値と分散
- 期待値
\[E(x) = μ = \frac{1}{λ}\]
- 分散
\[V(x) = \frac{1}{λ^2}\]
APPENDIX
参考事例:南海トラフ地震が 今後30年以内におこる確率
- 地震の発生がポアソン過程(発生間隔は指数分布)に基づくとします。
- 南海トラフ地震は「約 90 ~ 150 年間隔で繰り返し発生」という話を「平均 120年に1回」=「1年(単位時間)に 0.00833回」とします。
- 前回発生したのが 1944年の昭和東南海地震・1946年の昭和南海地震(連動する同じもの)とすると、2020年現在で約75年経過しているので「今後30年以内」というのを、話を簡単にするために「前回発生から 105年以内」に置き換えると以下のように計算できます(この75年間で発生していないことを加味すれば、当然「今から30年以内」とは別の数字になるのですが・・)。
- 累積分布関数を用いた累積確率は以下のように計算できます。
\[ F(\leqq 105) = 1 - e^{-0.00833 \times 105} = 0.58299 \]
- この計算はターミナルから Python を使うと簡単です。
$ python >>> import math >>> 1 - math.e**(-0.00833*105) 0.5829920530788264
- よって「前回発生から105年以内に発生する確率」は約 58%となります。
- ちなみに「120年に1回」なら「120年以内」は 100%かと思いがちですが、もちろんそうではありません。120年として計算すると
\(1 - e^{-1.0}\)
で 約 63.2%です。
関連ページ
- Statistics/PoissonDistribution:ポアソン分布
- InversionMethod:逆関数法を用いた指数分布乱数の発生