具有离散似然和连续先验的尖齿的算法是什么

时间:2019-07-11 19:58:56

标签: r jags rjags

我正在尝试理解以下rjags代码。

 library(rjags)

 set.seed(1)
 N <- 10
 p <- rep(10,N)


 cat("


 model {
 for (i in 1:N) {
 p[i] ~ dpois(lambda)
  }
 lambda <- 2*exp(-2*alpha*3)/(2*pow(4,2))
 alpha ~ dnorm(beta,tau)T(0,0.2)
 beta ~ dnorm(0,10000)
 tau ~ dgamma(2,0.01)
  }", file= "example1.jag")


  jags <- jags.model('example1.jag',data = list( "N" = N,"p"=p))
 update(jags, 16000)
 out_ex1<-jags.samples(jags, 'alpha',4000)
 out_ex1$alpha

它具有泊松似然性且具有正常先验,因此没有吉布斯抽样的封闭形式。那么这里使用什么MCMC方法呢? ARS?切片采样?或Metropolis Hasting?

1 个答案:

答案 0 :(得分:2)

您总是可以使用rjags :: list.samplers来找出JAGS在随机变量中使用的采样器-例如:

> list.samplers(jags)
$`base::RealSlicer`
[1] "alpha"

$`base::RealSlicer`
[1] "beta"

$`base::RealSlicer`
[1] "tau"

在这种情况下,这表明您将切片采样器用于模型中的三个未观察到的随机节点。切片采样是JAGS中的主要工作方式,因此这非常典型,除非可以使用更高效的(例如共轭)采样器(或者如果为适当的模型加载了GLM模块)。