问题标签 [rjags]
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 - JAGS 模型中向量的指数化,R 中的贝叶斯分析
我有以下 JAGS 模型用于 R 中的贝叶斯模型。我正在尝试估计变量“R”的后验分布。除了 R 之外的所有变量都应该是确定性节点。每个变量 s_A、z_A、z_W 和 d 都是向量。而 tau_s 是一个 data.frame。因此,预计 TTD_aquifer 和 O2s_all 是每个 i 的向量。
当我在 jags.model() 中运行它时,我收到以下错误:RUNTIME ERROR: Invalid vector argument to exp。所以看起来我不能像在 R 中那样将向量输入到 exp() 中。作为确定性示例,TTD_aquifer 和 O2s_all 的方程在 R 中运行良好。我应该如何在 JAGS 中编写 TTD_aquifer 方程以避免 exp 问题?
r - 通过 JAGS 在 R 中约束贝叶斯多项式逻辑
我正在学习如何在 R 中拟合贝叶斯多项逻辑模型。这是我第一次尝试通过rjags
. 该代码用 MWE 说明了我正在尝试做的事情:
以下是两个问题,按重要性递减顺序排列:
问题 1:我想对由g[1]
to索引的估计参数施加一个约束,g[12]
使其pi1
位于某个任意上限和下限之间:例如,a=0.25
和b=0.75
。一种方法是使用拒绝采样,其中 rjags 将拒绝所有返回pi1
小于a
或大于 的样本b
。我怎样才能做到这一点?
问题 2:这个程序到底在做什么?例如,如果这个程序实现了一个 Gibbs 采样器,有没有办法在不使用 JAGS、STAN 或 BUGS 的情况下对其进行编码?类似于这个网站上的第一组代码?
r - JAGS 中非随机变量的“无效父值”错误
我正在使用模拟数据运行分层贝叶斯模型,只是为了查看贝叶斯模型是否可以检索我为生成模拟数据而设置的参数值。当我在 JAGS(使用 rjags)中运行贝叶斯模型时,它为我的一个名为comp.p的参数返回了“无效的父值”错误。但是,由于我的模型中的参数comp.p不是随机变量,而是简单地由确定性表达式定义,因此我无法完全理解非随机变量如何可能出现“无效父值”错误。
因此,我只是想知道是否有人遇到过同样的问题,或者可能知道在什么情况下会发生这种情况。
这是我的 JAGS 代码的一部分。由于我的代码很长,我只放了我认为相关的部分,但如果需要信息,我很乐意用更多代码进行更新。
其中所有参数都是非负实数值
我得到的错误信息是:
这对我来说看起来很奇怪,因为这意味着它在前 7 个循环中运行良好,但在第 8 个循环开始出现问题,即使它们基于相同的表达式。
任何建议将不胜感激!
r - 在 JAGS 中为 R 指定层次模型
我有一些相关变量的数据,这些y
变量可以建模为协变量x1
和x2
. y
和x1
在“地块”级别x2
观察, 和 在“地点”级别观察。情节嵌套在站点内,分层。y
以下是 100 个与相关协变量数据相关的观察结果。
我可以使用基本上复制 每个站点 10 次的站点级别观察的数据框架,将其建模为 jagsy
的函数x1
并且没有问题。x2
plot_data
x2
然而,我真正想做的是分层拟合模型,
y[i] ~ x1[i] + x2[j]
其中 , where[i]
表示地块级别的观察和[j]
索引站点。我怎样才能修改下面的 JAGS 代码来做到这一点?
jags - 错误:在 JAGS 中运行二项式 beta 模型的“切片器卡在具有无限密度的值”
我正在尝试在 JAGS 中运行二项式 beta 模型(请参见下面的示例代码)。我不断收到错误:错误:尝试运行 JAGS 模型时遇到以下错误:
我很难理解。我想也许初始条件是将 beta 分布发送到参数空间的无限区域,但经过一些调查后似乎并非如此。关于此错误的含义或如何调整代码以适应它的任何想法?
我把我的代码连同一些组成的示例数据放在下面。这是我可能期望在我的数据集中出现的那种数据。
r - 如何在 rjags 中使用混合建模建立贝叶斯线性回归?
我正在尝试使用 rjags 制作贝叶斯混合模型。这是为 19 个实验室进行的实验绘制剂量反应关系的尝试。因此,我制作的模型对所有实验室都有截距。我想使用混合建模对实验室效果进行聚类,但我的代码不起作用。这是我的模型的副本,后面跟着错误:-
我的错误是:-
jags.model(textConnection(mod_string2), data = d2) 中的错误:运行时错误:第 7 行的编译错误。尝试重新定义节点 a[3]
我究竟做错了什么?
r - rjags 模型中的逆伽马先验
如何指定 (0.5, 0.5) in 的 Inverse Gamma 先验rjags
?
我试过了
不确定这是指定的正确方法。
r - 使用 zoib 模型进行预测 (MCMC / RJags)
我正在使用 R 中的zoib包来构建零膨胀的 beta 回归模型。我正在寻找一种简单的方法来使用 zoib 生成的模型来计算新数据集的预测响应。“新数据集”是指未用于构建原始 zoib 模型的数据。
我知道我可以只取zoib模型参数并在 R 中手动编写一个函数来预测,但我想利用 zoib 模型是贝叶斯的事实,所以我可以获得可能响应值的后验分布。我的计划是使用后验分布来计算每个预测的置信区间。
因为 zoib 在RJags中使用 MCMC 方法,所以我研究了这两种解决方案:
在 RJags 中操作代码
第一个解决方案我不知道如何实现,因为 zoib 在内部运行 RJags,而且它运行的零膨胀模型非常复杂。我尝试了第二种解决方案,但它只是忽略了我附加“NA”响应值的数据行。
r - rjags 错误 mat[, "deviance"] 中的错误:下标越界
我正在使用包“jagsUI”在 R 中运行模型,模型开始运行一段时间,但随后我收到消息
“mat [,“deviance”] 中的错误:下标超出范围此外:警告消息:In order.params(samples,parameters.to.save,DIC,verbose = verbose):JAGS 没有监控偏差。“
在我认为这可能是 JAGS 的 DIC 模块的问题之前,我从未遇到过此错误,因此我确保在运行模型时加载该模块。关于可能导致这种情况的任何建议?
这是我的代码: