stability.MLGL: Stability Selection for Multi-Layer Group-lasso

View source: R/stability.R

stability.MLGLR Documentation

Stability Selection for Multi-Layer Group-lasso

Description

Stability selection for MLGL

Usage

stability.MLGL(
  X,
  y,
  B = 50,
  fraction = 0.5,
  hc = NULL,
  lambda = NULL,
  weightLevel = NULL,
  weightSizeGroup = NULL,
  loss = c("ls", "logit"),
  intercept = TRUE,
  verbose = FALSE,
  ...
)

Arguments

X

matrix of size n*p

y

vector of size n. If loss = "logit", elements of y must be in -1,1

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

loss

a character string specifying the loss function to use, valid options are: "ls" least squares loss (regression) and "logit" logistic loss (classification)

intercept

should an intercept be included in the model ?

verbose

print some informations

...

Others parameters for gglasso function

Details

Hierarchical clustering is performed with all the variables. Then, the partitions from the different levels of the hierarchy are used in the different runs 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. Journal of the Royal Statistical Society: Series B (Statistical Methodology) 72.4, p. 417-473.

See Also

cv.MLGL, MLGL

Examples


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 <- X[, c(2, 7, 12)] %*% c(2, 2, -2) + rnorm(50, 0, 0.5)

# Apply stability.MLGL method
res <- stability.MLGL(X, y)



MLGL documentation built on March 31, 2023, 9:32 p.m.