SSブログ

階層ベイズのモデル比較、DICを実装 [階層ベイズ]

階層ベイズモデルのモデル比較をどうするか?

通常のglmなどのモデルでは、AICやBICといった基準がありますが、階層ベイズにはAIC, BICを直接適用することはできません。

Deviance Information Criterion(以下、DIC)を使ってモデル比較をすることができます。

以下、その実装方法。

1) Burn-In以降のパラメータを抽出します。
必要なのは、イテレーションごとに、個人ごとのβと対数尤度を保存。

DIC = mean.Deviance + pD
pD <- mean.Deviance - mean_para.Deviance

Deviance = -2 log p(y|θ) の定義はこちら(↓)。

mean.Deviance
各イテレーションごとに保存しておいた対数尤度の平均から計算します。

mean_para.Deviance
イテレーションごとに、個人ごとのβの平均値を計算。
この平均値とデータから、再度、尤度を計算します。

nice!(8)  コメント(0) 
共通テーマ:学問

nice! 8

コメント 0