R chol2inv() 方法给我奇怪的结果

The R chol2inv() method gives me strange results

所以我正在尝试反转一个大的 (449x449) 协方差矩阵,该矩阵因此是对称且正定的。 (我想要做的是将这个矩阵反转为 Mauna Loa CO2 数据集的高斯过程拟合的一部分。)

这个反演很长,所以我想用 chol2inv 而不是求解。 但是 chol2inv 方法给了我一个非常奇怪的结果:一个非常接近 0 的矩阵(它的总和等于 10^(-13))。

为什么 chol2inv 会给我这个?

听起来你用错了chol2inv。它采用 上三角 Cholesky 因子 而不是协方差矩阵作为输入。所以如果 A 是你的协方差矩阵,你想要

chol2inv(chol(A))

不是

chol2inv(A)

才发现很久以前这个问题已经回答了两次

  • Comparing matrix inversions in R - what is wrong with the Cholesky method?(2014 年)
  • matrix inversion R(2013 年)