ガンマ分布(Gamma distribution)は、正の実数 $\lambda \in \mathcal{R}$を確率変数の範囲にもつ、連続確率分布です。
よくベータ分布(Beta distribution)と混同されがちですが、ベータ分布は確率変数の値の範囲が0~1の確率分布なので、この2つを混同しないようにしましょう。
確率変数の範囲が実数の範囲であることから、ポアソン分布(Poisson Distribution)のパラメータ$ \lambda$の共役事前分布としても、ガンマ分布は使われることがあります。今回は、ガンマ分布の性質について、その形状や期待値や分散等の統計量までわかりやすく解説します。
ガンマ分布の数式
ガンマ分布は、下記のような2つのパラメータを有する連続確率分布です。
ガンマ分布は、正の実数をとる$\alpha$ 、$\beta$ の2つのパラメータを用いて下記のように定義される。
\begin{equation} Gam(\lambda | \alpha, \beta) = \frac{\beta^\alpha}{\Gamma(\alpha)} \lambda^{\alpha-1}e^{-\beta \lambda} \end{equation}
定義式に書いてあるように、ガンマ分布の2つのパラメータ、$\alpha$ 、 $\beta$は、ともに正の実数になります。
ガンマ分布を構成する2つのパラメータは、慣習的に、$\alpha$ は シェープパラメータ(shape parameter)、$\frac{1}{\beta}$をスケールパラメータ(scale parameter)と呼ばれています。
イメージですが、名前の通りで、shapeとあるように$\alpha$ はガンマ分布の形状に寄与するパラメータであり、$\beta$はscaleとあるように、その大きさ(広がり具合)に大きく寄与するパラメータとなっています。
scipyやRなどの科学計算ライブラリや統計用ソフトを用いてガンマ分布を扱う場合には、パラメータがscaleやshapeというように指定する必要性があるもののあるので、覚えておきましょう。
ガンマ分布を可視化・図示してみる
新しい確率分布を学ぶ際には、図示をしてみて色々パラメータを変更しながら自分で確認してみるのが効率的です。
今回もPythonを用いてガウス分布を可視化・図示してみましょう。
まずは必要なライブラリを読み込みます。
from scipy import stats
import matplotlib.pylab as plt
import numpy as np
下記のコードを実行すると、パラメータを16種類変えたガンマ分布が可視化されます。
shapes = [1, 2, 3, 5]
scales = [1, 2, 3, 5]
x = np.linspace(0, 50, 100)
f, ax = plt.subplots(len(shapes), len(scales), figsize=(20,8), dpi=150)
colorlist = ["m", "y", "g", "b"]
for i in range(len(shapes)):
for j in range(len(scales)):
shape = shapes[j]
scale = scales[i]
y = stats.gamma(a=shape, scale=scale).pdf(x)
ax[i, j].plot(x, y, label="$\\alpha = {}, \\beta = {}$".format(shape, scale), color=colorlist[i])
ax[i, j].legend()
ガンマ分布を可視化した結果
ガンマ分布を可視化することができました。
ここで、shapeパラメータとscaleパラメータを変えた時に、どのような形状になるか確認してみましょう。
shapeパラメータである$\alpha$ を大きくすると、ガンマ分布の山が緩やかになっていることがわかります。一方、scaleパラメータである$\beta$を大きくすると、ガンマ分布の大きさが横に広がって大きくなっていることがわかりますね。
ガンマ分布の期待値
ガンマ分布の期待値は下記にようになります。
\begin{equation} \begin{split} E[Gamma( \lambda | \alpha, \beta)] = \frac{\alpha}{\beta} \end{split} \end{equation}
ガンマ分布の期待値の導出
ガンマ分布の期待値を導出してみましょう。
\begin{equation} \begin{split} E[Gamma( \lambda | \alpha, \beta)] &= \int_{- \infin}^{\infin} \lambda \frac{\beta^\alpha}{\Gamma(\alpha)} \lambda^{\alpha-1}e^{-\beta \lambda} d\lambda \\ &= \frac{\beta^\alpha}{\Gamma(\alpha)} \int_{- \infin}^{\infin} \lambda^{\alpha}e^{-\beta \lambda} d\lambda \\ &= \frac{\beta^\alpha}{\Gamma(\alpha)} \frac{\Gamma(\alpha+1)}{\beta^{\alpha+1}} \\ &= \frac{\beta^\alpha}{\Gamma(\alpha)} \frac{\alpha・\Gamma(\alpha) }{\beta・\beta^{\alpha}} \\ &= \frac{\alpha}{\beta} \end{split} \end{equation}
3行目の式変形は、ガンマ分布の確率密度関数の積分が1になる性質(定義)を利用しています。
ガンマ分布の分散
ガンマ分布の分散は下記のようになります。
\begin{equation} \begin{split} V[Gamma( \lambda | \alpha, \beta)] = \frac{\alpha}{\beta^2} \end{split} \end{equation}
ガンマ分布の分散の導出
まず最初に、確率密度関数の分散と期待値に関する関係式、$V[X] = E[X^2] – E[X]^2$から、 分散を求めるために、$E[X^2]$を計算します。
\begin{equation} \begin{split} E[Gamma( \lambda | \alpha, \beta)^2] &= \int_{- \infin}^{\infin} \lambda^2 \frac{\beta^\alpha}{\Gamma(\alpha)} \lambda^{\alpha-1}e^{-\beta \lambda} d\lambda \\ &= \frac{\beta^\alpha}{\Gamma(a)} \int_{- \infin}^{\infin} \lambda^{(\alpha+1)}e^{-\beta \lambda} d\lambda \\ &= \frac{\beta^\alpha}{\Gamma(a)} \frac{\Gamma(\alpha+2)}{\beta^{\alpha+2}} \\ &= \frac{\beta^\alpha}{\Gamma(a)} \frac{\alpha(\alpha+1)\Gamma(\alpha)}{\beta^2・\beta^\alpha} \\ &= \frac{\alpha(\alpha+1)}{\beta^2} \\ \end{split} \end{equation}
よって、(3)と(5)式より、
\begin{equation} \begin{split} V[Gamma( \lambda | \alpha, \beta)] &= E[Gamma( \lambda | \alpha, \beta)^2] - E[Gamma( \lambda | \alpha, \beta)]^2 \\ &= \frac{\alpha(\alpha+1)}{\beta^2} - \frac{\alpha^2}{\beta^2} \\ &= \frac{\alpha}{\beta^2} \end{split} \end{equation}
となり、ガンマ分布の分散を導出することができました。