ベイズ推定などを勉強すると、頻繁に登場することになる逆ガンマ分布。
今回は、逆ガンマ分布が理解できるよう、期待値や分散など基本的な統計量から始まり、ガンマ分布との関係性について解説していきます。
逆ガンマ分布の確率密度関数
逆ガンマ分布$InvGam (x | \alpha, \beta )$ は、正の実数 $ x \in \mathbb{R} $を確率変数にとる、確率密度関数です。
逆ガンマ分布は、次の$\alpha$と$\beta$をパラメータにとり、下記の確率密度関数で表されます。
逆ガンマ分布は、正の実数値をとる2つのパラメタ $\alpha > 0$、$\beta >0 $を用いて、次のように定義される。
\begin{equation} \begin{split} InvGam (x | \alpha, \beta ) = \frac{\beta^\alpha}{\Gamma(\alpha)} x^{- \alpha -1} e^{ - \frac{\beta}{x}} \end{split} \end{equation}
逆ガンマ分布に登場するパラメータ$\alpha $と$\beta $ですが、$\alpha >$は、shape パラメータ、$\beta $はscaleパラメータといわれることがあります。また、別の名前だと$\alpha >$を形状母数 、$\beta $を尺度母数と言ったりします。
冒頭にベイズ推定の勉強をしていると逆ガンマ分布に遭遇すると書きましたが、実は正規分布の分散$\sigma^2$の事前分布として利用することができることから、ベイズ推定の文脈で非常によく登場します。
定義(1)式に登場する、関数 $\Gamma(x)$はガンマ関数であり、代表的な性質として下記のような性質を持っています。
$x$を正の実数とした時、ガンマ関数において次のような関係が成り立つ。
\begin{equation} \begin{split} \Gamma(x+1) = x\Gamma(x) \end{split} \end{equation}
ガンマ関数は様々な性質があり、よく機械学習の分野でも登場する関数となっています。
ガンマ関数について知りたい方は、こちらをご覧ください。
逆ガンマ分布を可視化する
当サイトでは、新しい確率分布が登場したら必ず可視化することにしているため、今回もPythonとmatplotlibを用いて可視化します。
まず、必要なライブラリをインポートします。今回は、逆ガンマ分布の確率密度関数を描写するのに、scipyのstatsモジュールに入っている、invgamma関数を用います。
from scipy import stats
import matplotlib.pylab as plt
import numpy as np
ライブラリがインポートできたら、下記のコードで描写します。今回は、パラメータ$\alpha $、$\beta $を4種類ずつ試して、逆ガンマ分布の形状がどのように変化するか見てみます。
shapes = [0.1, 1, 2, 3]
scales = [0.1, 1, 2, 3]
x = np.linspace(0, 10, 100)
f, ax = plt.subplots(len(shapes), len(scales), figsize=(20, 10), dpi=150)
colorlist = ["m", "y", "g", "b"]
for i in range(len(shapes)):
for j in range(len(scales)):
alpha = shapes[i]
beta = scales[j]
y = stats.invgamma(alpha, loc=0, scale=beta).pdf(x)
ax[i, j].plot(x, y, label="a = {}, b = {}".format(i, j), color=colorlist[i])
ax[i, j].legend()
このように、図示することができました。
$\alpha $、$\beta $を変化させるとグラフの形状が変化しているのがわかります。
4×4の16種類の形状がありますが、縦にグラフを比較すると、$\beta $を固定して、$\alpha $の変化を見ていることになります。$\alpha $ を大きくするに従って、山の部分が急峻になり尖っていることがわかります。このため、$\alpha $はshape パラメータとも言われています。
一方、横で比較すると、$\beta $が大きくなるにつれて、形状が横に大きく日尖っているのがわかると思います。このため、$\beta $は逆ガンマ分布の大きさに支配的になることから、scaleパラメータと言われています。
逆ガンマ分布の統計量
逆ガンマ分布の基本的な統計量である、期待値と分散はこのようになっています。
逆ガンマ分布の期待値
\begin{equation} \begin{split} E[InvGam (x | \alpha, \beta )] = \frac{ \beta }{ \alpha - 1} \end{split} \end{equation}
逆ガンマ分布の分散
\begin{equation} \begin{split} Var[InvGam (x | \alpha, \beta )] = \frac{ \beta^2 }{ (\alpha - 1)^2(\alpha - 2)} \end{split} \end{equation}
ここで、スケールパラメータ$\beta $に注目すると、先ほど可視化した例だと$\beta $を大きくすると分布の形が右に膨らんでいたので、平均値や分散も大きくなると予想されますが、(3)や(4)式を見ると確かにそのようになってそうですね。
逆ガンマ分布とガンマ分布の関係
今回取り扱った、逆ガンマ分布ですが、ガンマ分布とは下記のような関係があります。
確率変数$X$がパラメータ$\alpha $、$\beta $のガンマ分布に従うとき、その逆数である$Y = \frac{1}{X}$の確率分布は、パラメータ$\alpha $、$\beta $の逆ガンマ分布に従う。
\begin{equation} \begin{split} X &\sim Gam(\alpha, \beta ) \\ Y &\sim InvGam (x | \alpha, \beta ) \end{split} \end{equation}
ガンマ分布についてもっと知りたい方はこちらをご参照ください。