问题描述
这是我第一次使用 R2Jags、MCM 链和贝叶斯模型,但我无法计算模型的预测值。 该模型基于 Hallmann 等人的研究。 2017(https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0185809),具体是基础模型(R代码见论文附录)
这是我的锯齿代码
cat("model{
## Likelihood function for the latent expected daily biomass
for (i in 1:n) {
m_bio[i] ~ dnorm(sum(y[tau1[i]:tau2[i]]),sig_sq[i])
sig_sq[i] <- 1/Var[i]
Var[i] <- sum(vr[tau1[i]:tau2[i]])
}
## Likelihood function for muHat,it's dependent function and variance
for (i in 1:ndaily) {
z[i] <- exp(y[i])
y[i] <- g_intcp + log.lambda * year[i] + c[1] * daynr[i] + c[2] * daynr2[i] +
c[3] * daynr[i] * year[i] + c[4] * daynr2[i] * year[i] + b[loctype[i]] +
eps[plot[i]]
vr[i] <- exp(2 * y[i] + lvar) * (exp(lvar) - 1)
}
## Priors
g_intcp ~ dnorm(0,.01)
log.lambda ~ dnorm(0,.01)
b[1] <- 0
for( i in 2:3) {b[i] ~ dnorm(0,.01)}
for( i in 1:4) {c[i] ~ dnorm(0,.01)}
sdhat ~ dunif(0,5)
lvar <- pow(sdhat,2)
for (i in 1:nrandom) {
eps[i] ~ dnorm(0,tau.re)
}
tau.re <- pow(sd.re,-2)
sd.re ~ dunif(0,1)
}
数学方程可以在论文中找到(eqs. 2,3,4,6)
我正在尝试获取 m_bio 的值。我已经研究过类似这样的其他帖子:How to predict values using estimates from rjags / JAGS 但无法从简单回归公式 (a + b * x) 中“推断”到我的解决方案。
我将从提取每个参数的平均值开始,大致如下:
jags$BUGSoutput$mean
我被卡住的部分是矩阵乘法。当我有多个预测变量时会发生什么变化?
我也不确定在那之后我必须做什么。如果我正确理解了模型,我需要对所有三个方程(即 z[i]、y[i] 和 vr[i])进行计算,然后才能计算 m_bio(以及相关方程 sig_sq和 Var),对吗?
希望我充分表达了我的问题。感谢任何和所有回复:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)