Closed mirca closed 5 years ago
@mirca glasso
is only for nonsingular covariance matrices. In our case, it is singular so the inverse becomes large trying to accommodate for that zero eigenvalue of the covariance matrix (so that when you take the inverse you get a very small eigenvalue). With real data, the sample covariance matrix will not be singular. Perhaps the synthetic data we are generating should not be singular either. We need to think the generation part a bit more...
The following paper points out the interesting explanation
" Estimation of positive definite M-matrices and structure learning for attractive Gaussian Markov Random fields".
https://arxiv.org/abs/1404.6640
Page 7-10. At a high level, it states the following consequences. Originally the Gaussian Graphical modelling (GGM) assumes the matrix to be positive definite. Note it, just positive definiteness without any constraints on the signs of their elements. But, in order to specialize the formulation for Laplacian learning the formulation is relaxed to positive semidefinite and also a negative sign on the elements. This relaxation brings biases and is also known as the model misspecification previously mentioned by @dppalomar. The GGM model with sign constrained and positive semidefinite constraints is no longer MLE which is also known as sign-constrained log-determinant divergence minimization. The precision matrix estimation under this model may be subject to substantial bias, as observed in our case. I need to understand it further in detail. For the time being it is clear that the issue is inevitable. For the data generation technique we should stick to the justification as carried in
"Graph Learning From Data Under Laplacian and Structural Constraints".
The above paper conisedrs the Laplacian structured constraints and can serve as an initial reference for K=1( one component) graph.
@dppalomar I think I'm missing something on the
glasso
package? The estimated covariance matrix is similiar to the sample covariance matrix, however, their generalized inverse are quite different. See the following example: