问题标签 [jags]

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

r - strange jags.parallel error / avoiding lazy evaluation in function call

I have a function call (to jags.parallel) that works when given a numerical argument like n.iter = 100 but fails when the argument uses a variable value, n.iter = n.iter. This looks like it might be a bug in jags.parallel

A minimal reproducible example of the error:

Then this works:

But this does not:

Giving the error:

I gather this has something to do with not exporting the variable n.iter to the cluster, but it is not clear what parallel engine jags.parallel is using. Is there any way to trick R to evaluate n.iter before passing it to the function?

0 投票
1 回答
5554 浏览

r - 向量中的错误(“列表”,n.chains):无效的“长度”参数

我正在使用 R2jags 和 CODA 为我的 MCMC 链生成一些诊断统计信息,但我遇到了麻烦。我想按如下方式运行 MCMC:

错误如下:

我正在使用 RStudio 0.97.551 和 R 版本 3.0.0 (2013-04-03)。

我很感激任何帮助!

这是我的 R 脚本:

0 投票
1 回答
3933 浏览

r - jags.parallel - get(name, envir = envir) 中的错误:第一个参数无效

使用时jags.parallel,我收到以下错误:

使用jags函数的相同调用运行正常。我只找到了一个关于这个主题的线程,但只有一个推测性的建议在这里不适用也不行。

可重现的代码,取自生态学家 WinBUGS 简介,见第 14.1 章(稍作修改):

0 投票
2 回答
697 浏览

r - write.model() 的 rJAGS 版本?

R2WinBUGS 包有一个名为write.model(). R 包 rjags 没有我知道的这种功能。write.model创建一个临时文本文件,WinBUGS 可以将其作为模型读取。

我知道我可以进入write.model控制台查看函数,但是这个函数似乎调用了我以前从未见过的函数,并且无法在其中搜索help()(例如,replaceScientificNotationR显然是一个函数)。

我看到这篇文章描述了一些这样做的方法,但如果可能的话,我宁愿不必使用引号(只是为了保持我的语法突出显示),并且评论建议“复制 write.model 函数”应该可行。

有人做过吗?

0 投票
0 回答
724 浏览

r - R中循环JAGS模型的问题

我正在尝试使用 rjags 在循环中运行 7 个 JAGS 模型,但无法让循环运行。

首先我创建了七个模型,(模型 txt 文件已经创建)。JAGS 代码似乎很好,我认为问题在于我对 R 向量的缺乏经验。

这部分运行良好并创建了七个模型,然后是老化步骤:

这部分得到错误:对象[[name,exact = TRUE]]中的错误:下标超出范围。但是,如果我只是输入:

这很好用。为什么更新功能无法识别循环粘贴?下一行还说:

这给出了错误消息:模型$ iter 中的错误:$ 运算符对原子向量无效

但是,如果我将向量运行为:

它工作正常,真令人沮丧!

0 投票
2 回答
226 浏览

r - 如何在 JAGS/BUGS 中的每个新时间点生成更新的后验

我很难找到这方面的教程/示例,所以想问:我有一个变量 Xi 被测量了 i 次,我想表明,随着每次额外的测量,X 分布的预测变得更加紧密。当然,我可以继续以 1:2 1:3 1:4 等重新运行模型。但这很乏味。我希望有一些我不知道的逐步编码。

任何人都知道一种方法来指定模型以根据当时可用的数据在每个时间点估计 pred.x 吗?

0 投票
3 回答
3134 浏览

r - 如何使用 foreach 在 Windows 上实现并行锯齿?

我想在我的 4 核 Windows 计算机上并行运行 jags 模型,但无法弄清楚为什么我的模型无法运行。我已经广泛搜索了网络,包括这些帖子:

http://andrewgelman.com/2011/07/23/parallel-jags-rngs/

http://users.soe.ucsc.edu/~draper/eBay-Google-2013-parallel-rjags-example.txt

当我用 运行一个简单的例子(见下面的代码)时%do%,模型运行良好(当然是连续的)。当我使用%dopar%时,我收到错误: Error in { : task 1 failed - "Symbol table is empty"


更多细节:

该问题发生在没有管理员权限的 Windows 7 计算机上,但没有出现在具有管理员权限的计算机上。Rgui 和 Rterm 以及打包为 3-11 的新 rjags 会出现问题。错误消息出现在函数内jags.model

该问题似乎源于将文件写入和读取到临时目录的不匹配。当我启动 R 时,它会自动创建一个临时文件夹。当我关闭 R 时,这个文件夹会被自动删除,除非它包含文件。

例如,当我启动 R 时,它会创建这个文件夹: C:\Users\jesse whittington\AppData\Local\Temp\RtmpoBe1gw.

当我运行 rjags 模型时

没有文件写入此临时目录。

当我使用 foreach 和 串行运行 3 个链时%do%,将 3 个临时文件写入此文件夹。这些文件大小为 1 kb,当我使用文本编辑器打开时,它们显示为空白。

当我与 foreach 并行运行 3 个链时%dopar%,将 3 个临时文件写入文件夹..Temp\RtmpoBe1gw。outfile 中的错误消息表明该函数正在不同的临时目录中查找不同的文件。当我包含一行来创建临时文件目录和名称时,我看到创建了 3 个新的临时文件夹(它们后来被删除stopCluster)。 jags.model在这 3 个文件夹中查找临时文件并失败,因为其中没有任何内容。因此,我怀疑临时文件被写入一个临时目录(与父 R 会话相关联),然后在尝试在 foreach 中创建的 3 个临时目录中打开不同的 tmpfile 时失败。

来自 Out_messages.txt

文件夹RtmpQbPAVC已创建,但文件file112c394b4eef不存在。

0 投票
0 回答
339 浏览

winbugs - JAGS 中的 2 个模型——一种“非平凡”的案例

我正在尝试在 JAGS 中构建 GARCH(1,1) 模型,为简单起见,我们假设均值方程遵循 AR(1) 过程。我正在尝试构建 1 个 JAGS 模型,该模型将允许加入 AR(1) 和 GARCH(1,1) 进程。

目前,我只能通过构建 2 个单独的 JAGS 模型来获得结果(为了演示的清晰性,它们被简化了)。第一个 JAGS 模型估计 AR(1) 过程的参数:

有了参数的估计,我生成了 AR(1) 过程的数据,获得残差和方差(假设有一些窗口):

下一个块是 JAGS 中的 GARCH(1,1) 散文:

如何加入两个相互依赖的进程?

0 投票
2 回答
1766 浏览

r - 如何将一些 R 数据写入 .csv 文件?

我正在尝试将 JAGS 中的一些采样输出值导出为 .csv 格式,以便在 R 中执行进一步分析,但遇到了一些麻烦。

0 投票
0 回答
836 浏览

bayesian - 如何加快贝叶斯排序中的rjags模型训练?

全部,

我正在使用 rjags 进行贝叶斯建模。但是,当观察数大于 1000 时,图形尺寸太大。

更具体地说,我正在做一个贝叶斯排名问题。传统上,一次观察意味着一对 X[i, 1:N]-Y[i] 对,其中 X[i, 1:N] 表示第 i 个项目由 N 大小的预测向量表示,而 Y[i ] 是一个响应。目标是最小化预测值的逐点误差,例如最小二乘误差。

排名问题是不同的。由于我们更关心顺序,所以我们使用成对的 1-0 指标来表示 Y[i] 和 Y[j] 之间的顺序,例如,当 Y[i]>Y[j] 时,I(i ,j)=1; 否则 I(i,j)=0。我们将此 1-0 指标视为观察结果。因此,假设我们有 K 项:Y[1:K],指标的数量为 0.5*K*(K-1)。因此,当 K 从 500 增加到 5000 时,观察的数量非常大,即从 500^2 增加到 5000^2。rjags 模型的图形尺寸也很大,例如图形尺寸 > 500,000。并且对数后验将非常小。

并且需要很长时间才能完成训练。我认为消耗的时间是> 40小时。我做进一步的实验是不切实际的。因此,您有什么想法可以加快 rjags 的速度。我听说 RStan 比 Rjags 快。有哪位有类似经历的?