ベイズモデルの比較

rstanarm で学ぶベイズ回帰モデリング

Jake Thompson

Psychometrician, ATLAS, University of Kansas

loo パッケージ

  • LOO = leave-one-out(1つ抜き法)
    • 近似的な交差検証
    • ?loo-package
    • looでモデル比較
rstanarm で学ぶベイズ回帰モデリング

単一モデルへの loo の適用

library(rstanarm)
library(loo)
stan_model <- stan_glm(kid_score ~ mom_iq, data = kidiq)

loo(stan_model)
Computed from 4000 by 434 log-likelihood matrix

         Estimate   SE
elpd_loo  -1878.5 14.5
p_loo         2.9  0.3
looic      3757.1 29.0
 ------
Monte Carlo SE of elpd_loo is 0.0.

All Pareto k estimates are good (k < 0.5).
See help('pareto-k-diagnostic') for details.
rstanarm で学ぶベイズ回帰モデリング

loo によるモデル比較

model_1pred <- stan_glm(kid_score ~ mom_iq, data = kidiq)
model_2pred <- stan_glm(kid_score ~ mom_iq * mom_hs, data = kidiq)

loo_1pred <- loo(model_1pred)
loo_2pred <- loo(model_2pred)

compare(loo_1pred, loo_2pred)
elpd_diff        se 
      6.1       3.9
rstanarm で学ぶベイズ回帰モデリング

loo によるモデル比較

compare(loo_1pred, loo_2pred)
elpd_diff        se 
      6.1       3.9
  • 正なら第2モデルを推奨
  • 負なら第1モデルを推奨
  • 有意な差か?
    • 標準誤差に対する差の絶対値で判断
rstanarm で学ぶベイズ回帰モデリング

練習しましょう!

rstanarm で学ぶベイズ回帰モデリング

Preparing Video For Download...