问题标签 [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.

0 投票
0 回答
657 浏览

r - R Jags 多项式错误“节点中的长度不匹配:setValue”

我正在尝试在 rjags 中运行多项式模型,但我不断收到此错误

这是创建错误的代码:

谢谢!

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

r - 如何在 Ubuntu 上安装 Rjags

我正在尝试在 Ubuntu 上安装 Rjags,我首先安装了这个

然后我试过了

我有以下错误

我不知道如何解决这个问题,谢谢你的帮助

Andrey Kolyadin,我已按照您的说明进行操作,安装后我得到了这个

然后我试图在 R 中调用库,但没有检测到它,不幸的是......

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 投票
0 回答
462 浏览

r - 估计 zoib beta 回归模型的 DIC

我有下面的数据和代码,希望您能帮助估计DIC(或AIC)β回归模型zoib

按照包的小插图和作者发表的文章,我实现了下面的代码来获取DIC但我得到一个错误:

我用文档中的一个对象运行了相同的代码coda.samples {rjags}并且它有效:

然后我检查了上面每个对象的类LINEsample2re.md, 和LINE.out,输出是:

这表明我的错误可能是因为该对象sample2不是 class jags

因此,我将不胜感激有关如何获得sample2可以接受的形式的任何想法dic.samples ,以便能够获得DIC(或AIC)我的rd.md模型。

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

0 投票
0 回答
96 浏览

r - 难以将 dirlichet 模型拟合到 JAGS 中的模拟数据,在 R 中实现(测试版作品)

可以说我有一些关于 3 个物种的相对丰度的数据。物种 1 与年平均温度 ( mat) 呈负相关。相对丰度数据存储在矩阵中r.spp.y

我可以在 JAGS 中一次对每个物种进行 beta 回归,以表明mat物种 1 的相对丰度之间存在负相关,但mat使用 JAGS 时,物种 2 和 3 的相对丰度之间存在正相关:

这表明每个都有一个截距值和一些关系mat。具体来说,物种 1 与 物种 2 和物种 3 呈负相关,mat而物种 2 和 3 表现出正相关,mat这反映在m1参数值中。

我想使用多元模型同时拟合所有丰度。这可以使用 dirlichet 分布来完成,它是 beta 分布的多元泛化。为此,我在 JAGS 中设置了一个 dirlichet 模型,类似于上面的 beta:

然后我设置了一个稍微不同的数据对象,并运行模型:

但是,返回的m0m1参数与循环 beta 模型返回的参数完全不同。似乎所有参数都反映了提供的(平坦)先验分布,并且数据并未以任何方式限制参数。该模型无法捕捉mat物种 1 之间的负相关关系和相对丰度。它甚至似乎根本没有限制数据:

值得注意的是,如果我拟合一个仅截距的 dirlichet 模型(没有mat协变量),它可以很好地捕获相对丰度,但前提是我使用 log-link,而不是 beta 案例中使用的 logit-link(例如在这里)。扩展 log-link 案例并添加mat协变量并不能解决问题。我在这里想念什么?

0 投票
1 回答
1935 浏览

r - 三级嵌套混合效应模型

我正在尝试建模一个三级嵌套线性混合效应模型rjags (通过三级:多个组内多个个体的多个观察)。组中有一组独特的个体。

中的等效模型lme4

或者

我的问题是:我该如何编程这个模型rjags


这是我对代码的尝试rjags,它可以编译和执行,但单个级别的随机效应似乎受到了太多的惩罚——足以表明它的编码不正确。

并运行模型



在类似的示例中,可以通过创建交互变量并将其用作分组变量来解释数据的嵌套结构(与前面的组内唯一集的示例非常相似)。

这如何编码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 上相同问题的示例的长但可重复的示例。很抱歉这篇文章的长度,但我无法在任何较小的玩具模型中复制它。我不太关心这个特定的模型,但它合理地简单地复制了这个问题:

模型

数据

称呼

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