我目前正在JAGS中安装一组16个模型。我有一个jags函数计算结果变量的每个值的概率的对数,另一个函数采用-2 *这些对数概率的总和。即,我有一个自定义公式来计算每个模型的偏差。我想检查一下我对偏差的定义与JAGS使用的相同。
运行5000次burnin和5000次迭代后,我得到了以下结果:
基本上,对于某些模型,偏差很接近但不完全相同,而对于其他模型(例如,7,13,16)则差异很大。
为什么使用我的自定义公式计算的偏差与使用基于DIC的自动方法获得的偏差不同?
答案 0 :(得分:0)
经过一番乱搞后,我认为情况如下。
首先,使用对主要参数估计的离散样本集获得DIC偏差。因此,由于MCMC估计的固有随机方面,估计在运行之间会有所不同。
假设链长很长(几千)并且燃烧足够,那么如果模型收敛且合理有效,则主样本和DIC样本之间的差异应该很小。因此,模型收敛问题可能会出现很大的差异。
这一切都假设原始偏差计算编程正确。