投資のためのデータサイエンス

個人の投資活動に役立つデータ分析にまつわる話題を綴ります。

Pythonで学ぶ統計学(4): 連続型確率分布(その2)

まず、以下の確率密度関数を持つ分布を「ガンマ分布」といいます。

 \displaystyle f(x;\alpha ,\beta )=\frac{\beta ^{\alpha }}{\Gamma (\alpha )}x^{\alpha -1}\exp (-\beta x)\ \ \ (x\gt 0)

ここで \alpha ,\beta は正の値をとるパラメータで、 \Gamma (\alpha ) は以下で表される「ガンマ関数」です。

 \displaystyle \Gamma (\alpha )=\int_{0}^{\infty }t^{\alpha -1}\exp (-t)dt

ガンマ分布で特に \alpha =1 の時は指数分布に一致し、 \alpha =p/2, \beta =1/2 の時は自由度 p \のカイ自乗分布に一致します。

次に、開区間(0,1)で定義される以下の分布を「ベータ分布」といいます。

 \displaystyle f(x;\alpha ,\beta )=\frac{1}{B (\alpha ,\beta )}x^{\alpha -1}(1-x)^{\beta -1}

ここで \alpha ,\beta は正の値をとるパラメータで、 B(\alpha ,\beta ) は以下で表される「ベータ関数」です。

 \displaystyle B(\alpha ,\beta )=\int_{0}^{1}x^{\alpha -1}(1-x)^{\beta -1} dx

また、確率変数の対数をとったものが正規分布にしたがう時、元の確率変数は「対数正規分布」にしたがうといいます。これは正の値をとる経済指標などに適用されます。

 \displaystyle f(x;\mu ,\sigma ^{2})=\frac{1}{\sqrt{2\pi \sigma ^{2}}}\frac{1}{x}\exp \left \{ -\frac{1}{2\sigma ^{2}}(\log x-\mu )^{2} \right \} \ \ \ (x\gt 0)

さらに、全実数区間を(0,1)区間写像させることが必要な場合、全実数区間をとる確率分布の累積分布関数が使えます。正規分布を用いたものを「プロビット変換」といいます。それよりも解析的に扱いやすいのが以下の累積確率分布関数を持つ「ロジスティック分布」で、対応する変換はロジット変換といいます。

 \displaystyle F(x)=\frac{1}{1+\exp (-x)}

ロジスティック分布の確率密度関数は上式を x微分すればよく、以下となります。

 \displaystyle f(x)=\frac{\exp (-x)}{ \left \{ 1+\exp (-x) \right \} ^{2}}

以下のPythonコードでは、scipy.statsのgamma.pdf()関数を用いてガンマ分布の確率密度関数を描画しています。パラメータ \alpha ,1/\beta を引数a=, scale=で指定しています。

import numpy as np
from scipy.stats import gamma
import matplotlib.pyplot as plt
bins = np.arange(0, 5, 0.1)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(bins, gamma.pdf(bins,a=1,scale=1),label='alpha=1,beta=1',color='r')
ax.plot(bins, gamma.pdf(bins,a=2,scale=1),label='alpha=2,beta=1',color='b')
ax.plot(bins, gamma.pdf(bins,a=2,scale=0.5),label='alpha=2,beta=2',color='g')
ax.set_title('Gamma Distribution')
plt.legend()
plt.show()

 

gamma_density.png