问题标签 [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.
r - 我可以用初始值告诉 JAGS 在失败后自动重新启动吗?
我的模型因以下错误而失败:
我做了一些诊断,发现链 3 中的初始值存在问题。但是,这种情况有时会发生。在这种情况下,有没有办法告诉run.jags
JAGS 自己重新尝试并重新运行模型?例如,告诉他再做 N 次尝试正确初始化模型。那将是非常合乎逻辑的事情,而不仅仅是失败。还是我必须手动做一些tryCatch
事情?
PS:请注意,我目前正在使用run.jags
从 R 运行 JAGS。
macos - Homebrew、Anaconda 和其他女孩和男孩
呃!有几篇文章讨论了如何应对:
即,一些警告。参见,例如:
Brew Doctor - “警告:在 /usr/local/include 中找到未酿造的头文件”?
...
就我而言(我刚开始在我的 Mac OSX 上使用 Homebrew),总而言之,它说:
- 意外的 dylib(在 /usr/local/lib/ 中)
- 意外的头文件(在 /usr/local/include/c++/4.9.0/、/usr/local/include/c++/5.0.0/、/usr/local/include/JAGS/、/usr/local/include/ ntfs/、/usr/local/include/ntfs-3g/ 等)
- 未编译的 .la 文件(在 /usr/local/lib/ 中)
- 未酿造的 .pc 文件(在 /usr/local/lib/pkgconfig/ 中),实际上可能列出未酿造的东西:
- /usr/local/lib/pkgconfig/fuse-ext2.pc
- /usr/local/lib/pkgconfig/jags.pc
- /usr/local/lib/pkgconfig/libntfs-3g.pc
- /usr/local/lib/pkgconfig/libublio.pc
- /usr/local/lib/pkgconfig/tcl.pc
- /usr/local/lib/pkgconfig/tk.pc
- 和一些静态库(在 /usr/local/lib/ 中)
因此,我的问题是,再次,如何反应?尤其是,Anaconda 和 Homebrew 的“碰撞”有多令人担忧?另外,我担心对 JAGS 的影响(它不像 Anaconda 那样广泛使用,但仍然......)。
所有系统的观点都受到更多的欢迎!
非常感谢,PM
r - 如何指定 rjags 以运行具有多个条件的分层模型
我正在尝试使用 rjags 运行贝叶斯回归模型,并且我的数据有 4 个相关条件。该模型在跨条件折叠时运行良好,但是我不明白在哪里/如何指定我希望这个模型为每个条件单独运行,但仍然给我一个coda.samples
允许我比较 Beta 值的输出(我想要 4 Beta0 和 4 个 Beta1 值,每个条件一个)。这是我的模型:
其中主题和项目被称为获得固定的效果偏移,并且“rt”是一个连续的因变量。条件以 1:4 的向量“条件”编码。
我假设我在某个地方需要另一个 for 循环,但我不确定在哪里。
r - 试图从大 mcmc.list 中提取内存已耗尽
我在尝试从 big 中提取单个变量时遇到问题mcmc.list
:
mcmc.listoutRJ$mcmc
很大,实际上是 442 MB(包含 3 个链的数据,用于 960 个变量,每个 20000 次迭代):
但是单个变量应该只有 234 kB!但是提取它似乎需要更多的内存!
如何在不需要太多内存的情况下从大 mcmc.list 中提取?
mcmc - Jags/Bugs 领先一步预测
想象一个简单的增长模型。我如何获得领先一步的预测?
r - rjags 编译错误。无法评估计数器 i 的上索引
我看了一个类似的问题,但它对我没有帮助。这是我的JAGS
代码(包含在文本文件 simulazione_vivek.txt 中):
这是我的R
代码:
但我收到此错误消息:
请帮忙。
r - 为什么 JAGS 需要至少两条链来计算 DIC?
我试图了解 JAGS 如何计算偏差和偏差信息标准(DIC)。
如果您只有一个链,R中的dic.samples
函数会引发错误。rjags
计算DIC的公式涉及计算模型中参数的预期偏差和预期值处的偏差。我想这样的估计可以从单个链中获得(尽管有时可能存在只能通过多个链来识别的收敛问题)。
该手册指出:
pD 监视器通过比较跨多个链 [1] 的偏差来估计观察到的随机节点对参数有效数量 (pD) [3] 的贡献。它是通过使用选项 type(pD) 创建的。如果模型只有一个链,则无法定义 pD 监视器。
所以我的问题是:
- 为什么 JAGS 需要至少两条链来计算 DIC?
- 或者更具体地说,为什么 pD 监视器需要两条链?
jags - 为什么 JAGS 中手动编程的偏差和 DIC 计算的偏差不同?
我目前正在 JAGS 中安装一组 16 个模型。我在 jags 中有一个函数,它计算结果变量的每个值的概率的对数,另一个函数采用 -2 * 这些对数概率的总和。即,我有一个自定义公式来计算每个模型的偏差。我想检查我对偏差的定义是否与 JAGS 使用的相同。
在运行 5000 次老化和 5000 次迭代后,我得到了以下结果:
基本上,对于某些模型,偏差很接近但并不完全相同,而对于其他模型(例如,7、13、16)则有很大不同。
为什么使用我的自定义公式计算的偏差与使用基于 DIC 的自动方法获得的偏差不同?
r - 具有收敛测试的并行 RJAGS
我正在使用 RJAGS 修改现有模型。我想并行运行链,偶尔检查 Gelman-Rubin 收敛诊断,看看我是否需要继续运行。问题是,如果我需要根据诊断值恢复运行,重新编译的链会从第一个初始化的先前值重新启动,而不是从参数空间中链停止的位置重新启动。如果我不重新编译模型,RJAGS 会抱怨。有没有办法在链条停止时存储它们的位置,以便我可以从中断的地方重新初始化?这里我将举一个非常简化的例子。
例子1.bug:
并行测试.R:
在输出中,我看到:
我知道应该有> 5000次迭代。(交叉发布到 stats.stackexchange.com,这可能是更合适的地点)
r - 通过 R 在 WinBUGS 中设置.seed
是否可以像in一样设置种子WinBUGS
来重现参数估计?set.seed
R