先日@ibaibabaibaiさんからこんなツイートがありましたので自分用のメモとして残しておきます。
これは久保本も大い問題ありだけど、「モデル」「あてはめの原理」「あてはめを実装する計算法」を混同するのはいい加減にやめたほうが。GLMはモデル、ベイズや最尤法はあてはめの原理、MCMCは計算法。
— baibai (@ibaibabaibai) 2014, 5月 30
あてはめの原理の中でもベイズと最尤法ではレベルが違うけど、その辺はおくとして、せめていまの3つは区別しよう。そうでないと「計算が正確になったらモデルの欠点が出てきて予測力が落ちた」なんていうのは理解不能になってしまう。
— baibai (@ibaibabaibai) 2014, 5月 30
勝手に整理して表にしました。
あてはめの原理 | 最尤法 | ベイズ |
---|---|---|
計算法 | EMアルゴリズム 最急降下法 共役勾配法 など | MCMC 変分ベイズ(VB; Variational Bayes) Expectation Propagation など |
最尤推定に関しては渡辺澄夫先生の以下の記事が大変勉強になります。 [参考] 最尤推定はいつなら大丈夫?
なおStanの計算法はHMC(Hamiltonian Monte Carlo)でmanualの中ではMCMCの一種と記述があります(50.5. Stan’s Hamiltonian Monte Carlo Samplers)。一般的にMCMCを使った方が推定値は正確ですが、向いていない(収束しづらい)ケースもいくつかあります。例えば以下のような場合です。
- 2次元上に分布するデータに10個ぐらいの混合ガウス分布をあてはめる場合。multimodality(多峰性)が問題になります(この記事を参照)。簡単にいうと、何通りか正解に近い配置があって、その各配置の間の距離なり障壁が(サンプリングがスムーズにいかない程度に)あるイメージです。
- HMM(隠れマルコフモデル)やLDAのように添え字が入れ替わってもOKな場合。non-identifiability(識別性がないこと)が問題になります。MCMCのchain間の比較ができませんので収束判定が難しくなります。
経験的には両方の問題を同時に含んでいる場合が多いです。そのような場合で収束にとても時間がかかるような時はMCMCよりもVBの方がよい選択肢になるでしょう。VBはわずかに正確さが落ちますが、計算がとても高速です。VBの1つの実装であるVB-EMアルゴリズムは初期値に依存するので初期値をいくつか振ることになります。Stanでも2.9.0から実装されました。
モデルは全然別物で、「ある現象のしくみを近似したもの」です。名前がついているもので言えばGLM, GLMM, HMM, LDAなどです。これらのモデルに含まれるパラメータを推定する際に、上記のような「あてはめの原理」と「計算法」の選択肢があることになります。まあしかし最尤推定で求めた値を信じて実際に痛い目を見ない限り、最尤推定しつづけますよねぇ…。逆にベイズ推定ばっかりで痛い目を見ることは、MCMCの計算が収束しないとかそういうことを除けばあんまりないと思います。
追記
コメント(?)いただきました。
「添え字が入れ替わってもOKな場合」にMCMCが使いにくい(ラベルスイッチが起きる)のはよく考えるとわかるけどアルゴリズムとしてのMCMCの責任ではないのよね。アルゴリズムが指令通りやればやるほど苦情の出る良い例。
— baibai (@ibaibabaibai) 2014, 6月 5
なお、収束判定はたとえば「モデルの予測」とかラベルの入れ替えについての不変量を使えば一応はできます。予測が収束しても満足できない、という場合もあるけど、そのときはベイズモデルに何を期待しているのかまずよく考えてみないと(考えてもなかなか難しいんだが)
— baibai (@ibaibabaibai) 2014, 6月 5
同じ混合分布でも、回帰係数とかに興味があるときは観測されない変数は局外母数扱いだけど、隠れマルコフの状態変数や混合分布のラベルはそれ自体が興味の対象。後者にもスイッチングがある場合とラベルの外部的意味のあつ場合がある。そのあたりをもっと意識しよう。
— baibai (@ibaibabaibai) 2014, 6月 5
「モデル=ある現象のしくみを近似したもの」 http://t.co/NQIsHyQXwL …
というのは、物理のセンスに近い考え方。「モデル=似顔絵」説かな。赤池ふうのモデル観はむしろ「モデル=メガネ」説。統計モデルというのはこの両極端の間のどこかに位置づけられるのだろう。
— baibai (@ibaibabaibai) 2014, 6月 5