ガンマ分布#
概要#
ガンマ分布(gamma distribution)は非負の実数直線上の代表的な確率分布である。指数分布やカイ二乗分布を特殊ケースとして含む柔軟な分布族であり、待ち時間や生存時間のモデリング、ベイズ統計における共役事前分布として広く用いられる。
確率密度関数#
shape-scale パラメタリゼーション#
\(\alpha > 0\): shape parameter(形状パラメータ)
\(\beta > 0\): scale parameter(尺度パラメータ)
shape-rate パラメタリゼーション#
尺度変換\(\lambda = 1/\beta\)を行った
という定義も使われる(\(\lambda\)はrate parameterと呼ばれる)。
ガンマ関数#
ここで\(\Gamma(\alpha)\)はガンマ関数(gamma function)
自然数\(n\)に対して\(\Gamma(n) = (n-1)!\)が成り立つ。また\(\Gamma(1/2) = \sqrt{\pi}\)である。
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import gamma
x = np.linspace(0.1, 6, 100)
y = gamma(x)
fig, ax = plt.subplots(figsize=[4, 2.5])
ax.plot(x, y)
ax.set(title=r"Gamma function $\Gamma(\alpha)$", xlabel=r"$\alpha$", ylabel=r"$\Gamma(\alpha)$")
fig.show()
累積分布関数#
ここで\(\gamma(\alpha, x)\)は下側不完全ガンマ関数。一般に閉じた形では表せない。
期待値・分散#
shape-scale パラメタリゼーションの場合:
shape-rate パラメタリゼーション(\(\lambda = 1/\beta\))の場合:
図#
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gamma as gamma_dist
x = np.linspace(0, 20, 200)
fig, axes = plt.subplots(1, 2, figsize=[8, 3])
for alpha in [1, 3, 5, 10]:
pdf = gamma_dist.pdf(x, alpha)
axes[0].plot(x, pdf, label=fr"$\alpha={alpha}, \beta=1$")
cdf = gamma_dist.cdf(x, alpha)
axes[1].plot(x, cdf, label=fr"$\alpha={alpha}, \beta=1$")
axes[0].set(title="PDF", xlabel="x", ylabel="f(x)")
axes[0].legend()
axes[1].set(title="CDF", xlabel="x", ylabel="F(x)")
axes[1].legend()
fig.tight_layout()
fig.show()
性質#
\(\alpha=1\)のとき指数分布 \(\text{Exp}(1/\beta)\)に一致する
\(\alpha=n/2, \beta=2\)のとき自由度\(n\)のカイ二乗分布に一致する
再生性: \(X_1 \sim \text{Gamma}(\alpha_1, \beta), X_2 \sim \text{Gamma}(\alpha_2, \beta)\)が独立なら\(X_1 + X_2 \sim \text{Gamma}(\alpha_1+\alpha_2, \beta)\)
指数型分布族に属する
ポアソン分布の共役事前分布である
尺度変換\(Y = X/\beta\)を行うと、\(Y\)の分布は\(\beta\)に依存しない標準形\(\frac{1}{\Gamma(\alpha)} y^{\alpha-1} e^{-y}\)となる
応用例#
待ち時間のモデリング(ポアソン過程で\(\alpha\)個の事象が起きるまでの時間)
ベイズ統計におけるポアソン分布のrate parameterの共役事前分布
保険数理における請求額の分布
降雨量のモデリング