我们能从JAGS输出中得到残差吗?

时间:2014-03-09 19:20:40

标签: bayesian jags r2jags

假设我们使用JAGS(或WinBUGS)拟合贝叶斯线性混合模型,输出对象是否包含模型残差?我们怎样才能找到残差?

谢谢!

1 个答案:

答案 0 :(得分:3)

JAGS(BUGS)模型只是输出您告诉它要监视的模型中的节点值。要获得残差,您需要在模型中定义残差,然后监控它们。例如

model {
 bResponse ~ dnorm(0, 5^-2)
 sResponse ~ dunif(0, 5)
 for (i in 1:length(Response)) {
   eResponse[i] <- bResponse
   Response[i] ~ dlnorm(eResponse[i], sResponse^-2)
   Residual[i] <- (log(Response[i]) - log(eResponse[i])) / sResponse
 }
} 

Residual[i]i的每个Response值定义了一个残差。请注意,上面的示例不涉及指定要监视的值。