我想运行以下密度的 Gibbs 采样:
其中 $beta$ 是一个正参数,它取小值,Z 是归一化常数。 为此,我首先使用以下代码生成了一个新的绝对连续分布
f <- AbscontDistribution(d = function(x) 1/(sqrt(2*pi))*exp(-0.5*x^2)*cosh(beta*x), withStand = TRUE)
然后我使用库 jags 来运行 Gibbs Sampling:
require(rjags)
library(coda)
writeLines("model {
y ~ f(x)
x ~ dnorm (0, 1)
}", con="jags01.txt")
jagsModel <- jags.model('jags01.txt', data=list ('y'=1))
postSamples <- coda.samples(jagsModel, 'x', n.iter = 100)
plot(postSamples, density=TRUE, main="Prova", auto.layout=FALSE)
不幸的是它不起作用。有人可以解释我为什么吗? 提前致谢。