世界一簡単なrstanコード

もう自分のモデルがどこまで混沌としているかわからなくて,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)
日記
安定した環境を!

MacOS新しいのが出ましたね。Catalina ですか。Sidecarを試してみたくて、自宅のマシ …

日記
教え子の結婚式でした

山大の頃の院生さん、卒業(修了)してから音沙汰がなかったが、ある日突然メールしてきて「結婚するので式 …

日記
息子の期待値

息子は小学5年生である。お小遣いは500円/月である。 iPhoneアプリで「ルーレット」というのが …