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.0 (2026-04-24)
# Platform: x86_64-pc-linux-gnu
# Running under: Ubuntu 24.04.4 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.26.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.5 rmarkdown_2.31
#
# loaded via a namespace (and not attached):
# [1] Matrix_1.7-5 gtable_0.3.6 jsonlite_2.0.0
# [4] compiler_4.6.0 crayon_1.5.3 Rcpp_1.1.1-1.1
# [7] stringr_1.6.0 jquerylib_0.1.4 scales_1.4.0
# [10] yaml_2.3.12 fastmap_1.2.0 lattice_0.22-9
# [13] plyr_1.8.9 ggplot2_4.0.3 R6_2.6.1
# [16] mixsqp_0.3-54 knitr_1.51 MASS_7.3-65
# [19] maketools_1.3.2 zigg_0.0.2 bslib_0.11.0
# [22] RColorBrewer_1.1-3 rlang_1.2.0 stringi_1.8.7
# [25] cachem_1.1.0 reshape_0.8.10 xfun_0.58
# [28] sass_0.4.10 sys_3.4.3 S7_0.2.2
# [31] RcppParallel_5.1.11-2 otel_0.2.0 cli_3.6.6
# [34] magrittr_2.0.5 digest_0.6.39 grid_4.6.0
# [37] irlba_2.3.7 lifecycle_1.0.5 vctrs_0.7.3
# [40] Rfast_2.1.5.2 evaluate_1.0.5 glue_1.8.1
# [43] farver_2.1.2 buildtools_1.0.0 reshape2_1.4.5
# [46] matrixStats_1.5.0 tools_4.6.0 htmltools_0.5.9