最尤法によるパラメータ推定の意味と具体例

最尤法(さいゆうほう)というパラメータ推定の手法について解説します。

最尤推定とは

最尤推定

目標:観測データをもとにパラメータ θ\theta の値を点推定したい。

考え方:パラメータ θ\theta の値が分からないので,とりあえず θ0\theta_0 だと仮定してみる。その仮定のもとで,実際に観測した事象が起きる確率(→注)L(θ0)L(\theta_0) を考えてみる。 L(θ0)L(\theta_0) が大きいような θ0\theta_0 がもっともらしい推定値である。

実際の手順:尤度関数 L(θ)L(\theta) を計算して,それを最大にする θ\theta を推定値とする。

注:連続型確率分布の場合は,確率ではなく確率密度に対応する量になります(例題2参照)。

離散型確率分布の例:コイン

例題1

表が出る確率が θ\theta であるようなコインがある。このコインを 100100 回投げたら 7070 回表が出た。最尤法により θ\theta を推定せよ。

解答

〜ステップ1:尤度関数を計算する(重要)〜

表が出る確率が θ\theta であるコインを 100100 回投げて 7070 回表が出る確率は,反復試行の確率の公式より

L(θ)=100C70θ70(1θ)30L(\theta)={}_{100}\mathrm{C}_{70}\theta^{70}(1-\theta)^{30}

これが尤度関数である。これを最大にする θ\theta がもっともらしい θ\theta である。

〜ステップ2:L(θ)L(\theta) を最大にする θ\theta を求める(作業)〜

L(θ)L(\theta) を最大にする θ\thetalogL(θ)\log L(\theta) を最大にする θ\theta は同じであるので,計算を楽にするため対数を取る(対数尤度関数):

logL(θ)=70logθ+30log(1θ)+log100C70\log L(\theta)=70\log \theta+30\log (1-\theta)+\log {}_{100}\mathrm{C}_{70}

これを θ\theta で微分すると,

ddθlogL(θ)=70θ301θ\dfrac{d}{d\theta}\log L(\theta)=\dfrac{70}{\theta}-\dfrac{30}{1-\theta}

となる。

よって,70θ301θ=0\dfrac{70}{\theta}-\dfrac{30}{1-\theta}=0 のとき,つまり θ=0.7\theta=0.7 がもっともらしい推定値。

補足:例えば θ=0.01\theta=0.01 でも 100100 回中 7070 回表が出る可能性はありますが,そのような確率は L(0.01)=100C700.01700.9930L(0.01)={}_{100}\mathrm{C}_{70}0.01^{70}0.99^{30} であり L(0.7)L(0.7) よりはるかに小さいので,θ=0.01\theta=0.01 と予想するより θ=0.7\theta=0.7 と予想するのがもっともらしいだろう,と考えます。

連続型確率分布の例:正規分布

次は連続型確率分布,かつパラメータが二つの場合を考えます。

例題2

平均が μ\mu,分散が σ2\sigma^2 である正規分布に独立に従う乱数を生成したところ,出力は x1,x2,,xnx_1,x_2,\cdots,x_n であった。このとき μ\muσ2\sigma^2 を最尤法で推定せよ。

解答

〜ステップ1:尤度関数を計算する〜

平均が μ\mu,分散が σ2\sigma^2 の正規分布に独立に従う乱数の値が x1,,xnx_1,\cdots,x_n である確率は,

L(μ,σ2)=k=1n{12πσ2exp((xkμ)22σ2)}L(\mu,\sigma^2)=\displaystyle\prod_{k=1}^n\left\{\dfrac{1}{\sqrt{2\pi \sigma^2}}\exp\left(-\dfrac{(x_k-\mu)^2}{2\sigma^2}\right)\right\}

〜ステップ2:尤度関数を最大にする μ,σ2\mu,\sigma^2 を求める〜

二変数関数の最大化問題。対数尤度関数は,

logL(μ,σ2)=n2log(2πσ2)12σ2k=1n(xkμ)2\log L(\mu,\sigma^2)=-\dfrac{n}{2}\log (2\pi\sigma^2)-\dfrac{1}{2\sigma^2}\displaystyle\sum_{k=1}^n(x_k-\mu)^2

まず σ2\sigma^2 を固定して μ\mu で偏微分すると,μlogL(μ,σ2)=1σ2k=1n(xkμ)\dfrac{\partial}{\partial \mu}\log L(\mu,\sigma^2)=\dfrac{1}{\sigma^2}\displaystyle\sum_{k=1}^n(x_k-\mu) 。よって, μ=x1+x2++xnn\mu=\dfrac{x_1+x_2+\cdots +x_n}{n} のとき尤度関数が最大。

次に σ2\sigma^2 について偏微分して σ2logL=0\dfrac{\partial}{\partial \sigma^2}\log L=0 を解くと, σ2=1nk=1n(xkμ)2\sigma^2=\dfrac{1}{n}\displaystyle\sum_{k=1}^n(x_k-\mu)^2 となる。

補足:上の例では μ\mu の最尤推定量は標本平均,σ2\sigma^2 の最尤推定量は標本分散であることが分かりました。これは非常に自然な結果に思えますが,不偏性という観点から見ると σ2\sigma^2 の推定値は標本分散にすべきではありません。→不偏標本分散の意味とn-1で割ることの証明

尤という漢字,最尤推定以外の文脈では見たことがない気がします。