问题标签 [runjags]

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 - 将多级锯齿模型从宽格式转换为长格式

我有一个多级锯齿模型。我正在尝试将其从宽格式转换为长格式,如下所述:http: //jeromyanglim.tumblr.com/post/37361593128/jags-converting-multilevel-model-from-wide-to但是我的模型比这个例子,所以我在完成这项工作时遇到了一些麻烦。为了说明困难,我做了一个可重复的例子。第一个块创建数据并设置 jags 参数:

好的,所以下一部分是“宽格式”锯齿模型,它在对象中提供了正确的估计mcmcChain

因此,BO 输出接近生成数据的相关性。接下来是我对类似于上面链接中的解释的“长格式”模型的尝试。

所以结果与 的结果mcmcChain2不匹配mcmcChain,但我看不出哪里出错了。任何人都可以帮忙吗?谢谢。

0 投票
1 回答
1503 浏览

r - jags.model 中的错误

我是 R 和 JAGS 的新手,甚至没有编程经验。

我正在尝试为某些数据设置分层模型,但出现此错误:

在运行下面的代码结束时。我究竟做错了什么?我怎样才能避免错误?

0 投票
1 回答
51 浏览

r - runjags 的大型监视器列表

使用 runjags,我试图监控大量的值。监控列表的格式是一串值,在这种情况下,我要求监控 3、Y[14]、Y[15]、Y[3]。

假设我想监控数百个值。我可以创建这个字符串,但它只是返回到提示符“+”。并且无法运行。

可以创建并作为参数传入的字符串的大小是否有上限?

有没有更好的方法(非字符串)将此列表传递给 run.jags?

我能够让它运行的唯一方法是将字符串文字粘贴到函数调用中,包含字符串的变量不起作用。

较长的运行列表如下所示:

...删除了许多行

0 投票
1 回答
174 浏览

r - 从 R 中的 runjags 对象中删除链

我有一个 runjags 对象,它有两条混合得很好的链(链 1 和 3),一个没有混合得很好(链 2)。如何修剪 runjags 对象以仅包含链 1 和 3?

这是一个使用 runjags 生成 JAGS 模型的可重现示例(尽管这里的链混合得很好)。

实现此目的的一种方法是将 runjags 对象转换为 a mcmc.list,然后使用以下代码删除链:

但是,一旦在这个方向上转换,数据就不能放回 runjags 格式。我真的很想要一个将输出保持为 runjags 格式的解决方案,因为我当前的工作流程依赖于 runjags 摘要输出生成的格式。

0 投票
1 回答
1187 浏览

r - 在 JAGS 中为 R 指定层次模型

我有一些相关变量的数据,这些y变量可以建模为协变量x1x2. yx1在“地块”级别x2观察, 和 在“地点”级别观察。情节嵌套在站点内,分层。y以下是 100 个与相关协变量数据相关的观察结果。

我可以使用基本上复制 每个站点 10 次的站点级别观察的数据框架,将其建模为 jagsy的函数x1并且没有问题。x2plot_datax2

然而,我真正想做的是分层拟合模型, y[i] ~ x1[i] + x2[j]其中 , where[i]表示地块级别的观察和[j]索引站点。我怎样才能修改下面的 JAGS 代码来做到这一点?

0 投票
0 回答
384 浏览

bayesian - RJags“无法找到合适的采样器”

我正在尝试使用 Line-Transect Distance Sampling 和数据增强来模拟乌龟洞穴的大小。但是,我不断收到错误消息“无法找到合适的采样器”。

一些背景:洞穴的宽度可以从 4 厘米到 55 厘米不等,并且以各种概率和与景观中的观察者不同的距离被看到。为了实现收敛,我决定使用基于分类的模型。乌龟洞穴被放入 7 个箱中的一个,在给定箱中的概率来自 Dirichlet 分布。

在这部分代码中,增强的洞穴从模型中提取它们的大小:

一旦它们有了大小,就确定了看到洞穴 p[i] 的概率:

所有这些似乎都可以正常工作,但是在评估 y 时问题发生在这里:

我可以运行除 y 之外的每一行,并且模型运行良好。但是添加该行并包含我的 y 数据会引发“无法找到合适的采样器”错误。知道为什么吗?我需要包含这个变量,因为 y 表示我是否真的在调查期间找到了洞穴。

任何建议将不胜感激。

这是带有一些虚假数据的完整代码:

数据:

运行命令:

0 投票
1 回答
835 浏览

r - 使用 R 中的 JAGS 进行结果预测

[代码已更新,不再对应错误消息]

我试图了解 JAGS 如何预测结果值(对于混合马​​尔可夫模型)。m我已经在包含结果和协变量的数据集上训练了模型x1x2并且x3.

在不固定参数值的情况下预测结果在 R 中有效,但输出似乎完全随机:

正在编译 rjags 模型... 使用 rjags 方法调用仿真... 注:模型不需要适配 模型中烧录 4000 次迭代... |*************** ***********************************| 100% 运行模型 1 次迭代... 模拟完成 完成运行模拟

但是,一旦我尝试修复参数(即使用模型估计来预测结果m,我就会得到错误:

正在编译 rjags 模型...错误:使用 rjags 编译和适配模型时出现以下错误:rjags::jags.model(model, data = dataenv, n.chains = length(runjags.object$end.state) 中的错误, : RUNTIME ERROR: 第39行编译错误。beta1[2,1]是逻辑节点,无法观察

beta1在这种情况下是系数估计的 2x2 矩阵。

  1. JAGSm在第一个示例中如何预测(无固定参数)?它只是完全随机选择m吗?
  2. 如何包含早期获得的模型估计来模拟新的结果值?

型号为:

0 投票
1 回答
240 浏览

r - 在 JAGS 中为 R 拟合多元 dirlichet 模型

我正在尝试使用在 R 中实现的 JAGS 将多元模型拟合到物种组成数据。我有 3 个物种相对丰度的数据(在 [0,1] 之间有界),其中两个是相关的。这是生成类似数据的代码。

y是我的三个因变量和y1的数据框。我想为这些数据拟合一个仅截距的模型,使用 dirlichet 分布(beta 分布的多元扩展)来解释因变量之间的协方差。y2y3

我有点卡住了。我可以使用 R 中的包使用 beta 分布对单个因变量进行编码runjags,如下所示:

Mu 的问题是:如何使用 JAGS 中的 dirlichet 分布(在 R 中实现)将其扩展到多变量情况?如果我们能解释y矩阵中的协方差,那就太好了。

0 投票
1 回答
1409 浏览

r - 将参数向量乘以 JAGS 中的自变量矩阵

我正在使用 dirlichet 分布在 JAGS 中拟合多元模型。我有一个y包含 3 个物种比例丰度的矩阵。

我有一个x预测值矩阵,其中第一个是截距。

我指定了一个多元锯齿模型jags.model

我设置了 JAGS 数据对象jags.data

我使用 R 中的 runjags 包拟合 JAGS 模型。

我收到以下错误:

我在这里做错了什么?作为参考,通过预测组合拼出每个参数仍然很合适:

0 投票
1 回答
254 浏览

r - 在 jags / rjags / runjags 中修剪 mcmc.list

我将runjagsR 中模型的输出作为mcmc.list. 下面是生成 3 个包含 1,000 个样本的链的代码。我想将所有 12 条链修剪到最后 400 个样本。我可以拉开链并将链输出矩阵保存在列表中,但它不再是一个mcmc.list,我不知道如何将它变成一个 mcmc.list。

以下是一些用于运行runjags模型并将输出转换为 a 的数据mcmc.list