My covariance matrix is computationally singular. Does it make sense to use the pseudoinverse instead?

619 Views Asked by At

I have a large covariance matrix, something like 1000 x 1000. The matrix is not singular, but rather computationally singular due to approximations taking in inversion algorithms. Does it make sense to use the pseudoinverse in this case? I have read several suggestions such as adding a small amount of noise to the covariance matrix, but I'd prefer the most mathematically justifiable solution to the problem. I'm using this inversion to solve for Ising model parameters via the Weiss Mean Field Theory, so technically this is the susceptibility matrix, but susceptibility = covariance for this application.

2

There are 2 best solutions below

2
On

Assuming that by "pseudoinverse" you mean something like the Moore-Penrose one, it makes perfectly sense, since, if your matrix is invertible, as it happens to be, then its pseudoinverse will actually be its inverse. (See the second of the "basic properties" in Wikipedia's article.)

1
On

What "computationally singular" may be hinting to you might be that the problem is very poorly conditioned; small errors in the data can produce large changes in the solution. In this situation, a pseudoinverse might not help very much: the result may still be far from the true solution.