- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2023-02-02T13:38:36+09:00","default:inoue.ko","inoue.ko")
#author("2023-10-10T18:24:00+09:00;2023-02-03T17:27:57+09:00","default:inoue.ko","inoue.ko")
*指数分布
Exponential Distribution
~
***確率変数
#image(ExponentialDistribution.png,right,30%)
指数分布とは、単位時間に平均して λ(ラムダ)回起こる現象が、次に起こるまでの時間 X が従う確率分布です。&mathjax(X 〜 E_x(λ));と書きます。
&scale(75){Source:[[Wikimedia Commons File:Exponential distribution pdf.png>https://commons.wikimedia.org/wiki/File:Exponential_distribution_pdf.png]]};
単位時間に平均して λ(ラムダ)回起こる現象とは、言い換えると、1/ λ(単位時間)が X の平均的な値(期待値)になるということで、λ が大きくなるほど、期待値が小さく、グラフは左に寄る・・というイメージになります。
機械が故障してから次に故障するまでの時間や、客が来てから次の客が来るまでの時間などを統計的に扱う場合に、指数分布を使います。
指数分布は__[[ポアソン分布>Statistics/PoissonDistribution]]__と深い関係にあります。ポアソン分布は、単位時間内に事象の起こる回数の確率を表現する一方、指数分布は事象の起こる間隔の確率を表現しています。同じ事象を裏返しに見ているわけで、指数分布の平均が1/ λ になるのは、そのことを示しています。
~
~
***確率密度関数
指数分布は、単位時間中にある事象が発生する平均回数 λ をパラメータとして、以下のように書けます。
#mathjax( f(x) = λ e^{-λx} ( x \geq 0 ))
#mathjax( f(x) = 0 ( x < 0 ))
λ というパラメータは、指数分布の確率変数である「時間 X 」の期待値の逆数で、直感的にはわかりにくいので、期待値 μ = 1/λ を利用して、以下のように書く場合もあります。
#mathjax( f(x) = \frac{1}{μ} e^{-\frac{x}{μ}} ( x \geq 0 ))
//#mathjax( f(x) = \frac{1}{μ} exp \left( -\frac{x}{μ} \right) )
#mathjax( f(x) = 0 ( x < 0 ))
ちなみに、Python の __[[NumPy]]__ライブラリが持っている「指数分布乱数」の解説でも、確率密度関数が期待値( β = 1/λ )を使った表現になっていて、 パラメータとしては期待値(β)を渡す形式になっています。
__[[NumPy:numpy.random.exponential>https://numpy.org/doc/stable/reference/random/generated/numpy.random.exponential.html]]__
~
***累積分布関数
#image(ExponentialDistributionCDF.png,right,30%)
指数分布はポアソン分布と異なり、連続型の分布なので、実際に確率を計算する場合は、累積確率を計算するのが一般的で、例えば X:0 〜 x の累積確率は、以下のようになります。
&scale(75){Source:[[Wikimedia Commons File:Exponential distribution cdf.png>https://commons.wikimedia.org/wiki/File:Exponential_distribution_cdf.png]]};
#mathjax( F(\leqq x) = 1 - e^{-λx} )
例えば、1時間に平均5人の客が来る(λ = 5、客の平均到着間隔は12分)窓口で、次の客が来るまでの間隔が15分(x = 0.25)''以内''である確率は、以下のように計算できます(単位時間は1時間です)。
#mathjax( F(\leqq 0.25) = 1 - e^{-5 \times 0.25} = 1 - 0.286 = 0.714 )
~
***期待値と分散
-期待値
#mathjax(E(x) = μ = \frac{1}{λ})
-分散
#mathjax(V(x) = \frac{1}{λ^2})
~
~
**APPENDIX
***参考事例:南海トラフ地震が 今後30年以内におこる確率
-地震の発生がポアソン過程(発生間隔は指数分布)に基づくとします。
-南海トラフ地震は「約 90 ~ 150 年間隔で繰り返し発生」という話を「平均 120年に1回」=「1年(単位時間)に 0.00833回」とします。
-前回発生したのが 1944年の昭和東南海地震・1946年の昭和南海地震(連動する同じもの)とすると、2020年現在で約75年経過しているので「今後30年以内」というのを、話を簡単にするために「前回発生から 105年以内」に置き換えると以下のように計算できます(この75年間で発生していないことを加味すれば、当然「今から30年以内」とは別の数字になるのですが・・)。
-累積分布関数を用いた累積確率は以下のように計算できます。
#mathjax( 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年として計算すると &mathjax(1 - e^{-1.0}); で 約 63.2%です。
~
***関連ページ
-[[Statistics/PoissonDistribution]]:ポアソン分布
-[[InversionMethod]]:逆関数法を用いた指数分布乱数の発生
~
~
~