协方差矩阵的计算倒数导致了“Inf”。

时间:2014-07-22 01:21:38

标签: matlab matrix distance

我在Matlab中为我的一个程序计算了协方差矩阵。然后最终我想计算马哈拉诺比斯距离,这将需要相反的反转。

但是我的协方差矩阵中的条目非常小,很多都是零。

尝试查找反向时得到的消息是:

  

警告:Matrix的工作精度是单数。

这一切的含义是什么?我该怎么办?请建议我。

问候

普拉香特

1 个答案:

答案 0 :(得分:1)

如果矩阵为singular,则表示它是不可逆的。行列式为0,这意味着矩阵中至少有2行是线性相关的,例如[0.5,0.5;0.5,0.5][1,0;0,0]。但是,您确定协方差矩阵是否正确计算?协方差矩阵不太可能具有2个线性相关的行,因为一组样本的协方差应该与其自身具有高协方差。但是,两个几乎相似的过程可能会导致此问题。尝试:

a = randn(1000,1);
b = randn(1000,1);
covAB = cov(a,b);
covAA = cov(a,a);
covAB^-1
covAA^-1