指数分布(exponential distribution)について解説します。
指数分布はランダムな現状が起こる状況の定式化によく使われるような分布です。
現象としては、単位時間あたりイベントが$\lambda$回起こるような現象の記述に、指数分布が利用されます。また、いわゆる指数型分布と指数分布は、概念が異なりますので注意してください。
ちなみに、指数分布は指数型分布の一部ですが、この記事では指数型分布の一般的な性質については取り扱いません。
- 指数分布の定義や性質について解説
- 指数分布を可視化
- 指数分布の期待値や分散などの統計量の解説と導出
指数分布の定義
まず最初に指数分布の定義を示します。
単位時間あたりに、イベントが$\lambda$回起こるとすると、その次にイベントが起こる期間xは指数分布でつぎにのように表現できる。
\begin{equation} \begin{split} f(x) = \lambda e^{- \lambda x} \end{split} \end{equation}
また、指数分布は次のように表現されることもある。この時は、$\lambda$は(1)の単位時間あたりに発生するイベントの回数ではなく、イベントが発生する平均時間を示していることに注意してください。
\begin{equation} \begin{split} f(x) = \frac{1}{\lambda}e^{ - \frac{x}{\lambda}} \end{split} \end{equation}
つまり、今考えている分布が、イベントが起こる平均回数であれば(1)を、イベントが起こる平均時間であれば(2)の指数分布で表現することになります。
この辺りは、実際に可視化することでイメージできるようになると思います。
指数分布を可視化する
指数分布を可視化して、どのような形状をしているか確認してみます。
指数分布は(1)の表現と(2)の表現が2つあったので、両方の確率分布を可視化して見比べてみましょう。
import numpy as np
from scipy.stats import expon
import matplotlib.pyplot as plt
x = np.linspace(0, 1, 100)
fig, ax = plt.subplots(figsize=(10, 4), dpi=80)
scales = [1, 2, 5, 10]
for idx, scale in enumerate(scales):
y = expon.pdf(x, scale = 1/scale)
ax.plot(x, y, ls="-", label="$\lambda$ = {}".format(scale))
ax.legend()
こんな感じで描写されます。
指数分布の期待値と分散
指数分布の期待値と分散は、次のようになっています。
指数分布の期待値
\begin{equation} \begin{split} E[f(x)] = \frac{1}{\lambda} \end{split} \end{equation}
指数分布の分散
\begin{equation} \begin{split} Var[f(x)] = \frac{1}{\lambda^2} \end{split} \end{equation}