In this short vignette, we fit a sparse linear regression model with up to \(L > 0\) non-zero effects. Generally, there is no harm in over-stating \(L\) (that is, the method is pretty robust to overfitting), except that computation will grow as \(L\) grows.
Here is a minimal example:
library(susieR)
set.seed(1)
n <- 1000
p <- 1000
beta <- rep(0,p)
beta[c(1,2,300,400)] <- 1
X <- matrix(rnorm(n*p),nrow=n,ncol=p)
y <- X %*% beta + rnorm(n)
res <- susie(X,y,L=10)
plot(coef(res)[-1],pch = 20)
Plot the ground-truth outcomes vs. the predicted outcomes:
Here are some details about the computing environment, including the versions of R, and the R packages, used to generate these results.
sessionInfo()
# R version 4.6.1 (2026-06-24)
# Platform: x86_64-pc-linux-gnu
# Running under: Ubuntu 26.04.1 LTS
#
# Matrix products: default
# BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
# LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.32.so; LAPACK version 3.12.0
#
# locale:
# [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
# [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
# [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
# [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
# [9] LC_ADDRESS=C LC_TELEPHONE=C
# [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
#
# time zone: Etc/UTC
# tzcode source: system (glibc)
#
# attached base packages:
# [1] stats graphics grDevices utils datasets methods base
#
# other attached packages:
# [1] L0Learn_2.1.0 susieR_0.16.6 rmarkdown_2.32
#
# loaded via a namespace (and not attached):
# [1] Matrix_1.7-6 gtable_0.3.6 jsonlite_2.0.0 compiler_4.6.1
# [5] crayon_1.5.3 Rcpp_1.1.2 stringr_1.6.0 jquerylib_0.1.4
# [9] scales_1.4.0 yaml_2.3.12 fastmap_1.2.0 lattice_0.23-1
# [13] plyr_1.8.9 ggplot2_4.0.3 R6_2.6.1 mixsqp_0.3-54
# [17] knitr_1.52 MASS_7.3-66 maketools_1.3.2 zigg_0.0.2
# [21] bslib_0.12.0 RColorBrewer_1.1-3 rlang_1.3.0 stringi_1.8.9
# [25] cachem_1.1.0 reshape_0.8.10 xfun_0.61 sass_0.4.10
# [29] sys_3.4.3 S7_0.2.2 RcppParallel_6.2.1 otel_0.2.0
# [33] cli_3.6.6 magrittr_2.0.5 digest_0.6.39 grid_4.6.1
# [37] irlba_2.4.1 lifecycle_1.0.5 vctrs_0.7.3 Rfast_2.1.5.2
# [41] evaluate_1.0.5 glue_1.8.1 farver_2.1.2 buildtools_1.0.0
# [45] reshape2_1.4.5 matrixStats_1.5.0 tools_4.6.1 htmltools_0.5.9