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

What is the algorithm of jags with discrete likelihood and continuous prior

我正在尝试理解以下 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方法呢?阿斯?切片采样?还是黑斯廷大都会?

您始终可以使用 rjags::list.samplers 找出 JAGS 将哪些采样器用于随机变量 - 例如:

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

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

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

在这种情况下,这告诉您切片采样器正在用于模型中三个未观察到的随机节点中的每一个。切片采样是 JAGS 中的主要主力,所以这是非常典型的,除非有更有效的(例如共轭)采样器可用(或者如果为适当的模型加载了 GLM 模块)。