前回の理論的なまとめを踏まえてStanでWAICとWBICを計算してみます。 今回は例題として混合正規分布から発生させたデータ100個を用いて、2種類のモデルで推定を行い、それぞれに対してWAICとWBICを求めてみます。まずはデータ生成部分のRコードは以下です。 N <- 100 a_true <- 0.4 mean1 <- 0 mean2 <- 3 sd1 <- 1 sd2 <- 1 set.seed(1) Y <- c(rnorm((1-a_true)*N, mean1, sd1), rnorm(a_true*N, mean2, sd2)) 次にモデルその1の説明です。ここでは2つの正規分布のうち平均0の方は固定で、もう片方の正規分布の平均(mu)とそれらの混ぜ具合(a)を推定することにします。Stanコードは以下です(model1a.stan)。 data { int<lower=