株式会社ジャパン・マーケティング・エージェンシー
企画部 大阪事務所 マネージャー 上田 牧人
企画部 大阪事務所 マネージャー 上田 牧人
ベイズの難所
ベイズの定理は『事後確率∝尤度(ゆうど)×事前確率』というシンプルな形で示されました。
ベイズの応用範囲がとても広く、多岐にわたって既に利用されていることも分かりました。ベイズの難しさは、その間を結ぶ手続きが煩雑な点にあります。
世の中にベイズ統計の入門書が数多く出ていますが、初学者が書籍だけでベイズを理解するのは多難です。今回は、ベイズ推測に必要な手続きをおおまかに交通整理してみたいと思います。
尤度関数の決定
尤度は、観測値が得られたときに、母数θ(シータ)のもとでその観測値が出現する確率です。θが固定されていれば1個の値になりますが、母数θは未知なので、θを変量とした関数として扱います。
例えば、試験問題で10人のうち4人正解だった場合、尤度は

二項分布が良いのか、正規分布にすべきか、ポアソン分布を使うか等の判断は、観測値が発生する仕組みを判断してあなたが決めなければなりません。複数の要因に左右される場合は、回帰モデルやプロビットモデル、ロジットモデルなど高度な関数の適用も必要になるかもしれません。こうした【統計モデル】の選択が委ねられる作業のひとつになります。
事前分布の決定
事前に何も情報がないときは、ある範囲内でθのどの確率も等しいとする「局所一様事前分布」が推奨されてきました。しかしそれでは熟練者の『暗黙知』に到底かなわないので、最近では過去の観測データを生かすことが多くなりました。『暗黙知』を『形式知』に置き換えようというわけです。
経験ベイズ法(EB)と呼ばれ、過去の観測データを構造化してそのまま使う場合と、ハイパーパラメーターを設定して階層ベイズ法に持ち込む場合とがあります。
(※階層ベイズ法については別途トピックとして触れる予定です)
事前確率にも分布の形を設定することが必要です。その際、尤度関数と相性の良いモデルを選ぶことができれば幸運です。下手な決め方をすると、事後分布が複雑な形になって、ちょっと苦労することになります。
下記のような組み合わせを【自然共役事前分布】と言い、事後分布と事前分布が同じタイプになる、相性の良いというのはそういう意味です。

事後分布の評価
ベイズ推測で得られる結果は、事後分布の全体です。そこから必要に応じて期待値(=平均)やモード(最頻値)などの代表値で記述されたり、具体的な予測値の優劣が比較されたりします。
【自然共役事前分布】であれば解析的に答えを出すことができます。1990年代までの入門書では、そのあたりの解析手順の説明が主でした。その構造は今でも有効ですが、一方で昨今では【自然共役事前分布】の縛りを超えた、より自由なモデリングがなされるようになってきています。
自由なモデリングを行った場合困るのは、事後分布の構造が複雑になることです。事後分布を評価するためには積分とよばれる処理が必要になりますが、計算がわずらわしかったり、解けないケースが出てきたりもします。
そこでこうした問題を解決するために登場したのが【MCMC法】(マルコフチェーン・モンテカルロ法)です。
モンテカルロ法は、与えられた関数を再現するようにサンプリング密度を調整しながら多数のサンプルを抽出する技法です。これを使えば事後分布の期待値(=平均)をサンプルの単純平均で近似することができます。
マルコフチェーンは、ランダムウォーク(酔っ払いの千鳥足)を一般化した確率過程です。現在の地点を基準にして次の一歩がランダムに決まる歩き方になります。
【MCMC法】は両者を取り入れ、複雑な事後分布に対しても分析可能にします。MCMC法は、自然共役事前分布が仮定できるモデルの場合はギブス法と呼ばれる比較的効率的なアルゴリズムを、それが仮定できない一般的な場合はメトロポリス−へースティング法とよばれる万能な手法を用います。
実務に向けて
MCMC法によってベイズは分析の垣根が取り払われ、さまざまな問題に柔軟に対応できるようになりました。
しかし、いかにベイズ解析のためのソフトウェアが整いつつあるとは言え、分析作業そのものは大変です。
パラメータ数がそれほど多くなければ、過去になされた研究の成果を用いることによって、比較的簡単にモデルの推定が行えます。(※ただ、今日的にはそれだけではより深い知見を得ることに限界があるのも事実ですが...)
次回は、その簡単な方に沿って、EXCELの手計算レベルでベイズを使っていくことはできないか、ということを考えてみたいと思います。
MCMC法についての補足
身内から「MCMC法についてもっと説明を」という声がありましたので、少しだけ。
事後確率分布が下のA図のように与えられたとします。モード(最頻値)は山のてっぺんということで分かりますが、平均値や任意のXの確率を出すには、積分で面積計算しなければなりません。これ、けっこう大変なんですね。
B図のように、短冊に分けると単純に足し算で近似することができます。(区分求積法)
ランダムにXのサンプルをたくさん抽出しても、足し算に置き換えることができます。(モンテカルロ法)
それでもパラメーターの数(次元の数)が多くなってくると、計算量が膨大なものになってきます。
MCMC法は、モンテカルロ法を効率的に行うための手法です。任意のスタート地点を決め、ルールにのっとって歩き回りサンプルを集めてこようというわけです。
C図、緑色の線のように、方向を定めて(1変量ずつ着目して)ジグザグに歩こうというのがギブス法です。
赤色で示しましたが、上るときは必ず進み、下るときは落差に応じて確率的に立ち止まることにすれば、高い所ほど密なサンプリングができるだろう、というのがメトロポリス−へースティング法です。

しかし、こうしたアルゴリズムに関する知識は、実務にはあまり関係してこないと思います。
現時点ではRかWinBUGSくらいしかツールがありませんが、いずれ整うだろう汎用的なソフトウェアに、このあたりは任せておけばいいことでしょう。