【问题标题】:BUGS error messagesBUGS 错误消息
【发布时间】:2014-03-25 01:02:48
【问题描述】:

我是 WinBUGS/OpenBUGS 的新手,在调试我的代码时遇到了困难。

有谁知道 BUGS 模型的潜在错误消息列表及其简单英语的含义?

【问题讨论】:

    标签: r winbugs r2winbugs


    【解决方案1】:

    这个WinBUGS User Manual 可能有点用处。

    【讨论】:

      【解决方案2】:

      WinBUGS manual 列出了一些常见错误。我根据自己的经验添加了一些额外的注释:

      • 预期的变量名表示不适当的变量名。我在提供数据时偶尔会遇到此错误,可能使用了1.02e04 而不是1.02E04

      • 未定义变量 - 数据文件中的变量必须在模型中定义(只需将它们作为常量或模糊先验放入)。如果报告逻辑节点未定义,则问题可能出在“右侧”的节点上。当我从模型中删除变量但未从数据中删除或在数据中遗漏逗号时,我偶尔会收到此错误。

      • 扫描的令牌无效或意外 - 检查涂鸦中逻辑节点的值字段是否已完成。

      • 索引超出范围 - 通常表示循环索引超出了向量的大小(或矩阵维度);但是,如果注释行的开头省略了#,有时会出现

      • 概率回归中的线性预测变量太大表示数值溢出。对于 Trap 'undefined real result',请参阅下面的可能解决方案。

      • 逻辑表达式太复杂 - 一个逻辑节点是根据太多参数/常数或太多运算符定义的:尝试引入更多逻辑节点来表示整体计算的部分;例如,a1 + a2 + a3 + b1 + b2 + b3 可以写成 A + B,其中 A 和 B 分别是更简单的逻辑表达式 a1 + a2 + a3 和 b1 + b2 + b3。请注意,具有许多项的线性预测器应通过“矢量化”参数和协变量来制定,然后使用inprod(.,.) 函数

      • 无法选择更新方法表示违反了程序中的限制

      您也可能在开始时或在 MCMC 期间遇到陷阱。 BUGS 手册列出了以下常见陷阱(我总是遇到前两个,从没遇到过后两个):

      • 未定义的实际结果表示数值溢出。可能的原因包括:

        • 从“模糊”先验分布生成的初始值可能在数值上是极端的 - 指定适当的初始值;
        • 数值上不可能的值,例如非正数的对数 - 例如,检查泊松建模时没有给出零期望值;
        • 抽样中的数值困难。可能的解决方案包括:
        • 更好的初始值;
        • 提供更多信息的先验 - 可能仍会使用统一的先验,但其范围仅限于合理的值;
        • 更好的参数化以提高正交性;
        • 将协变量标准化为均值为 0,标准差为 1。
        • 如果所有初始值都相等,则可能发生。概率模型特别容易受到此问题的影响,即生成未定义的实际结果。如果一个概率是一个随机节点,它可能有助于对其分布设置合理的界限,例如

            probit(p[i]) <- delta[i]
            delta[i] ~ dnorm(mu[i], tau)I(-5, 5)
          

          有时只需单击更新按钮即可逃脱此陷阱。等价结构

            p[i] <- phi(delta[i])
          

          可能会更宽容。

      • 索引数组超出范围 可能的原因包括:

        • 试图分配超出数组声明长度的值;
        • 如果逻辑表达式太长而无法计算,请将其分解为更小的组件。
      • 堆栈溢出如果存在逻辑节点的递归定义,则可能发生。

      • NIL 取消引用(读取) 在某些情况下,当进行不适当的转换(例如将数组转换为标量)时,可能会在编译时发生。

      • 引用 DFreeARS 的陷阱消息表明用于对数凹分布的无导数自适应拒绝算法存在数值问题。一种可能是改为“切片”采样

      【讨论】:

        猜你喜欢
        • 2015-09-18
        • 1970-01-01
        • 2012-06-09
        • 2021-04-20
        • 1970-01-01
        • 2021-04-16
        • 2012-02-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多