MCMC:由于数值错误导致的无效协方差矩阵

机器算法验证 马尔可夫链蒙特卡罗 多元正态分布
2022-03-29 23:34:15

在吉布斯采样期间,我需要对多元高斯分布进行采样。但是rmvnorm有时会返回错误,因为协方差矩阵不确定,我发现它的行列式是,比如说,1020. 我怀疑这是由数字错误引起的。我应该怎么做才能处理这个?

1个回答

您可以在对角线上添加一个小 epsilon,例如1e8或类似的,协方差矩阵。

所以,假设你的协方差矩阵是Σ. 当你做的事情涉及inv(Σ),或类似的,它不能很好地工作,因为你的Σ不是肯定的。因此,您可以更新您的Σ如下:

Σ=Σ+108I

现在你的新Σ矩阵是正定的,你的数值计算会更顺利:-)

我过去曾使用过这种技术,它对我来说效果很好。