为什么JAGS需要至少两个链来计算DIC?

时间:2015-03-21 00:49:19

标签: r jags

我试图了解JAGS如何计算偏差和Deviance Information Criterion(DIC)。

如果您只有一个链,则R中dic.samples中的rjags函数会引发错误。

stop("2 or more parallel chains required")

计算DIC的公式包括计算模型中参数的预期值的预期偏差和偏差。我想这样的估计可以从一个单一的链中获得(尽管有时可能存在只能通过多个链识别的收敛问题)。

手册指出:

  

pD监测器估计对有效数量的贡献   参数(pD)[3]来自观察到的随机节点,通过比较   跨越多个链的偏差偏差[1]。它是通过使用创建的   选项类型(pD)。如果模型只有一个链,那么pD监视器   无法定义。

所以我的问题是:

  • 为什么JAGS需要至少两个链来计算DIC?
  • 或者更具体地说,为什么pD监视器需要两个链?

1 个答案:

答案 0 :(得分:1)

有许多不同的方法来计算pD - JAGS使用的方法由Martyn Plummer在“贝叶斯模型复杂度和拟合度量”讨论中描述: http://onlinelibrary.wiley.com/doi/10.1111/1467-9868.00353/abstract

获取PDF然后搜索“Plummer” - 第一个结果提供了JAGS中使用的计算的详细信息。