R中的MCMC包

机器算法验证 r 贝叶斯 马尔可夫链蒙特卡罗 事先的
2022-03-31 11:38:43

是否有 MCMC 的 R 包可以

  • 接受我自定义的(对数)似然函数(可以在 中完成MCMCpack

  • 让用户定义对提案的约束(比如只接受 [0,1] 区间的值,或者只接受正值(可能在rSTAN

我已经在 R 代码中定义了我的模型,但显然 R 中没有 MCMC 包可以处理对参数的约束rstan,我不想在rstan.

更新:

我发现这个LaplacesDemon包非常适合我的需要,但是这个包显然被遗弃了:(

3个回答

实现 t-walk 算法的t-walk 包允许您定义对(对数)似然函数的支持,如果这是您所追求的。

Supp a function that takes a vector of length=dim and returns TRUE if the vector is within the support of the objective and FALSE otherwise. Supp is *always* called right before Obj.

它似乎也是一种非常通用的采样算法。从包装:

t-walk 是一种“用于连续分布的通用采样算法”,用于从许多目标函数中采样(特别适用于使用非标准模型的后验分布,这会使通用算法和软件的使用变得困难);它是一个不需要调整的 MCMC。

R包在这里:www.cimat.mx/~jac/twalk/

您还应该查看 Mamba,一个新的 MCMC 包,但它不在 R 中,而是在 julia 中:

https://github.com/brian-j-smith/Mamba.jl

它依赖于 julia Distributions 包,它允许您创建自己的发行版

包文档和示例: http: //mambajl.readthedocs.org/en/latest/

Stan 允许将用户定义的函数(包括可能性)作为模型“函数”块的一部分。这些可能不如语言的内置可能性那么快(并且它们不会自动删除常数项),但它们仍然会相当快。编写函数的具体细节可以在 Stan 手册中找到,示例可以在stan-users 邮件列表中找到。