スタンで以前の分布をプロットする方法は?


10

以前の分布のプロットを得るために、データなしでスタンモデルを実行しようとしました。ただし、これは可能ではないようです。サンプルが含まれていないモデルに関するエラーメッセージが表示されます。では、以前のディストリビューションを入手する方法はありますか?サンプラーなしでスタンを実行することは可能でしょうか?

回答:


7

以前の回答が削除されたため、以前の回答からの単純なサンプリングを使用した例を使用して、より明確な回答を示します。

library(rstan)

model = "
parameters {
  real p;
}
model {
  p ~ normal(1,3);
}
"

fit = stan(model_code = model, 
           pars = c('p'),
           control=list(adapt_delta=0.99, max_treedepth=10),
           iter = 5000, chains = 1, 
           warmup = 1000, verbose=FALSE)

print(fit)

出力あり:

Inference for Stan model: a067aa7e9d60dcf5fa2c08c3db339374.
1 chains, each with iter=5000; warmup=1000; thin=1; 
post-warmup draws per chain=4000, total post-warmup draws=4000.

      mean se_mean  sd  2.5%   25%   50%   75% 97.5% n_eff Rhat
p     1.02    0.07 3.0 -4.84 -1.02  1.01  3.07  6.83  1607    1
lp__ -0.50    0.02 0.7 -2.47 -0.66 -0.23 -0.05  0.00  1346    1

お役に立てれば...


分布を視覚化するために追加したのは、p <-extract(fit、 "p")$ pの後にhist(p)を続けたものです。ここではウォームアップパラメータが必要だとは思わなかったので、ゼロに設定しました。
Ben Ogorek 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.