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 3.6.2 (2019-12-12)
# Platform: x86_64-apple-darwin15.6.0 (64-bit)
# Running under: macOS Catalina 10.15.7
#
# Matrix products: default
# BLAS: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
# LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib
#
# locale:
# [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#
# attached base packages:
# [1] stats graphics grDevices utils datasets methods base
#
# other attached packages:
# [1] susieR_0.12.10
#
# loaded via a namespace (and not attached):
# [1] tidyselect_1.1.1 xfun_0.29 bslib_0.3.1 purrr_0.3.4
# [5] lattice_0.20-38 colorspace_1.4-1 vctrs_0.3.8 generics_0.0.2
# [9] htmltools_0.5.2 yaml_2.2.0 utf8_1.1.4 rlang_0.4.11
# [13] mixsqp_0.3-46 pkgdown_2.0.2 jquerylib_0.1.4 pillar_1.6.2
# [17] glue_1.4.2 DBI_1.1.0 RcppZiggurat_0.1.5 matrixStats_0.61.0
# [21] lifecycle_1.0.0 plyr_1.8.5 stringr_1.4.0 munsell_0.5.0
# [25] gtable_0.3.0 ragg_0.3.1 memoise_1.1.0 evaluate_0.14
# [29] knitr_1.37 fastmap_1.1.0 irlba_2.3.3 parallel_3.6.2
# [33] fansi_0.4.0 highr_0.8 Rfast_2.0.3 Rcpp_1.0.7
# [37] scales_1.1.0 backports_1.1.5 desc_1.2.0 jsonlite_1.7.2
# [41] systemfonts_1.0.2 fs_1.5.2 ggplot2_3.3.5 digest_0.6.23
# [45] stringi_1.4.3 dplyr_1.0.7 grid_3.6.2 rprojroot_1.3-2
# [49] tools_3.6.2 magrittr_2.0.1 sass_0.4.0 tibble_3.1.3
# [53] crayon_1.4.1 pkgconfig_2.0.3 ellipsis_0.3.2 Matrix_1.2-18
# [57] assertthat_0.2.1 rmarkdown_2.11 reshape_0.8.8 R6_2.4.1
# [61] compiler_3.6.2