问题标签 [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 回答
286 浏览

r - 从文件 rjags 中读取数据

我的数据文件如下所示:

假设这个文件被保存为“data.txt”。

如果我在“R2OpenBUGS”中工作,它可以让我毫无问题地将数据作为文件传递:

但是在 JAGS 中,如果我将数据作为“data.txt”传递,它会说:“数据必须是列表或环境”。这里有什么问题?另外,如果没有办法解决它,有没有办法可以将数据作为 R 中的列表读取?

我的模型是:

0 投票
0 回答
1332 浏览

node.js - RJAGS 输出节点与父节点不一致

大家好,我是 JAGS 的新手,目前正在通过 RJAGS 使用 mcmc 进行贝叶斯推理。我一直在尽力调试我的代码,直到我遇到这个错误“节点 e1 [3] 节点与父节点不一致”。

我希望任何人都可以给我如何调试它。非常感谢。

0 投票
1 回答
594 浏览

r - JAGS 错误:“解析未声明的变量”和“exp 的向量参数无效”

这是我第一次使用 JAGS,在建模数据时遇到了一些错误。

以下是我的数据的简要说明: 总共有n多少人(例如 2 人)每个人解决了m问题(例如 6 人)。所有问题都有 3 个答案,每个都有一定的价值V

这是图形模型(一些变量名称不同:IG并且分别与和y相同;未包含在我的模型中)。Vanswerx

iPerson为问题选择每个答案的概率j遵循“softmax 决策规则”:exp(V[j,]/tau[i])/sum(exp(V[j,]/tau[i])). 这里,tau 是具有 Gamma 分布的决策噪声: tao → 0,一个人选择最高值的答案;tao → ∞,一个人在 3 个答案中随机选择。

这是我的模型文件model.txt

这是我的 R 脚本:

在 R 中运行脚本后,我收到以下错误消息:

编译模型图 解析未声明的变量 分配节点 删除模型

jags.model 中的错误(model.file,data = data,inits = init.values,n.chains = n.chains,:运行时错误:exp 的向量参数无效

可能是什么问题?非常感谢您的帮助!

0 投票
2 回答
1579 浏览

jags - 如何使用 jags() 函数设置随机种子?

每次我使用该jags()函数运行我的 JAGS 模型时,我都会得到非常不同的拟合参数值。但是,我希望其他人重现我的结果。

我尝试添加set.seed(123),但没有帮助。此链接描述了如何使用该run.jags()功能实现我的目标。我想知道如何使用jags(). 谢谢!

以下是我在 R 中的模型:

还有我的模型文件model.txt:

0 投票
2 回答
1041 浏览

bayesian - 如何通过 JAGS 中的均值和标准差重新参数化 Beta 分布?

在一项实验中,参与者可以使用策略 X 和 Y 的组合来解决问题。θ 是 X 的权重(范围从 0 到 1,分布为 Beta),它可以通过某种方式从人类数据中推断出来(此处或许无需赘述)。

在我阅读的一篇论文(p. 117) 1中,作者通过均值和标准差重新参数化了 θ 的 Beta 分布。如何在 JAGS 中实现这一点?以下是我的尝试,我不确定它是否正确。如果没有,我想知道我应该做什么。

在此先感谢,如果有任何我应该添加的细节,请告诉我!

0 投票
2 回答
433 浏览

r - Jags 中的贝叶斯滚动泊松回归(通过 R2jags)

问题

我有一个小数据集(N=100)。我需要运行泊松回归,但一次排除一个观察值(因此,滚动泊松回归)。

等式中有几个预测变量,但我关心一个(称之为bx)。我的想法是查看 100 个模型的 bx 变化量。然后,我想用 Y 轴上的效果大小和 X 轴上的型号来绘制这 100 个点的估计值。

总之,我需要以下内容:

  1. 在 JAGS 中运行滚动泊松回归(通过 R2jags)。

  2. 得到估计值后,绘制它们。

请注意,我在 JAGS 中的泊松模型运行良好(下面是我的模型/数据的示例玩具)。但是,我无法实现“滚动”版本

独立的例子

行。这就是模型。在model.fit那里bx,我必须得到 100 次的系数。使用我当前的代码,我只能使用完整的数据集获得一次。但是,我需要在排除 df 的第一行的情况下再次获取它,然后在排除 df 的第二行的情况下第三次获取它,依此类推。然后,绘制所有这些bx


现在,为了示例,我将创建一个简单的表,以表明我需要第一个元素(bx的系数)。

抱歉,我什至无法在这里提供尝试的解决方案。首先十分感谢。

0 投票
1 回答
577 浏览

r - 如何在 JAGS 回归模型中拟合具有和不具有交互作用的模型

我正在使用本教程来了解 JAGS 代码。在“具有附加分类预测变量的相同模型”部分中,它指出“该模型包括性别和体长之间的相互作用”。如何删除它以便没有交互?

这是 R 和 JAGS 中的完整设置和模型。

先上数据:

JAGS代码:

初始值并运行:

0 投票
1 回答
425 浏览

r - 抑制 R 中的 JAGS“值超出范围”警告

jags我正在使用R2jags 包(它使用 rjags 包来运行 JAGS)的功能在 R 中运行大量 JAGS 模型。

我在控制台中打印了很多警告:

value out of range in 'lgamma'

打印这些警告似乎会严重影响计算时间。我该如何抑制这个?

警告被打印为输出,而不是 R 警告。

我尝试过但不起作用的事情包括:

  • try(..., silent = TRUE)用, suppressWarnings, invisible或包裹我的电话capture.output

  • jags.model将呼叫更改jagsjags.model(..., quiet = TRUE)

这种现象在其他地方也有提及 ,我只是想将其关闭以减少从大量不必要的打印到控制台的计算负载。

有什么建议么?


这是基于sourceforge 上相同问题的示例的长但可重复的示例。很抱歉这篇文章的长度,但我无法在任何较小的玩具模型中复制它。我不太关心这个特定的模型,但它合理地简单地复制了这个问题:

模型

数据

称呼

输出 (大量重复的警告被修剪 - 这些再次打印为函数输出而不是警告消息)

0 投票
1 回答
2561 浏览

r - rjags 和 r2jags 之间的区别

我使用这两个包来进行贝叶斯分析,但有一些我不明白的区别:

首先包rjags允许适应阶段,带有jags.model函数,而包r2jags没有这个阶段,并且带有函数jags(或jags.parallel)开始从后验分布中采样。自适应阶段是否包含在该功能中,或者包r2jags不考虑它?

其次,在 中rjags,我可以说这两段代码是相似的吗?

也就是有function的burn-in阶段update也可以在coda.samplesfunction中做?谢谢你。

0 投票
1 回答
1476 浏览

r - 分布 dbin JAGS 中的离散值参数检查失败

我正在尝试从Kery & Schaub 的著作“使用 WinBUGS 的贝叶斯人口分析”中的“第 11 章 - 使用综合人口模型从多种数据类型估计人口统计率、人口规模和投影矩阵”中重新创建综合人口模型。

我正在尝试使用 JAGS 而不是 WinBUGS,但我不断收到此错误消息:

"Failed check for discrete-valued parameters in distribution dbin"

这是数据和代码 - 知道我做错了什么吗?我怀疑这与 Ntot 不是一个整数有关,但我不确定。我R2jags在 RStudio 中使用。

非常感谢