Quickly identify connected features in the solution to GGL

Share:

Description

Applies the GGL screening rule to identify (before running GGL) which features are connected (have degree > 0 in any class) in the solution. This algorithm is set up to be memory-efficient, but not fast: it can be applied to very large dimension datasets, but it will take time to run.

Usage

1
screen.ggl(Y, lambda1, lambda2, weights = "equal")

Arguments

Y

A list of nXp data matrices.

lambda1

The tuning parameter for the graphical lasso penalty. Must be greater than or equal to 0.

lambda2

The tuning parameter for the group lasso penalty. Must be greater than or equal to 0.

weights

The weights to assign to each class. The higher a class's weights, the weaker the effect of the penalties on its estimated inverse covariance matrix. If "equal", the classes are weighted equally, regardless of sample size. If "sample.size", the classes are weighted by sample size. Custom weightings are achievable by entering a vector of K weights.

Value

connected, a logical vector identifying the connected nodes.

Author(s)

Patrick Danaher

References

Patrick Danaher, Pei Wang and Daniela Witten (2011). The joint graphical lasso for inverse covariance estimation across multiple classes. http://arxiv.org/abs/1111.0324

Examples

1
2
3
4
5
## load an example dataset with K=two classes, p=200 features, and n=100 samples per class:
data(example.data)
str(example.data)
## which nodes will be connected?
screen.ggl(example.data,lambda1=.3,lambda2=.3,weights="equal")