| Type: | Package |
| Title: | Stability Selection with Lasso after Variable Decorrelation |
| Version: | 0.0.1 |
| 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. |
| License: | MIT + file LICENSE |
| Imports: | glmnet, cmna |
| Encoding: | UTF-8 |
| URL: | https://github.com/MahdiNouraie/DVS, https://doi.org/10.1007/s11222-026-10916-7 |
| BugReports: | https://github.com/MahdiNouraie/DVS/issues |
| RoxygenNote: | 7.3.3 |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2026-07-22 04:18:35 UTC; 48099783 |
| Author: | Mahdi Nouraie [aut, cre], Connor Smith [aut], Samuel Muller [aut] |
| Maintainer: | Mahdi Nouraie <mahdinouraie20@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-07-30 17:20:41 UTC |
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 mahdinouraie20@gmail.com
Authors:
Connor Smith
Samuel Muller
See Also
Useful links:
Report bugs at https://github.com/MahdiNouraie/DVS/issues
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 |
Value
A list containing either:
-
lambda.stableand its associated stability value, if a stable tuning parameter is found; otherwise,
lambda.stable.1sdand 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