我正在尝试生成协方差矩阵的逆。到目前为止,我有:
int minPos = a.length - 1;
然后出现问题:
A<- c(1, 3, 5, 7)
B<- c(8, 4, 1, 4)
C<- c(9, 2, 4, 6)
D<- c(1, 4, 2, 0)
M<- matrix(c(A, B, C, D), 4)
> M
[,1] [,2] [,3] [,4]
[1,] 1 8 9 1
[2,] 3 4 2 4
[3,] 5 1 4 2
[4,] 7 4 6 0
>
> M<- cov(M)
> M
[,1] [,2] [,3] [,4]
[1,] 6.666667 -5.00 -2.333333 -1.666667
[2,] -5.000000 8.25 6.250000 -1.250000
[3,] -2.333333 6.25 8.916667 -3.916667
[4,] -1.666667 -1.25 -3.916667 2.916667
我在哪里做错了什么?
背景是我想应用mahalanobis distance,并且必须绘制协方差矩阵的逆矩阵。 允许协方差矩阵具有负数条目,那么逆变量呢?
答案 0 :(得分:2)
你的矩阵不可逆,因为它是singular。有几种方法可以检查这一点,但最简单的方法之一是检查行列式是否为零。发生这种情况时,矩阵没有反转。
将奇异矩阵想象为零,并考虑将矩阵的逆矩阵除以矩阵。你不能除以零,同样你也不能采用&#34;零&#34;基质