もう自分のモデルがどこまで混沌としているかわからなくて,rstanをつかいながらごく簡単なものを確かめるところまで戻ってきた。
ある標準正規分布から乱数発生に寄って得られたデータセットyの平均と分散を推定するプログラム。一瞬で終わる。確実に収束する。まあ初めてMCMCする人はここから確認するとよいかもしれないので,一応書きさらしておく。このままRにコピペで動きます。
2015.03.05 追記)修正を行いました。修正点についてはこちらを参照。
library(rstan)
n <- 100
mu <- 50
sig <- 10
y <- rnorm(n,mu,sig)
stancode <- '
data{
int<lower=0> T;
real N[T]; // data
}
parameters {
real mu;
real<lower=0> s2;
}
model{
N~normal(mu,sqrt(s2));
s2~cauchy(0,5);
}
'
datastan <- list(N=y,T=n)
fit <- stan(model_code = stancode,data=datastan,iter=5000,chain=4)
traceplot(fit,ask=T)
print(fit,digit=3)
2件のコメント
コメントは受け付けていません。