问题标签 [jags]

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 回答
153 浏览

r - 将估计值从 R 插入到 jags

对于我的研究,我需要估计方差,并将这些估计值插入到我在 JAGS 中的 Wishart 分布的比例矩阵(在我的 JAGS 代码中称为 R)中。我使用 R2JAGS(在 Mac 上),我想知道如何使用 R/JAGS 代码做到这一点?我想自动执行此操作,因为我需要运行模拟研究。

所以我得到了以下 R 代码来运行我的模型:

这是我手动插入估计值的 JAGS 代码:

所以在这种情况下,我需要编程插入est.sd.mu、est.sd.beta和est.sd.phi的数字。

0 投票
1 回答
729 浏览

winbugs - JAGS/BUGS 中先验分布的算术语法

对于有界度量的先验,我试图在 [-1,1] 之间拉伸 beta 分布,“[a]s 由 Barnard, McCulloch & Meng (2000) 描述”(根据本教程)。

具体来说,我正在尝试实施这个建议:

但是,我总是得到

我发现手册中没有关于JAGS或 BUGS 的条目涉及分布操作(作为随机关系分配的来源)。是否确实可以将基本算术运算应用于 BUGS/JAGS 随机关系(遵循~运算符),如果可以,如何?

0 投票
1 回答
2692 浏览

r - 在 rjags 中使用 coda 样本进行诊断

我对贝叶斯和 JAGS 都是新手,所以请原谅我的无知。

我收到了一个使用 JAGS 代码编写的 R 脚本(由一位同事)。

这段代码的作者已经定义了一组 coda 样本,如下所示:

我希望获得以下内容,并且取得了有限的成功:

Gelman 诊断:我使用了“show(gelman.diag(codaSamples))”,它适用于单个模拟。但是,对于每个感兴趣的模拟,如何按参数将每个格尔曼诊断输出到文件?更有趣的是,是否可以仅记录 Rhat 值 >1.1 的模拟比例?

密度图:我使用了“show(densplot(codaSamples))”。但是,这会在单独的图上生成每个图(我在模型中有 96 个参数)。是否与“autocorr.plot”等价,每页放置几个图?

分位数:我使用了“show (summary(codaSamples))”,但是虽然这给出了每个参数的平均值、SD 和特定百分位数(这是我想要的),但它也给出了 MCMC 矩阵。无论如何,是否可以为每个参数指定基本的统计属性?

后验分布:有没有办法计算每个参数的给定值(比如零)低于/高于的百分位数?然后总结所有模拟?

提前感谢您提供的任何帮助。

0 投票
2 回答
1555 浏览

r - JAGS 初始化时观察到的节点与未观察到的父节点不一致

我正在尝试在 Wabersich 和 Vandekerckhove (2013) 第 26 页中实现图形模型。 jags 模型脚本编写如下:

然后我使用了以下初始列表:

但是,运行jags.model导致错误:

我的数据结构是

由于初始化,这个错误似乎在 jags 中很常见。我试图更改初始值或删除它们,但它再次失败。当我删除dwiener错误将得到解决。

如果有人可以帮助我,我将不胜感激。

0 投票
1 回答
589 浏览

hidden-markov-models - 为什么 jags 结果和 depmixS4 有时不同?

我有一个类似于以下模拟数据的数据集:

这是一个具有两种状态的 HMM 问题,这意味着隐马尔可夫链 z_t 属于 {1,2}。要估计两种不同状态的 alpha 和 Beta,我可以使用包“depmixS4”并找到最大似然估计值,或者我可以在“rjags”包中使用 MCMC。

我希望这两个估计值几乎相同,而当我针对不同的模拟数据运行以下程序时,有几次,答案不一样而且非常不同!

0 投票
2 回答
2798 浏览

r - 如何将 rjags 中的多条链组合成 R 中的一条链?

我通常从具有多个链的 rjags 中调用 JAGS 用于诊断目的(例如,4 个链)。之后我经常想对后验参数估计做一些后处理(例如,使用预测值,计算额外的统计数据)。但是,此时将链存储在列表中是一件麻烦事。

将链组合成单个参数列表的好方法是什么?

0 投票
2 回答
819 浏览

r - 如何从 ZIP 或 ZINB 模型中获取贝叶斯 p 值的新样本

希望有人能帮我解决这个问题,因为我真的被卡住了,没有发现我的编码错误!

我在 JAGS(使用 R2Jags)中拟合零膨胀泊松/负二项式 GLM(无随机效应),参数估计、先验、初始值和链收敛一切都很好。所有结果都完全符合,例如,来自 pscl-package 的估计,包括我对模型中 pearson 残差的计算......

我唯一不能开始工作的是从模型中抽取一个新样本以获得贝叶斯 p 值来评估模型拟合。我之前拟合的“正常”泊松和负二项式模型都给出了预期的重复样本,并且没有出现任何问题。

到目前为止,这是我的代码,但重要的部分是“#New Samples”:

最大的问题是,我真的尝试了所有我认为可以/应该起作用的组合和更改,但是当我查看模拟样本时,我在这里得到了这个:

而且,为了让它变得非常奇怪,当使用 Fit 和 FitNew 的方法时:

有谁知道我做错了什么?任何帮助将不胜感激!

亲切的问候,乌尔夫

0 投票
1 回答
3153 浏览

r - 如何在 R 中保存 JAGS 模型对象?

我正在使用该包rjags在 R 中执行 MCMC,并且我想保存该函数的输出以jags.model供以后在另一个 R 会话中使用。

下面是一个正态分布均值的简单示例:

我可以生成mu这样的样本:

现在我想保存模型对象jags以供以后在新的 R 会话中使用,这样我就不必再次初始化和刻录马尔可夫链:

但是,在启动新的 R 会话并重新加载模型后,我收到一条错误消息,指出必须重新编译 JAGS 模型:

这是为什么?如何将对象保存jags在 R 中以备后用?

注意:这个问题之前已经问,但是OP对这个问题不是很具体。

0 投票
2 回答
1226 浏览

r - 用于估计具有 Beta 分布的组均值的 JAGS 代码

我想使用 JAGS 估计 13 个地点(9 个是鸟类,4 个是潜在栖息地)的冠层覆盖百分比的平均值和 sd。我正在使用 beta 分布来解释数据受 0 和 1 约束的事实。

我有适用于其他分布(泊松和对数正态)的模型语句的代码,我试图调整该代码,但我惨遭失败。

下面是 R 代码、模型语句和数据。我在 Windows Vista 中使用 R 3.1.1。如果您可以查看模型声明并将我理顺,我将非常感激。

谢谢,

杰夫

0 投票
1 回答
198 浏览

r - 添加/删除摘要/绘图需要重新编译 runjags 对象

由于带有所有绘图的 runjags 对象太大,我尝试run.jags使用plot=FALSE,将结果runjags对象保存到文件中,在新的 R 会话中恢复它(as out),然后通过

(有关此技巧,请参见此处的讨论:https ://stackoverflow.com/a/21859618/684229 )

但是,由于未知原因,这会重新编译并再次调整模型!即使我设置了sample = 0, adapt = 0

仅绘制图形就需要很长时间,这很烦人。当我绘图计算 runjags 对象然后尝试摆脱它们以将 runjags 对象存储为小时,也会发生同样的情况:

关于如何解决这个问题的任何提示(除了编写我自己的绘图函数)?

警告:第二次extend.jags在同一个 runjags 对象上运行该函数已经很快了。但是,如果您保存 runjags 对象并在新会话中再次加载它,则会再次extend.jags变慢。似乎runjagsJAGS 正在缓存某些东西(但不在原始 runjags 对象中)。