协方差矩阵提案分布

机器算法验证 马尔可夫链蒙特卡罗 分层贝叶斯 大都会黑斯廷斯
2022-03-27 13:28:30

在分层模型的 MCMC 实现中,具有正态随机效应和协方差矩阵的 Wishart 先验,通常使用 Gibbs 采样。

然而,如果我们改变随机效应的分布(例如,到 Student's-t 或另一个),共轭就会丢失。在这种情况下,对于 Metropolis-Hastings 算法中随机效应的协方差矩阵,什么是合适的(即容易调整的)建议分布,目标接受率应该是多少,还是 0.234?

在此先感谢您的任何指点。

4个回答

好吧,如果您正在寻找“任何指针”...

通常使用(缩放)(逆)Wishart 分布,因为它与多元似然函数共轭,从而简化了 Gibbs 抽样。

使用哈密顿蒙特卡罗抽样的Stan中,对多元先验没有限制。推荐的方法是Barnard、McCulloch 和 Meng提出的分离策略:

Σ=diag_matrix(σ)Ωdiag_matrix(σ)
在哪里σ是 std devs 的向量,并且Ω是相关矩阵。

的组成部分σ可以给出任何合理的先验。至于Ω,推荐的先验是

ΩLKJcorr(ν)
其中“LKJ”表示Lewandowski、Kurowicka 和 Joe作为ν增加,先验越来越集中在单位相关矩阵周围,在ν=1LKJ 相关分布简化为相关矩阵上的恒等分布。因此,LKJ 先验可用于控制参数之间的预期相关量。

但是,我还没有(还)尝试过随机效应的非正态分布,所以我希望我没有错过重点 ;-)

我个人使用 Wishart 提案。例如,如果我想要一个提案Σ大约Σ, 我用:

ΣW(Σ/a,a),
在哪里a是一个很大的数字,比如 1000。有了这个技巧,你会得到E[Σ]=Σ你可以调整方差a. 如果我没记错的话,建议的比例(p×p)矩阵有一个封闭的形式:
q(ΣΣ)q(ΣΣ)=(|Σ||Σ|)a(p1)/2e[tr(Σ1Σ)tr(Σ1Σ)]a/2

众所周知,如果使用非高斯分布,模型的共轭性就会丢失,参见:

http://www.utstat.toronto.edu/wordpress/WSFiles/technicalreports/0610.pdf

然后,您需要使用其他 MCMC 方法,例如 Gibbs 采样中的 Metropolis 或它的一些自适应版本。幸运的是,有一个 R 包可以做到这一点:

http://cran.r-project.org/web/packages/spBayes/index.html

推荐的接受率为 0.44,但当然,这个数字背后有一些假设,与 0.234 的情况类似。

你是迪米特里斯·里佐普洛斯吗?

如果您正确定义了对数后验,则可以使用任何建议。您只需要使用一些技巧来实现它并正确定义后部的支撑,请参阅:

如何找到后验分布的支持来应用 Metropolis-Hastings MCMC 算法?

有大量示例可以将高斯提议用于截断后验。这只是一个实现技巧。同样,您问的是一个没有通用解决方案的问题。有些提案甚至对相同的模型和不同的数据集有不同的表现。

祝你好运。