2
I’ve been trying to build a distribution map for certain species using distance methods. I’m having difficulty getting results via Mahalanobis Distance. The package that has this function is the dismo
, which is expressed as mahal
.
When entering the data the console returns me that:
Error in solve.default(var(x)) :
sistema é computacionalmente singular: condição recíproca número = 3.14572e-20
Searching, I found information that the error occurs when the matrix cannot be reversed, and/or when the covariance value is close to zero. However, I cannot find a way to solve this problem. I tried to understand the problem, and I wonder if there are mathematical manipulations to circumvent the error?
Thanks for the help.
Follow a sample of the data.
head na matrix:
alt bio1 bio5 bio6 bio7 bio9 bio10 bio12 bio18 bio19 footprint luzworld
1 51 275 395 178 217 284 326 40 4 2 14.00000 0
2 15 277 396 181 215 285 327 42 4 2 14.00000 0
3 136 270 390 172 218 280 321 39 5 2 12.04751 0
4 94 273 393 175 218 282 324 40 5 2 14.06253 0
5 52 275 395 178 217 284 326 40 3 2 14.00000 0
6 245 265 385 165 220 275 316 39 6 2 7.00000 0
has any variable that is constant? type this luzworld?
– Daniel Falbel
can add the result of
det(cov(seu_banco))
in the question? A matrix is invertible if and only if this determinant is != 0. As this problem is very specific to your data, it is difficult to help without having the complete data set.– Daniel Falbel
No constant variable, although luzworld has many zeros. I tried to calculate the Mahalanobis distance by removing the variables Footprint and luzworld, the error remains. The determinant of the matrix is very close to zero, is that the problem? det(cov(native)) [1] -6.938182e+20
– Ricardo Adelino
In fact
det(cov(nativo))
, -6.938182e+20 is very negative in its case, which is strange since the determinant of the covariance matrix should always be positive. (see here http://math.stackexchange.com/questions/889425/what-does-determinant-of-covariance-matrix-give). The problem is out there...– Daniel Falbel
Can post covariance matrix?
– Daniel Falbel
Have you done data imputation? Sometimes this can lead to a negative determinant.
– Robert