The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

DVS: Decorrelation for Variable Selection

DVS is an R package designed for stable variable selection in the presence of correlated predictors using Lasso within the stability selection framework.

The methodology is based on the paper:

“Stability Selection via Variable Decorrelation” (2026) — Nouraie et al., Statistics and Computing.

Key Features

Installation

DVS imports the R packages glmnet and cmna for model fitting and computation.

You can install and load the DVS package using the following commands in R:

# Install 'devtools' if not already installed
if (!require("devtools")) {
  install.packages("devtools")
}

# Install the DVS package from GitHub
devtools::install_github("MahdiNouraie/DVS")

# Load the package
library(DVS)

Example Usage


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
# Threshold controls the number of variables retained during the Air-HOLP screening step before decorrelation. It is typically chosen as a small multiple of the expected number of relevant variables.
DVS(x, y, B, Threshold = 10)  # Example usage of the DVS function

Example Output

$lambda.stable
[1] 0.2798887

$stability
[1] 0.7781636

$selected
Variable Selection_Frequency
1 X3       1
2 X2       1
3 X1       1

Acknowledgements

DVS includes adapted code from the following sources, which are appropriately cited in the code with comments: - JMLR2018 Supplementary Code - Air-HOLP Repository - StackOverflow – Gram-Schmidt in R

License

This package is released under the MIT License.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.