问题标签 [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 - JAGS:使用单元矩阵作为排除 NA 的数据输入
以下是我将使用的模型和示例数据。我需要设置先验以生成数字的数据中有一些 NA,但这种方式可能会导致一些错误。我想知道我是否可以让 JAGS 跳过 NA,就像拥有一个具有不同行和列的矩阵一样。
NA 在ex_expectancy
和中ex_shock
。
rjags - 如何在 rjags 中为非负因子载荷指定尖峰和平板先验
我正在尝试使用适用于非负因子载荷的尖峰板模型(https://jmlr.org/papers/volume15/lan14a/lan14a.pdf,eq 10),这是我的代码:
但是,它给了我错误消息,如果我指定它会起作用:
经过一番搜索,似乎错误是我无法为 指定两个随机部分的总和psi_raw[m,k]
,但如果我指定=
而不是 ,那将是确定性的~
,这不是我想要的。我真的很感激任何想法或想法!先感谢您!
(我在这里也问了同样的问题:https ://sourceforge.net/p/mcmc-jags/discussion/610037/thread/2494a8f6fc/ )
r - 后验预测分布 RJags
我已经拟合了以下模型,其中 Y 和 var1,...,vark 是已知变量:
Y ~ 二项式(P,试验)
试验〜制服(0,1e3)
logit(P) = b_1 + b_2*var1 + ... + b_k*vark
b_1, ..., bk ~ 正常(mean=0, sd=100)
错误的代码是:
我的目标是使用逻辑回归系数的后验分布(即 b_1,...,b_4)来预测不同数据集上的 P(var1,...,var3 的新值)。为此,我需要获得预测后验分布(PPD),但我无法弄清楚如何做到这一点。rstanarm::posterior_predict()
RJgas有类似的命令吗?如果没有,有谁知道在这种情况下如何获得 PPD?
jags - 如何检查 JAGS 中的收敛性
我已经在 JAGS 中为数百个人的时间序列估计了一个巨大而复杂的时变层次模型。我估计个人的时变参数导致每人 80 个参数。参数是遵循多元正态分布的随机效应。当我尝试检查单个参数的收敛性时coda::gelman.diag(samples)
,我的计算机遇到内存问题并且 R 在 12 小时后崩溃。是否足以检查多元正态分布的均值和精度的收敛性,还是有必要检查个体参数的收敛性(遵循上述分布)?这里的约定是什么?
r - 运行时错误:索引超出范围获取 theta 的子集
我有一个看起来像这样的数据框:
我正在使用 jags 执行 MCMC 算法,但我总是得到错误:
这是源文件:
这是我从原始源文件中使用的代码:
回溯错误来自原始源文件中的行
有人可以帮我弄清楚为什么会出现错误:
另外,我在数据文件中将 s 变量更改为数字,但我没有在这里显示。将其保留为字符也会产生另一个错误。
r - RJAGS - 如何在 BUGS 文件中传递更复杂的函数
我的目标是基本上将此代码迁移到 R。所有预处理 wrt 数据集都已经完成,但是现在我被困在编写“模型”文件中。作为第一次尝试,为了清楚起见,我用 R 语言编写了如下所示的代码。
鉴于意大利国家的每日报告数据,我想要做的是运行 MCMC 来估计参数 R_t。已采取的主要步骤是:
- 从高斯 RW 分布中采样一个数组参数,即 log(R_t)
- 计算一些数量,这些数量是该采样参数的函数,即感染数量。这种依赖关系非常简单,因为它是线性代数:
- 将我刚刚计算的数组与延迟分布(开始+报告延迟)进行卷积,最后通过曝光变量重新调整它:
- 通过对上述 log(R_t) 参数进行采样,计算出与观察到某组数据(即每日确诊病例)的概率成正比的可能性,从中计算变量正数。
最后,我们来到我的BUGS模型文件:
其中gt_to_convolution
是一个常数矩阵,tot_dates
是一个常数值,exposure
是一个常数数组。
尝试通过以下方式编译它时:
它引发以下引发错误:
因此,我什至无法对其进行一点调试,即使我很确定总体上存在一些问题,但我无法弄清楚是什么以及为什么。
在这一点上,我认为最好的选择是根据上面的可能性自己实现一个 Metropolis 算法,但显然,我更喜欢使用已经测试过的框架,即 BUGS/JAGS,这就是为什么我我正在寻求帮助。
r - 当向 Jags 模型提供数据时显示节点中的错误
我无法使用 Rjags 和 runjags复制此纸模型http://dx.doi.org/10.1080/00031305.2017.1328374 。这是我正在使用的模型
我用来提供模型的数据库位于文章链接的补充部分(在顶部)。这是我将数据提供给模型的方式
而且我总是收到下一个错误“update.jags(object,n.iter,...)中的错误:节点生存错误[1]无法计算日志密度”我迷路了,我不知道为什么发生错误任何帮助将不胜感激。
jags - 有没有办法在 rjags 中保存每 100 次迭代的输出?
我希望每 100 次迭代打印一次结果(检查后验分布),就像我们在 R 中调试时通常做的那样。
我在 R 中使用 JAGS 4.3.0。
如果我可以提供任何其他信息,请告诉我。我非常感谢您的建议和帮助!