階層ベイズ法とWAIC












このページをご覧いただき、ありがとうございます。





階層ベイズ法は、構造を持つ問題の解決に力を発揮する重要な統計的方法です。


ここでは、その評価を WAIC で行う場合について考えてみましょう。





◎ 周辺尤度を用いた評価については、下記の(注意3)をご覧ください。

このページでは WAIC を用いた評価の方法を説明しています。
周辺尤度も重要な評価法ですが、ここでは説明しません。








問題 -----------------------------------------------------------------

ある高校に1年生のクラスが m=10 クラスあり、それぞれのクラスで生徒の数は n=30人 であるとします。この高校で英語のテストを行い m*n=300 人の点数が得られました。 次のような統計モデルを考えました。


(1) 第 k クラスの平均点 wk は、平均 μ 分散 1 の正規分布に独立に従う。

(2) 第 k クラスの各生徒の点数は、平均 wk 分散 10 の正規分布に独立に従う。

統計モデルは真の分布と同じとは限らないので、このモデルの適切さを測りたいと思いました。

--------------------------------------------------------------------






この問題には二つの異なる予測を考えることができます。


(第1の問題) 第 k クラスに新しいひとりのデータが発生するときの予測です。

(第2の問題) クラス一個を新しく生成して n 人のデータを発生するときの予測です。





AICもDICもクロスバリデーションもWAICも、すべて統計モデルを用いて予測を行う時の能力を 評価するものです。従って「何を予測するのか」に応じて評価尺度は変わります。

上記の二つの予測の問題に WAIC を適用する方法を下記のファイルで説明しました。 ふたつの問題において計算される WAIC は異なったものになります。

なお、念のために申し上げますが、AICもDICもクロスバリデーションも異なる計算をすることになります。





階層ベイズ法とWAIC, PDFファイル





(注意1)上記の問題で m=1 の場合は、普通のベイズ推測でハイパーパラメータを決める 問題になります。

また n=1 の場合は、「データを測るたびに観測できない雑音が加わる問題」に なります。





(注意2)AICあるいはクロスバリデーションが適用される問題では 何らかの意味での「予測」が存在していて、その「予測」に対しての評価が行われているはずです。 予測が存在する問題であれば、その予測に対するWAICを定義することができます。 予測の候補として複数のものが考えられる時には、どの予測の評価を行いたいのかを明確に する必要があります。より一層に複雑な構造を持つ問題のときには 上記の第1、第2の問題とはさらに別の予測の問題が生じることもありうると思います。 「何を予測したいか」という観点から自分自身のモデリングの評価を考えなおしてみることは 大切なことだと思います。


統計モデリングの評価に AIC は広く用いられています。 シンプルな構造の問題では「何を予測しているのか」について考えずに AIC が使われているケースも多いでしょう(対数尤度をパラメータの個数で補正するだけで計算できますので)。 普通のパラメータ推定の問題であれば、それでたぶん大丈夫です。しかしながら AIC であっても 複雑な構造の問題になると「何を予測しているのか」をキチンと意識する必要が生じてきます。 AICの補正に使われる「パラメータの個数」が、「何を予測しているのか」に応じて変わりうるからです。


メンドウな話で、もうしわけありません。




(注意3)統計モデリングの目的が「予測ではない」という場合もあります。そのときは AIC、DIC、クロスバリデーション、WAICなどの予測型の規準を用いるのは適切ではないかもしれません。 統計モデリングの評価に広く用いられている別の方法として周辺尤度があります。 周辺尤度は予測型の規準ではなくそのモデルの尤度を表すものなので、 「予測ではない」問題の評価には周辺尤度が有力な候補になると思います。