问题标签 [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.
r - 从文件 rjags 中读取数据
我的数据文件如下所示:
假设这个文件被保存为“data.txt”。
如果我在“R2OpenBUGS”中工作,它可以让我毫无问题地将数据作为文件传递:
但是在 JAGS 中,如果我将数据作为“data.txt”传递,它会说:“数据必须是列表或环境”。这里有什么问题?另外,如果没有办法解决它,有没有办法可以将数据作为 R 中的列表读取?
我的模型是:
node.js - RJAGS 输出节点与父节点不一致
大家好,我是 JAGS 的新手,目前正在通过 RJAGS 使用 mcmc 进行贝叶斯推理。我一直在尽力调试我的代码,直到我遇到这个错误“节点 e1 [3] 节点与父节点不一致”。
我希望任何人都可以给我如何调试它。非常感谢。
r - JAGS 错误:“解析未声明的变量”和“exp 的向量参数无效”
这是我第一次使用 JAGS,在建模数据时遇到了一些错误。
以下是我的数据的简要说明: 总共有n
多少人(例如 2 人)每个人解决了m
问题(例如 6 人)。所有问题都有 3 个答案,每个都有一定的价值V
。
这是图形模型(一些变量名称不同:IG
并且分别与和y
相同;未包含在我的模型中)。V
answer
x
i
Person为问题选择每个答案的概率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 的向量参数无效
可能是什么问题?非常感谢您的帮助!
jags - 如何使用 jags() 函数设置随机种子?
每次我使用该jags()
函数运行我的 JAGS 模型时,我都会得到非常不同的拟合参数值。但是,我希望其他人重现我的结果。
我尝试添加set.seed(123)
,但没有帮助。此链接描述了如何使用该run.jags()
功能实现我的目标。我想知道如何使用jags()
. 谢谢!
以下是我在 R 中的模型:
还有我的模型文件model.txt:
r - Jags 中的贝叶斯滚动泊松回归(通过 R2jags)
问题
我有一个小数据集(N=100)。我需要运行泊松回归,但一次排除一个观察值(因此,滚动泊松回归)。
等式中有几个预测变量,但我关心一个(称之为bx)。我的想法是查看 100 个模型的 bx 变化量。然后,我想用 Y 轴上的效果大小和 X 轴上的型号来绘制这 100 个点的估计值。
总之,我需要以下内容:
在 JAGS 中运行滚动泊松回归(通过 R2jags)。
得到估计值后,绘制它们。
请注意,我在 JAGS 中的泊松模型运行良好(下面是我的模型/数据的示例玩具)。但是,我无法实现“滚动”版本。
独立的例子
行。这就是模型。在model.fit
那里bx,我必须得到 100 次的系数。使用我当前的代码,我只能使用完整的数据集获得一次。但是,我需要在排除 df 的第一行的情况下再次获取它,然后在排除 df 的第二行的情况下第三次获取它,依此类推。然后,绘制所有这些bx。
现在,为了示例,我将创建一个简单的表,以表明我需要第一个元素(bx的系数)。
抱歉,我什至无法在这里提供尝试的解决方案。首先十分感谢。
r - 如何在 JAGS 回归模型中拟合具有和不具有交互作用的模型
我正在使用本教程来了解 JAGS 代码。在“具有附加分类预测变量的相同模型”部分中,它指出“该模型包括性别和体长之间的相互作用”。如何删除它以便没有交互?
这是 R 和 JAGS 中的完整设置和模型。
先上数据:
JAGS代码:
初始值并运行:
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
将呼叫更改jags
为jags.model(..., quiet = TRUE)
。
这种现象在其他地方也有提及 ,我只是想将其关闭以减少从大量不必要的打印到控制台的计算负载。
有什么建议么?
这是基于sourceforge 上相同问题的示例的长但可重复的示例。很抱歉这篇文章的长度,但我无法在任何较小的玩具模型中复制它。我不太关心这个特定的模型,但它合理地简单地复制了这个问题:
模型
数据
称呼
输出 (大量重复的警告被修剪 - 这些再次打印为函数输出而不是警告消息)
r - rjags 和 r2jags 之间的区别
我使用这两个包来进行贝叶斯分析,但有一些我不明白的区别:
首先包rjags
允许适应阶段,带有jags.model
函数,而包r2jags
没有这个阶段,并且带有函数jags
(或jags.parallel
)开始从后验分布中采样。自适应阶段是否包含在该功能中,或者包r2jags
不考虑它?
其次,在 中rjags
,我可以说这两段代码是相似的吗?
和
也就是有function的burn-in阶段update
也可以在coda.samples
function中做?谢谢你。
r - 分布 dbin JAGS 中的离散值参数检查失败
我正在尝试从Kery & Schaub 的著作“使用 WinBUGS 的贝叶斯人口分析”中的“第 11 章 - 使用综合人口模型从多种数据类型估计人口统计率、人口规模和投影矩阵”中重新创建综合人口模型。
我正在尝试使用 JAGS 而不是 WinBUGS,但我不断收到此错误消息:
"Failed check for discrete-valued parameters in distribution dbin"
这是数据和代码 - 知道我做错了什么吗?我怀疑这与 Ntot 不是一个整数有关,但我不确定。我R2jags
在 RStudio 中使用。
非常感谢