Prior

如何在 Stan 中繪製先驗分佈?

  • September 8, 2016

我試圖在沒有數據的情況下運行 Stan 模型來獲取先前分佈的圖。但是,這似乎是不可能的,我收到一條關於我的模型不包含樣本的錯誤消息。那麼,有沒有辦法獲得先前的分佈?也許可以在沒有採樣器的情況下運行 Stan?

由於我之前的答案已被刪除,因此這裡有一個更明確的答案,其中一個示例使用了之前的簡單抽樣:

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

希望這可以幫助…

引用自:https://stats.stackexchange.com/questions/233944

comments powered by Disqus