Package 'DVS'

Title: Stability Selection with Lasso after Variable Decorrelation
Description: Implements stability selection with Lasso after variable decorrelation for identifying relevant variables in high-dimensional data. The method applies Air-HOLP screening and Gram-Schmidt orthogonalization before Lasso-based stability selection.
Authors: Mahdi Nouraie [aut, cre], Connor Smith [aut], Samuel Muller [aut]
Maintainer: Mahdi Nouraie <[email protected]>
License: MIT + file LICENSE
Version: 0.0.1
Built: 2026-10-18 06:25:05 UTC
Source: https://github.com/mahdinouraie/dvs

Help Index


DVS: Decorrelation for Variable Selection

Description

Tools for decorrelation-based variable selection using Air-HOLP, Gram-Schmidt orthogonalization, and stability selection with the Lasso.

Author(s)

Maintainer: Mahdi Nouraie [email protected]

Authors:

  • Connor Smith

  • Samuel Muller

See Also

Useful links:


DVS: Decorrelation for Variable Selection

Description

This package contains a main function: DVS. The DVS function first decorrelates predictors using Air-HOLP and Gram-Schmidt orthogonalization, and then applies stability selection with the Lasso to identify relevant variables.

Usage

DVS(x, y, B, Threshold = 10)

Arguments

x

A numeric matrix of predictors.

y

A numeric vector of response values.

B

An integer specifying the number of sub-samples in the stability selection.

Threshold

An integer specifying the number of variables retained by Air-HOLP during the initial screening step before decorrelation. The Threshold parameter controls the number of variables retained after Air-HOLP screening. It should typically be chosen as a small multiple of the expected number of relevant variables.

Value

A list containing either:

  • lambda.stable and its associated stability value, if a stable tuning parameter is found;

  • otherwise, lambda.stable.1sd and its associated stability value.

In both cases, the returned list also contains a data frame of selected variables and their selection frequencies.

References

Nouraie, M., Smith, C. & Muller, S. (2026). Stability selection via variable decorrelation. Statistics and Computing 36, 160.

Joudah, I., Muller, S., & Zhu, H. (2025). Air-HOLP: adaptive regularized feature screening for high dimensional correlated data. Statistics and Computing, 35(3), 63.

Nouraie, M., & Muller, S. (2024). On the Selection Stability of Stability Selection and Its Applications. arXiv preprint arXiv:2411.09097.

Nogueira, S., Sechidis, K., & Brown, G. (2018). On the stability of feature selection algorithms. Journal of Machine Learning Research, 18(174), 1-54.

Meinshausen, N., & Bühlmann, P. (2010). Stability selection. Journal of the Royal Statistical Society Series B: Statistical Methodology, 72(4), 417-473.

Tibshirani, R. (1996). Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society Series B: Statistical Methodology, 58(1), 267-288.

Examples

set.seed(123)
n <- 100 # Number of observations
rho <- 0.8 # Correlation coefficient for the predictors
x1 <- matrix(rnorm(n * 3), ncol = 3) # First 3 independent predictors
x2 <- rho * x1[, rep(1:3, length.out = 7)] +
sqrt(1 - rho^2) * matrix(rnorm(n * 7), ncol = 7) # Make next 7 predictors correlated with x1
x <- cbind(x1, x2) # Combine independent and correlated predictors
colnames(x) <- paste0("X", 1:10) # Assign column names
beta <- c(1, 2, 3, rep(0, 7)) # Create regression coefficients vector
y <- x %*% beta + rnorm(n) # Generate response variable with some noise
B <- 10 # Number of sub-samples for stability selection
DVS(x, y, B, Threshold = 10)  # Example usage of the DVS function