stability.MLGL {MLGL} | R 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 |
hc |
output of |
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 |
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
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)