So-net無料ブログ作成

JAGSのadaptのテスト [統計]

JAGSでは、adaptationしてからburn-inするとマニュアルにあるので、そのあたりの動作を確認してみました。

データとか。

# Data
x <- c(3, 2, 4, 3, 3, 6, 4, 1, 6, 4,
       5, 7, 4, 4, 1, 4, 0, 3, 8, 4)

library(rjags)

jags.data <- list(N = length(x), X = x)
inits <- list(list(beta = 1),
              list(beta = 50),
              list(beta = 100))
n.chains <- 3
pars <- "beta"

jags.modelで、n.adapt = 0とするとadaptionなしに。

# n.adapt = 0
model1 <- jags.model("test1.bug.txt", jags.data, inits,
                     n.chains, n.adapt = 0)
samp1 <- coda.samples(model1, variable.names = pars,
                      n.iter = 100)
traceplot(samp1)

plot1.png

つづいて、n.adapt = 100とします。

# n.adapt = 100
model2 <- jags.model("test1.bug.txt", jags.data, inits,
                     n.chains, n.adapt = 100)
samp2 <- coda.samples(model2, variable.names = pars,
                      n.iter = 100)
traceplot(samp2)

plot2.png

もうburn-inがおわっている気もしますが、念のためにさらに400回のburn-inの後にサンプリングします。

# n.adapt = 100, burn-in = 400
update(model2, n.iter = 400)
samp3 <- coda.samples(model2, variable.names = pars,
                      n.iter = 1000)
plot(samp3)

plot3.png


タグ:jags MCMC
nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0