尤度
特に、$L(\theta|X)$が本質を表している。
\mathcal{L}(\theta|X) = \prod_i^nf(x_i)
- $\theta$:パラメータ
- $X$:観測値
- $f(x_i)$:事象$x_i$の生起確率(確率関数に観測値$x_i$を代入したもの)
得られた事象が起こる確率を関数化しただけのもの。
得られた事象=観測データ、これがたくさんあるので、確率の積(独立事象の同時確率は掛け算で計算する)は取った。
「関数」となるのは、各事象を得る確率のパラメータ$\theta$の式、という意味。
尤度:「尤もらしさ」
尤度関数:尤度をパラメータ式で表現したもの。
ただ、尤度関数のことを尤度と呼ぶことも一般的であり、呼称の区別は厳密にされていない(と思う)。
厳密には少々異なるニュアンスなのでメモしておく。
- 尤度関数:尤度について、パラメータを用いて記述した関数
- 尤度:尤度関数に適当なパラメータを設定したときに得られる値
尤度関数を構築する場合、一般に以下の状況を考えることが多い。
- 想定される確率分布がある
- i.i.dな試行(互いに独立であり、同じ分布から得た値である)
- 実際に観測された値を使用
尤度関数の簡素な具体例
偏ったサイコロがある。
それぞれ目の出る確率は以下の通りだったとする。
目 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
確率 | 1/12 | 1/6 | 5/12 | 1/12 | 1/4 | 1/24 |
サイコロを5回振った時、以下の目を得た。
出た目 | 3 | 3 | 5 | 2 | 1 |
---|---|---|---|---|---|
確率 | 5/12 | 5/12 | 1/4 | 1/6 | 1/12 |
このとき、(順番を考慮しないで)今回の観測結果が得られる確率は?
高校の確率の問題で最初に習う通り、各発生確率の積で良い。
得られる確率 = 5/12 \times 5/12 \times 1/4 \times 1/6 \times 1/12
これが尤度。
実は尤度関数では各目が得られる確率は未知のパラメータ$\theta$であり、この$\theta$の関数になる。
各目を$x_i$、各目が出る確率を$P(x_i;\theta)$という$\theta$の関数の確率分布を考えて書き直すと、
\mathcal{L}(\theta|X) = \prod_i^nP(x_i;\theta)
となる。
結局、観測結果を得たとき、その結果が得られる確率を書いただけのもの。
難しく思えるのは、確率分布を$\theta$の関数として考えて、θの関数として書いたというのが見た目的に難しいだけ。
具体的に考えてみる:コイン投げ
コインを投げ、表か裏かを観測する。
但し、コインは歪があり、表裏の生起確率は1/2ずつではないとする。
互いに排反な2者択一事象なので、ベルヌーイ分布になる。
このとき、表の出る確率はp、裏の出る確率は1-pとなる。
表の生起確率pを求めたい。
(前述の「パラメータ$\theta$」が「p」に対応)
想定される確率分布
改めて書く。
コインの表・裏問題 = ベルヌーイ分布。
ベルヌーイ分布の確率質量関数は、
f(x ; p) = p^x(1-p)^{(1-x)}
- p:1の生起確率
- x:0 or 1、観測値
今回は10回実施したという事で厳密には二項分布になる。
二項分布の確率質量関数は、
f(n ; k ; p) = {_n\mathrm{C}_k \space p^k(1-p)^{(n-k)}}
- n:試行回数
- k:1の生起回数
- p:1の生起確率
コイン投げの尤度を論ずるとき、一般にn回の試行をしていてもなぜかベルヌーイ分布で説明されている記述が多いように思う。
この試行は、愚直に考えると二項分布で説明されるべきかと思う。
今回はベルヌーイ分布と二項分布を共に書き、比較してみる。
実際の観測値を代入
10回の試行で、
表 | 裏 | |
---|---|---|
回数 | 3 | 7 |
を得たとする。
これが起こる確率を、想定される分布から書き下す。
これは、i.i.dな試行の同時確率である。
本結果が得られる確率を考える。
互いに独立な試行なので、確率を求める際には各事象の生起確率の積を取る。
今回の結果は表が3回、裏が7回出ているので、各確率を掛け算する。
- ベルヌーイ分布を10回として記載(=二項係数を無視した書き方)
\begin{align}
f(k ; p) &= p^{k}(1-p)^{(1-k)} \\
&\text{10回の独立試行の結果なので積を取る}\\
\mathcal{L}(\theta|k) &= \prod_{i=1}^{10} p^{k_i}(1-p)^{(1-k_i)} \\
& \rightarrow p^3(1-p)^7
\end{align}
- 二項分布として記載(=ベルヌーイ分布に、各$x_i$を得た順序の組み合わせを考慮した形)
\begin{align}
f(n ; k ; p) &= {_n\mathrm{C}_k \space p^k(1-p)^{(n-k)}} \\
& \rightarrow {_{10}\mathrm{C}_3 \space p^3(1-p)^{7}} \\
& = 120 \times p^3(1-p)^{7}
\end{align}
ベルヌーイ分布と二項分布とでは、生起確率は係数120(つまり定数)があるか無いかの違いらしい。
この後、この関数の値を最大化することを考えるのだが、この時係数(120、=二項係数)は無視できる。
よって、数学的処理をするに於いては「ベルヌーイ分布を考える」ということで良いらしい。
結局、以下の操作をした。
- 観測結果を得た
- その結果が得られる確率を記述した
- 確率には、想定される確率質量関数を用いた
- 確率質量関数は一般に$f(x;\theta)$と表される($\theta$:パラメータ、$x$:確率変数)
- 今回は各xを得ているので、xに観測値を代入した
- 独立な試行を複数回観測したので、各確率の積により確率を求めた
- 結果的に、確率質量関数のパラメータ$\theta$の関数を得た
「観測値X={$x_1,\dots ,x_i, \dots,x_n$}を得たときに得られる$\theta$に関する式」なので、
\mathcal{L}(\theta|X) = \prod_i^n f(x_i)
と書かれる。
至極自然に導出され、原理に則った記述法だと感じる。
教科書によっては$\mathcal{L}(\theta)$と書かれる
データ分析業界では$P(X|\theta)$と書かれることの方が多い(らしい)。
個人的には、関数を得るプロセスを考えると$\mathcal{L}(\theta|X)$とすると意味を理解できて非常に腑に落ちる。
なので、$\mathcal{L}(\theta|X)$と記述する。
尤度を最大化する
\mathcal{L}(\theta|X) = \prod_i^n f(x_i)
- 尤度関数:得られた観測結果から、パラメータに関する関数を得た
次に、「今回観測された結果は起こる確率が高いだろう」という立場を取る。
(レアなケースはなかなか観測されない。今回観測された結果は「100年に一度の現象を捉えた」という訳はない。十分尤もらしい事象が観測されてしかるべきだよね。では「観測結果はありふれた事象である」、というのを量的に表すと、「最も確率が高い」結果にしたい)
今回得た結果の生起確率が最も高くなるように、確率質量関数のパラメータ$\theta$の値を適切に定める。
つまり、「得られた結果が最も尤もらしくなるように」する。
これがは「最尤推定」の考え方。
今回はパラメータ$\theta$に相当するのは「p」。
- ベルヌーイ分布で尤度を記述
\mathcal{L}(\theta|X) = p^3(1-p)^7
- 二項分布で尤度を記述
\mathcal{L}(\theta|X) = 120 \times p^3(1-p)^{7}
「最大化」問題に於いて、二項係数「120」は不要なので削除してしまう。
するとどちらも同じ式で扱われるので、今後はベルヌーイ分布/二項分布の区別は不要。
(どうせ不要なら最初からベルヌーイ分布として書いた方が楽なので、今後同じことをするときにはベルヌーイ分布から出発する)
尤度を最大化したい。
$p^3(1-p)^{7}$の最大を与えるpを求めるのだが、べき乗が多すぎて計算しにくい。
ここで、「対数尤度」を扱うことにする。
- 対数尤度:$\ell(\theta|X)$
\begin{align}
\ell(\theta|X) =log(\mathcal{L}(\theta|X)) &= log(p^3(1-p)^{7}) \\
&= log(p^3) + log((1-p)^7) \\
&= 3 \times log(p) + 7 \times log(1-p)
\end{align}
単純に尤度関数のlogを取っただけ。
すると、$\prod$は$\sum$になり、べき乗は掛け算(係数)となるため、扱いが簡単。
グラフを描いてみる。
「凸関数」になっている。
よって、p微分して0になる点が最大。
尤度関数の多くは凸関数となるので、この操作は非常に一般的である。
(混合分布の尤度関数は山を複数持つので、注意)
ここで、「最小化問題」に変更する。
単純に、対数尤度関数の頭に-を付けると、「最小化する」問題に変わる。
-\ell(\theta|X) = -log(\mathcal{L}(\theta|X)) = - (3 \times log(p) + 7 \times log(1-p))
これで処理するのが一般的。
なぜマイナスを付けて最小化問題にする?
この操作自体に大きな意味はないが、周辺数学手法や意味と関連付けると便利なため。
- 最適化手法:多くの最適化手法は最小化問題に適応している
- 以下、情報論との類似性
- 情報量:$I(p)=-log(p)$
- エントロピー:$H(I(p)) = E[I(p)] = -\sum_ip_ilog(p_i)$
- クロスエントロピー:$ H(p, q) = - \sum_{i} p(x_i) \log q(x_i) $
- 負の対数尤度関数:$-log(\mathcal{L}(P(X))) = -\sum_i\left(x_i log(p(x_i))\right)$
よって、負の対数尤度関数を最小化すると他の手法をそのまま使用できて便利、且つ情報論と統計論との接点で共通の理解(?)ができて嬉しい。
ベルヌーイ分布の確率質量関数の負の対数尤度関数は
$-\ell(p|k) = -\sum_ilog(p_i^{k_i}(1-p)^{1-k_i}) = -\sum_i \left(log(p_i^{k_i}) + log(1-p)^{1-k_i} \right)$
「情報量」の定義にさかのぼると、「レアなケースは情報量が大きい」≒「確率の逆数」的なニュアンスなので、確率論と情報論はこうして関連付けられて然るべきと納得する。
改めて書く。
-\ell(p|Y) = - \sum_{i} [ y_i \log p + (1 - y_i) \log (1 - p) ]
$y_i \in{\{0,1\}}$、今回$y_i=1$が3回、$y_i=0$が7回で、
-\ell(p) = - (3 \log p + 7\log (1 - p))
尤度最大化を目指して出発したが、
対数尤度にマイナスをかけて「最小化問題」になった。
微分して0の値を求める
対数尤度の最小化、という問題まで到達した。
これにより、観測結果が最も起こり得るであろうパラメータpを決定する。
どの点が最小か?を考えると、下に凸な関数なので微分が0になる点を求めれば良いことがわかる。
対数を取った微分なので計算し易い。
\begin{align}
\frac{\partial}{\partial p}\left(-\ell(p)\right) &= -\frac{\partial}{\partial p}\left(3 \log p + 7\log (1 - p)\right) \\
&= -3\times\frac{1}{p} - 7 \times (- \frac{1}{1-p}) \\
&= -\frac{3}{p} + \frac{7}{1-p} \\
&= \frac{-3+10p}{p(1-p)} = 0 \space \space (微分して0、の方程式)
\end{align}
よって、
p = \frac{3}{10}
10回コイン投げて3回表だったので、当然の結果。
今回はベルヌーイ分布で直感的なパラメータであったが、ポアソン分布では確率質量関数が$f(x;\lambda) = \frac{e^{-\lambda}\lambda^x}{x!}$ となっていたりして関数的に難しくなる。
が、式が難しくなるだけで操作の意味は上記の通り単純な話。
尤度まとめ
- 観測された事象の確率を求めたものが尤度関数
- 確率分布のパラメータ$\theta$が未知で、確率変数(結果)が既知の状態の式
- よって、$\theta$の関数になる
- 得られた結果は尤もらしいよね、という立場から、尤度関数を最大化する$\theta$を求めるのが最尤推定
- 最尤推定では、負の対数尤度関数に書き直して最小化問題とし、微分=0を解くことが一般的