问题标签 [r2jags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1664 浏览

r - JAGS 和 R:获得特定 x 的后验预测分布

我试图从 Jags 中的简单线性回归中获得指定 x 值的后验预测分布。我可以通过将此示例(来自https://biometry.github.io/APES//LectureNotes/StatsCafe/Linear_models_jags.html)适应我自己的数据来使回归本身起作用。我在这里提供了一小部分数据,这样代码也可以在这里工作。

除了这个回归之外,我还想要输出特定 phos 值的后验预测分布,但我无法让它与我编写的这个简单示例一起工作。我在这里找到了一个教程https://doingbayesiandataanalysis.blogspot.com/2015/10/postterior-predicted-distribution-for.html并尝试像这样实现它:

但我收到以下错误消息:

jags.model(model.file, data = data, inits = init.values, n.chains = n.chains, : RUNTIME ERROR: Compilation error on line 14. 尝试重新定义节点 yP[1]

我承认我不太明白在我使用的那个例子中预测是如何实现的,也找不到关于 nu 到底是什么或这些数字来自哪里的解释。所以我认为这是我在适应我的示例时犯了一些错误的地方,但它是 Jags 中唯一我能找到的教程,它给出了探测 x 的 y 值的整个分布,而不仅仅是平均值。

我将不胜感激任何帮助或解释。

谢谢!

0 投票
1 回答
959 浏览

r - R JAGS:尺寸不匹配

我正在尝试在 JAGS 中运行模型,但出现以下错误:

我指定的模型是

然后我指定数据和初始值。最后,我运行模型。

你能帮助我吗?你知道我为什么会收到这个错误吗?提前致谢。

0 投票
1 回答
70 浏览

r - 贝叶斯推理模型遇到问题 - 带有 R 的 JAGS

我一直在尝试使用 R 和 JAGS 重现以下论文的结果,但没有成功。我可以让模型运行,但显示的结果始终不同。

论文链接:https ://www.pmi.org/learning/library/bayesian-approach-earned-value-management-2260

例如,本文的目的是使用从项目管理报告中收集的数据来估计项目完成日期或完成时的预算。项目绩效主要通过使用挣值衡量来报告,该衡量基本上包括实际完成的工作量与计划完成的工作量之间的比率,直到里程碑日期(换句话说,“完成的工作/计划的工作” )。因此,如果我在项目的第三个月花费了 300.000 美元来完成我之前计划花费 270.000 美元的工作量,那么我的成本绩效指数 (CPI) 为 300.000/270.000 = 1.111。同样,如果到第 3 个月我完成了与计划在第 2 个月完成的工作相对应的工作量,我的进度绩效指数 (SPI) 为 2/3 = 0.667。

论文背后的一般问题是如何使用绩效测量来更新对最终项目绩效的先验信念。

我的代码如下所示。我必须对数据执行转换(在获取 log() 之前添加 1,因为其中一些会是负数并且 JAGS 返回错误(这就是为什么我的模型上的参数与纸上表 4 中显示的参数不同的原因)。

论文中使用的模型是对数正态的似然性和先验的 mu 和 sigma 分别在 Normal 和 Inverse Gamma 上。由于 BUGS 语法使用 tau = 1/(variance) 作为正态和对数正态的参数,因此我在 tau 上使用了 Gamma 分布(这对我来说很有意义)。

论文中发现的 95% CI (2.5%;97.5%) 是 CPI 的 (1.05;2.35) 和 (0.55;1.525)。该模型呈现了如下所示的结果。对于 CPI,结果相当接近,但当我看到 SPI 的结果时,我认为这应该只是机会。

这几天一直在努力,找不到丢失的东西或错误的地方。

0 投票
1 回答
283 浏览

r - 如何修复 R2jags::jags 中的“节点与父母不一致”

我正在使用 R-package R2jags。运行我在下面附加的代码后,R 产生了错误消息:“节点与父节点不一致”。

我试图解决它。但是,错误消息仍然存在。我使用的变量是:

i) “采用”:一个 0-1 的虚拟变量。

ii) “NumInfo”:一个计数器变量,其范围是 {0, 1, 2,...}。

iii) “价格”:5

iv) “NRows”:326。

运行代码时,R 产生错误消息:“节点与父节点不一致”。我不知道错误是什么。我想知道你是否可以帮我解决这个问题,拜托。如果您需要更多信息,请告诉我。非常感谢你。

0 投票
1 回答
1538 浏览

r - JAGS模型中“inprod function不符合参数”的处理方法

我正在尝试使用相机捕获站的栖息地协变量来模拟整体物种丰富度的变化R2jags。但是,我不断收到错误消息:

我在之前的 JAGS 模型中使用了一个非常相似的函数(来查找物种丰富度),所以我不确定为什么它现在不起作用......

我已经尝试以不同的方式将 inprod 函数中的协变量格式化为数据框和矩阵,但无济于事。

变量规格:

JAGS 型号:

捆绑数据:

启动 Gibbs 采样器:

最终,我得到了错误:

最后,我想计算栖息地协变量的平均值和 95% 可信区间 (BCI) 估计值,这些估计值被假设为影响特定站点(点级)物种丰富度的方差。

任何帮助将不胜感激!

0 投票
0 回答
308 浏览

bayesian - 错误消息切片器卡在具有无限密度的值

我在处理贝叶斯方法方面仍然很陌生。在对真实数据产生随机影响的情况下运行贝叶斯分析时,我遇到了以下错误“slicker 停留在具有无限密度的值”,我尝试更改精度参数的起始值(基于我在 stackoverflow 上找到的建议) ,以及我的参数的其他起始值,但这并没有解决问题。这是我的代码的一部分

我观察到以下解决了这些问题:

  1. 以 ( theta ~ dnorm(0,1.0E-5) T(0,0.99) 形式截断法线先验

就我而言,上述解决方案的问题是我的估计比平时多。其次,我真的不明白截断的法线如何适合我的解决方案。有人可以让我深入了解截断法线以及它如何影响使用它生成的结果的解释吗?

  1. 第二种选择是使用非常少的迭代次数。我观察到迭代次数很少,模型停止抛出错误。

这样做的问题是收敛是不值得怀疑的。

  1. 第三个可行的选项是我必须先将 gamma 从 gamma(0.001,0.001) 更改为 gamma(1,1)。我不确定从 gamma(0.001,0.001) 到 gamma(1,1) 将如何影响我的解释,但获得的结果似乎是合理的。

我将不胜感激就上述修复在建模过程及其如何影响推理方面的优缺点发表评论。

附加信息,D 是观察计数,pt 是人时(偏移量)。

0 投票
0 回答
71 浏览

jags - 使用 JAGS 的零改变(障碍)泊松或负二项式模型(零通货膨胀)中的自相关误差

我正在使用贝叶斯零改变(障碍)泊松或使用 R2jags 的负二项式模型。因为 Pearson 残差的 ACF 显示出自相关,所以我决定将自回归残差应用到零变化模型中。

但是,我不知道自相关误差结构应该处理 Pearson 残差还是简单地“拟合值和观察值之间的差异”。

另外,如果是后者,那之后如何计算残差?

0 投票
1 回答
438 浏览

r - “函数中的不合格参数:”在使用 JAGS 的简单线性回归中

我对 JAGS 和贝叶斯统计非常陌生,并且一直在尝试遵循 Crawley 第 2 版 R 书中关于贝叶斯统计的第 22 章。我完全按照书中简单线性模型的代码复制代码:growth = a + b *tannin,其中有 9 行两个连续变量:增长和单宁。数据和包是这样的:

ASCII 文件如下所示:

但是,当我使用这段代码时:

我收到一条错误消息,上面写着:

0 投票
0 回答
81 浏览

r - 使用 R2jags 设置层次模型

我正在做一个介绍性贝叶斯分析课程的项目,而且我对定期使用 R 也很陌生。我们应该使用我们找到或放在一起的数据集来构建层次模型。我将一个数据集放在一起来分析一个国家的社会自由及其财富在多大程度上影响其幸福感的问题。数据集如下所示:

Status 取自我转换成整数的 Freedom House,1表示不自由,2表示部分自由,3表示自由社会。对于我的第一个模型,我不想添加 GDP 数据。

我整理了看起来与我们在课堂上看到的示例相同的代码,但我遇到了麻烦,我不知道如何修复它。

以下是我如何设置从创建列表到建模、设置先验和运行jags命令的所有内容:

我最终得到一个看起来像这样的错误:

我的数据集中有 460 个观察值。我正在查看我制作的循环,我认为i应该从 1 到 460。我相信错误就在这里:mu[i] <- alpha[Country[i]] + beta1[Country[i]]*Year[i]我看错地方了吗?

谁能帮我调试一下?任何帮助将不胜感激。

0 投票
2 回答
570 浏览

r - 为什么与 rjags 和 R2Jags 拟合的模型输出不同?

我正在使用组级预测器拟合多级逻辑回归模型。我通过 R 使用 JAGS。当我将模型与包相匹配时,我会得到不同的runjags行为R2Jags

我试图编写一个可重现的示例来显示该问题。下面,我模拟来自二项式模型的数据,将数据索引到 8 个图和 2 个块,然后拟合多级逻辑回归以恢复下面代码中的成功概率 (b1b2)。滚动到底部以查看两个配合的摘要。

我的问题是:

  1. 为什么这两个拟合的后验不同?我使用相同的数据,单个模型规范,并在每个之前设置随机数生成器。为什么后验的平均值不同,为什么Rhat值如此不同?

包版本信息:

这是 rjags 拟合的输出:

这是 R2jags fit 的输出:

这是来自 2 次拟合的 mu.alpha 的跟踪图。首先,从 rjags 适合:

rjags fit 中 mu.alpha 的跟踪图

二、来自R2jags的合身:

来自 R2Jags 拟合的 mu.alpha 的跟踪图