问题标签 [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 - R Jags 多项式错误“节点中的长度不匹配:setValue”
我正在尝试在 rjags 中运行多项式模型,但我不断收到此错误
这是创建错误的代码:
谢谢!
r - 使用 R 中的 JAGS 进行结果预测
[代码已更新,不再对应错误消息]
我试图了解 JAGS 如何预测结果值(对于混合马尔可夫模型)。m
我已经在包含结果和协变量的数据集上训练了模型x1
,x2
并且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 矩阵。
- JAGS
m
在第一个示例中如何预测(无固定参数)?它只是完全随机选择m
吗? - 如何包含早期获得的模型估计来模拟新的结果值?
型号为:
r - 如何在 Ubuntu 上安装 Rjags
我正在尝试在 Ubuntu 上安装 Rjags,我首先安装了这个
然后我试过了
我有以下错误
我不知道如何解决这个问题,谢谢你的帮助
Andrey Kolyadin,我已按照您的说明进行操作,安装后我得到了这个
然后我试图在 R 中调用库,但没有检测到它,不幸的是......
r - 在 JAGS 中为 R 拟合多元 dirlichet 模型
我正在尝试使用在 R 中实现的 JAGS 将多元模型拟合到物种组成数据。我有 3 个物种相对丰度的数据(在 [0,1] 之间有界),其中两个是相关的。这是生成类似数据的代码。
y
是我的三个因变量和y1
的数据框。我想为这些数据拟合一个仅截距的模型,使用 dirlichet 分布(beta 分布的多元扩展)来解释因变量之间的协方差。y2
y3
我有点卡住了。我可以使用 R 中的包使用 beta 分布对单个因变量进行编码runjags
,如下所示:
Mu 的问题是:如何使用 JAGS 中的 dirlichet 分布(在 R 中实现)将其扩展到多变量情况?如果我们能解释y
矩阵中的协方差,那就太好了。
r - 将参数向量乘以 JAGS 中的自变量矩阵
我正在使用 dirlichet 分布在 JAGS 中拟合多元模型。我有一个y
包含 3 个物种比例丰度的矩阵。
我有一个x
预测值矩阵,其中第一个是截距。
我指定了一个多元锯齿模型jags.model
:
我设置了 JAGS 数据对象jags.data
:
我使用 R 中的 runjags 包拟合 JAGS 模型。
我收到以下错误:
我在这里做错了什么?作为参考,通过预测组合拼出每个参数仍然很合适:
r - 在 jags / rjags / runjags 中修剪 mcmc.list
我将runjags
R 中模型的输出作为mcmc.list
. 下面是生成 3 个包含 1,000 个样本的链的代码。我想将所有 12 条链修剪到最后 400 个样本。我可以拉开链并将链输出矩阵保存在列表中,但它不再是一个mcmc.list
,我不知道如何将它变成一个 mcmc.list。
以下是一些用于运行runjags
模型并将输出转换为 a 的数据mcmc.list
:
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:
然后我设置了一个稍微不同的数据对象,并运行模型:
但是,返回的m0
和m1
参数与循环 beta 模型返回的参数完全不同。似乎所有参数都反映了提供的(平坦)先验分布,并且数据并未以任何方式限制参数。该模型无法捕捉mat
物种 1 之间的负相关关系和相对丰度。它甚至似乎根本没有限制数据:
值得注意的是,如果我拟合一个仅截距的 dirlichet 模型(没有mat
协变量),它可以很好地捕获相对丰度,但前提是我使用 log-link,而不是 beta 案例中使用的 logit-link(例如在这里)。扩展 log-link 案例并添加mat
协变量并不能解决问题。我在这里想念什么?
r - 三级嵌套混合效应模型
我正在尝试建模一个三级嵌套线性混合效应模型rjags
(通过三级:多个组内多个个体的多个观察)。组中有一组独特的个体。
中的等效模型lme4
是
或者
我的问题是:我该如何编程这个模型rjags
。
这是我对代码的尝试rjags
,它可以编译和执行,但单个级别的随机效应似乎受到了太多的惩罚——足以表明它的编码不正确。
并运行模型
在类似的示例中,可以通过创建交互变量并将其用作分组变量来解释数据的嵌套结构(与前面的组内唯一集的示例非常相似)。
这如何编码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 上相同问题的示例的长但可重复的示例。很抱歉这篇文章的长度,但我无法在任何较小的玩具模型中复制它。我不太关心这个特定的模型,但它合理地简单地复制了这个问题:
模型
数据
称呼
输出 (大量重复的警告被修剪 - 这些再次打印为函数输出而不是警告消息)