Stability Selection for Multi-Layer Group-lasso

Share:

Description

Stability selection for MLGL

Usage

1
2
3
stability.MLGL(X, y, B = 50, fraction = 0.5, hc = NULL, lambda = NULL,
  weightLevel = NULL, weightSizeGroup = NULL, intercept = TRUE,
  verbose = FALSE, ...)

Arguments

X

matrix of size n*p

y

vector of size n

B

number of bootstrap sample

fraction

Fraction of data used at each of the B sub-samples

hc

output of hclust function. If not provided, hclust is run with ward.D2 method

lambda

lambda values for group lasso. If not provided, the function generates its own values of lambda

weightLevel

a vector of size p for each level of the hierarchy. A zero indicates that the level will be ignored. If not provided, use 1/(height between 2 successive levels)

weightSizeGroup

a vector

intercept

should an intercept be included in the model ?

verbose

print some informations

...

Others parameters for gglasso function

Details

Hierarhical clustering is performed with all the variables. Then, the partitions from the different levels of the hierarchy are used in the differents run of MLGL for estimating the probability of selection of each group.

Value

a stability.MLGL object containing :

lambda

sequence of lambda.

B

Number of bootstrap samples.

stability

A matrix of size length(lambda)*number of groups containing the probability of selection of each group

var

vector containing the index of covariates

group

vector containing the index of associated groups of covariates

time

computation time

Author(s)

Quentin Grimonprez

References

Meinshausen and Buhlmann (2010). Stability selection. In : Journal of the Royal Statistical Society : Series B (Statistical Methodology) 72.4, p. 417-473.

See Also

cv.MLGL, MLGL

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Not run: 
set.seed(42)
# Simulate gaussian data with block-diagonal variance matrix containing 12 blocks of size 5
X <- simuBlockGaussian(50, 12, 5, 0.7)
# Generate a response variable
y <- drop(X[,c(2,7,12)]%*%c(2,2,-2)+rnorm(50,0,0.5))
# Apply stability.MLGL method
res <- stability.MLGL(X,y)

## End(Not run)