Graphical lasso
In statistics, the graphical lasso[1] is a penalized likelihood estimator for the precision matrix (also called the concentration matrix or inverse covariance matrix) of a multivariate elliptical distribution. Through the use of an penalty, it performs regularization to give a sparse estimate for the precision matrix. In the case of multivariate Gaussian distributions, sparsity in the precision matrix corresponds to conditional independence between the variables therefore implying a Gaussian graphical model.
The graphical lasso was originally formulated to solve Dempster's covariance selection problem[2][3] for the multivariate Gaussian distribution when observations were limited. Subsequently, the optimization algorithms to solve this problem were improved[4] and extended[5] to other types of estimators and distributions.
Setting
[edit | edit source]Let be the sample covariance matrix of an independent identically distributed sample from a multivariate Gaussian distribution . We are interested in estimating the precision matrix .
The graphical lasso estimator is the maximiser of the penalised log-likelihood:
where is a penalty parameter,[4] is the trace function and refers to the set of positive definite matrices.
A popular alternative form of the graphical lasso removes the penalty on the diagonal, only penalising the off-diagonal entries:[6]
Because the graphical lasso estimate is not invariant to scalar multiplication of the variables,[7] it is important to normalize the data before applying the graphical lasso.
Application
[edit | edit source]To obtain the estimator in programs, users could use the R package glasso,[8] GraphicalLasso() class in the scikit-learn Python library,[9] or the skggm Python package[10] (similar to scikit-learn).
See also
[edit | edit source]References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).