からっぽのしょこ

読んだら書く!書いたら読む!同じ事は二度調べ(たく)ない

ガンマ関数の性質の導出

はじめに

 機械学習で登場する確率分布について色々な角度から理解したいシリーズです。

 この記事では、ガンマ関数の性質を導出します。

【他の記事一覧】

www.anarchive-beta.com

【この記事の内容】

ガンマ関数の性質の導出

 ガンマ関数(Gamma Function)の性質を導出します。

定義式の確認

 まずは、ガンマ関数の定義式と性質を確認します。

 ガンマ関数は、次の式で定義されます。

$$ \Gamma(x) = \int_0^{\infty} u^{x-1} e^{-u} du $$

 ここで、$e$はネイピア数です。

 ガンマ関数には、次の性質があります。

$$ \begin{align} \Gamma(x + 1) &= x \Gamma(x) &\quad (x > 0) \tag{1}\\ \Gamma(1) &= 1 \tag{2}\\ \Gamma(n + 1) &= n! &\quad (n > 0) \tag{3} \end{align} $$

 $n!$は、$n$の階乗で、1から$n$までの整数の積です。

性質の導出

 次は、3つの性質を導出します。

性質1

 $x$が非負の実数$x > 0$の場合を考えます。

 ガンマ関数の定義式の$x$を$x + 1$に置き換えます。

$$ \begin{aligned} \Gamma(x + 1) &= \int_0^{\infty} u^{(x+1)-1} e^{-u} du \\ &= \int_0^{\infty} u^x e^{-u} du \end{aligned} $$

 部分積分を行うために、後の項を変形します。微分と積分は打ち消し合うので、$f(x) = \{\int f(x) dx\}'$です。また、係数を含む指数関数の積分$\int e^{ax} dx = \frac{1}{a} e^{ax}$より

$$ \begin{aligned} e^{-u} &=\Bigl\{ \int e^{-u} du \Bigr\}' \\ &= \Bigl\{ - e^{-u} \Bigr\}' \end{aligned} $$

で置き換えます。係数を含む指数関数の微分(合成関数の微分)$\{e^{ax}\}' = e^{ax} \{a x\}' = a e^{ax}$より、この式が成り立つのを確認できます。

$$ \Gamma(x + 1) = \int_0^{\infty} u^{x} \Bigl\{ - e^{-u} \Bigr\}' du $$

 $- e^{-u}$を$f(x)$、$\{- e^{-u}\}'$を$f'(x)$、$u^x$を$g(x)$、$x u^{x-1}$を$g'(x)$として部分積分$\int_a^b f'(x) g(x) dx = [f(x) g(x)]_a^b - \int_a^b f(x) g'(x) dx$を行います。

$$ \Gamma(x + 1) = \Bigl[ u^x (- e^{-u}) \Bigr]_0^{\infty} - \int_0^{\infty} x u^{x-1} (- e^{-u}) du $$

 定積分$[F(x)]_a^b = F(b) - F(a)$について、$u \rightarrow \infty$のとき$e^{-u} \rightarrow e^{-\infty} = 0$、$u = 0$のとき$u^x = 0^x = 0$となります。また、$u$と無関係な$-x$を$\int$の外に出します。

$$ \Gamma(x + 1) = 0 - 0 + x \int_0^{\infty} u^{x-1} e^{-u} du $$

 ガンマ関数の定義式より、$\int$の因子を置き換えます。

$$ \Gamma(x + 1) = x \Gamma(x) \tag{1} $$

 性質の式(1)が得られました。

 性質1から次の関係も成り立ちます。

$$ \Gamma(x) = (x - 1) \Gamma(x - 1) \tag{1'} $$

 さらに、$x - n > 0$の範囲で$n$回繰り返して

$$ \Gamma(x) = (x - 1) (x - 2) \cdots (x - n) \Gamma(x - n) $$

両辺を$\Gamma(x - n)$で割ると

$$ \frac{\Gamma(x)}{\Gamma(x - n)} = (x - 1) (x - 2) \cdots (x - n) $$

となります。

性質2

 $x$が1の場合を考えます。

 ガンマ関数の定義式に$x = 1$を代入します。

$$ \begin{aligned} \Gamma(1) &= \int_0^{\infty} u^{1-1} e^{-u} du \\ &= \int_0^{\infty} u^0 e^{-u} du \end{aligned} $$

 性質1のときと同様に、部分積分を行えるように後の項を変形します。また、べき乗の定義より$x^0 = 1$です。

$$ \Gamma(1) = \int_0^{\infty} 1 \Bigl\{ - e^{-u} \Bigr\}' du $$

 $- e^{-u}$を$f(x)$、$\{- e^{-u}\}'$を$f'(x)$、1を$g(x)$、0を$g'(x)$として部分積分$\int_a^b f'(x) g(x) dx = [f(x) g(x)]_a^b - \int_a^b f(x) g'(x) dx$を行います。

$$ \Gamma(1) = \Bigl[ - e^{-u} \Bigr]_0^{\infty} - \int_0^{\infty} 0 (- e^{-u}) du $$

 定積分$[F(x)]_a^b = F(b) - F(a)$について、$u \rightarrow \infty$のとき$e^{-u} \rightarrow e^{-\infty} = 0$、$u = 0$のとき$e^{-u} = e^0 = 1$となります。

$$ \begin{align} \Gamma(1) &= 0 - (-1) - 0 \\ &= 1 \tag{2} \end{align} $$

 性質の式(2)が得られました。

性質3

 $x$が自然数$n$の場合を考えます。

 性質の式(1)に$x = n$を代入します。

$$ \Gamma(n + 1) = n \Gamma(n) $$

 同様に、性質1より$\Gamma(n) = (n - 1) \Gamma(n - 1)$になります。

$$ \Gamma(n + 1) = n (n - 1) \Gamma(n - 1) $$

 さらに、$\Gamma(n - 1) = (n - 2) \Gamma(n - 2)$になるので、$\Gamma(2) = 1 \Gamma(1)$まで繰り返します。

$$ \Gamma(n + 1) = n (n - 1) (n - 2) \cdots 2 * 1 \Gamma(1) $$

 性質2より$\Gamma(n) = 1$なので、右辺は$n$以下の自然数の積です。

$$ \Gamma(n + 1) = n! \tag{3} $$

 性質の式(3)が得られました。

 性質3から次の関係も成り立ちます。

$$ \Gamma(n) = (n - 1)! \tag{3'} $$

 ただし、$x > 0$なので$\Gamma(1) \neq 0 \Gamma(0)$であり、性質2より$\Gamma(1) = 1$です。

 以上で、ガンマ関数の3つの性質を導出できました。

【関連する記事】

 ガンマ関数を可視化します。

www.anarchive-beta.com

www.anarchive-beta.com


参考文献

  • 岩田具治『トピックモデル』(機械学習プロフェッショナルシリーズ)講談社,2015年.

おわりに

 加筆修正の際に「ベータ分布の統計量の導出」から記事を分割しました。

 他にも性質があるみたいなのでやってみたいですけど、今日のところは他の記事で登場するものだけにします。

【次の内容】

www.anarchive-beta.com

 ベータ関数の性質を求めるのでこれを次とします。