This is a package to performParameter Expanded Variational Bayes for Linear Regression with High-dimensional Variable Selection and Spike-and-slab Priors
You can install the released version of spexvb from CRAN
with:
Here is an example for conducting analysis using spexvb:
library(spexvb)
library(doParallel)
#> Loading required package: foreach
#> Loading required package: iterators
#> Loading required package: parallel
cl <- makeCluster(min(2, parallel::detectCores()))
registerDoParallel( cl)
# 1. Simulate high-dimensional data (n=100, p=500)
set.seed(17)
n <- 100
p <- 500
X <- matrix(rnorm(n * p), n, p)
true_beta <- c(rep(3, 5), rep(0, p - 5)) # 5 active predictors
Y <- X %*% true_beta + rnorm(n)
# 2. Perform 5-fold CV to find optimal tau_alpha and fit final model
fit <- cv.spexvb.fit(
k = 5,
X = X,
Y = Y,
tau_alpha = c(0, 10^(3:6)), # Precision for expansion parameter alpha
standardize = TRUE,
intercept = TRUE
)
#> Best tau_alpha selected by CV: 0
# 4. Visualize results
plot(true_beta, main = "True Coefficients", ylab = "Value")