0

この記事は最終更新日から1年以上が経過しています。

投稿日

更新日

最尤推定とベイズ推定

最尤推定

最尤推定とはある確率分布から与えられたデータをもとにもとの確率分布を点推定するものである。

点推定

点推定とは与えられたデータから求めたものをそのまま推定値とするものである。他の推定手法としては区間推定などがある。例えば点推定では与えられたデータの標準偏差σ¯をそのまま母種団の標準偏差と推定する。一般的に点推定によって求められた推定値は記号の上に^をつける(例ではσ^)。

数式の定義

ある確率分布fDがあり、この確率分布のパラメータはθとする。この分布から得られたn個のデータをX1,X2,...,Xnと書く。パラメータθの時に確率分布fDからn個のデータを得られる確率を表す式を

P(X1,X2,...,Xn|θ)=fD(X1,X2,...,Xn|θ)

と定義する。これはパラメータθであったとき与えられたデータがX1,X2,...,Xnのときの条件付き確率を意味する。

パラメータの決定

最尤推定は与えられたデータが得られる確率が最も高くなるようなパラメータを求める推定法である。つまり、n個のデータX1,X2,...,Xnを得たときに

P(X1,X2,...,Xn|θ)

が最大となるθを求めれば良い。この考えの元、最尤推定では尤度関数として
L(θ)=P(X1,X2,...,Xn|θ)

と定義し、多くの場合対数を取ってこれが最大となるθを求める。尤度関数は積で構成されていることが多く計算しづらいが、対数を取ることで和の形に変換でき計算しやすい。また、logは単調な増加関数であるのでこれによって最大値は変わらない。最大値は
θlogL(θ)=0

となるようなθを求めれば良い。

注意すること

P(X1,X2,...,Xn|θ)はパラメータがθであるとき、データX1,X2,...,Xnを得られる確率であり、データX1,X2,...,Xnを得られたときにパラメータθである確率P(θ|X1,X2,...,Xn)ではないことに注意する。もし後者であれば、パラメータがθである確率を与えられたデータから最大化するとなってしまい、与えられた現象が起こりやすいパラメータがθであるという考え方と異なる。また、このとき最大となるθを求めるのがベイズ推定である。

ベイズ推定

ベイズ推定はベイズの定理を用いて与えられたデータ(事実)から分布(原因)を確率的に推定する手法である。

数式

データX1,X2,...,Xnが与えられる確率をP(X)とする。また、パラメータがθである確率をP(θ)とする。

パラメータの決定

パラメータがθであるときにデータX1,X2,...,Xnが与えられる条件付き確率をP(θX1,X2,...,Xn)を求める。これはベイズの定理により

P(θ|X1,X2,...,Xn)=P(X1,X2,...,Xn|θ)P(θ)P(X1,X2,...,Xn)

と変形できる。ベイズ推定を行うときは確率P(θ)や、P(X1,X2,...,Xn)は事前分布として、あらかじめおおよその値が与えられている。つまり、事前分布とパラメータがθであるときP(X1,X2,...,Xn|θ)が与えられる条件付き確率を組み合わせて求めることができる(事前の情報と得られた情報を加味して求める。最尤推定は得られた情報のみで求める。)。そして、それらによって求められたP(θ|X1,X2,...,Xn)は与えられたデータがX1,X2,...,Xnだったときにパラメータがθである確率であるので、これが最大となるθX1,X2,...,Xnが得られたことによって更新されたθと考えられる(最大を求めるのは最尤推定と同様)。

注意すること

  • 事前分布が正しくなければ、正しいパラメータを得ることができないことに注意する。
  • 事前分布P(X1,X2,...,Xn)
    P(X1,X2,...,Xn)=θP(X1,X2,...,Xn|θ)P(θ)=(const)

    より、P(θ|X1,X2,...,Xn) P(X1,X2,...,Xn|θ)P(θ)とされることが多い。

例題

コインをn回投げてm回表になった。このとき使用したコインの表が出る確率を求める。

最尤推定

コインの表が出る確率をpとしてこれをパラメータとしたとき、コインをn回投げてm回表になる確率は尤度関数となる。これは

L(p)=nCmpm(1p)nm

である。両対数を取ると
log(L(p))=log(nCm)+mlog(p)+(nm)log(1p)

となる。さらにpで微分すると、
plog(L(p))=mpnm1p

となり、これが0となるときのpmnとなる。よって最尤推定によって求められたコインの表が出る確率はmnとなる。これは単純に投げた回数を表の出た回数で割ったものと同じである。

ベイズ推定

事前分布としてコインを100回投げたとき、50回表がでると仮定する(多くのコインは12で表になるだろうから)。この時の分布は以下の様になる。

Ppre(p)=(const)p50(1p)50

ここにn回投げてm回表になる確率を加えると、
P(p)=(const)p50+m(1p)50+nm

となる。これを最尤推定と同様に対数を取って微分すると以下の様になる。
plog(P(p))=50+mp50+nm1p

これが0となるp50+m50+nである。よってベイズ推定によって求められたコインが表になる確率は50+m50+nmである。

違い

最尤推定は得られたデータのみで推定するので信頼性が高いが、データ数が少ないとランダム性に依存してしまう。それに対してベイズ推定は事前分布を生かして推測するので、少ないデータ数でもある程度適切な値を得ることができるが、事前情報の信頼が低いときは良い値が出ない。
上の例で3回中2回表が出たとすれば、最尤推定では約66%、ベイズ推定では約50.4%となる。振ったコインが表となる確率が50%とする。この場合でも3回中2回表になることは当然起こり得るが、最尤推定で66%と推定されてしまう。これは少ない回数ではうまく推定できないことを表している。逆にベイズ推定では50%であるという事前分布を利用しているので極めて近い値となる。振ったコインが表となる確率が75%であったと考える。この場合でも3回中2回表になることは当然起こり得るが、ベイズ推定では事前分布で50%であると仮定してしまっているので50.4%と離れた値を得てしまう。逆に最尤推定は得られたデータのみで推定しているので、このような違いに振り回されることはない。このようにベイズ推定を行うときは事前分布が正しいかどうかこの点を強く注意する必要がある。このよう二つの手法には一長一短がある。

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
新規登録
すでにアカウントを持っている方はログイン
0