Sparse Regression under Correlation and Weak Signals: A Reproducible Benchmark of Classical and Bayesian Methods
Organizations: ATLAS AI Lab
Abstract
Choosing between classical and Bayesian sparse regression methods involves a real trade-off: penalized estimators like Lasso run in milliseconds but give no uncertainty estimates,while Horseshoe and Spike-and-Slab priors produce full posteriors but need MCMC chains that take minutes per fit.Surprisingly few studies compare these two families head-to-head under the conditions that actually make sparse regression hard -- correlated features, weak signals, and growing dimensionality. We benchmark six methods (OLS, Ridge,Lasso, Elastic Net, Horseshoe, Spike-and-Slab) on synthetic data with three covariance structures (rho up to 0.9), four SNR levels, and p in {20, 50, 100}, plus the Diabetes dataset,totalling over 2,600 experiments. The results are clear on some points and nuanced on others. Bayesian methods win on prediction error (MSE 72 vs. 108-267), and the Horseshoe delivers near-nominal 95% coverage (94.8%). But Spike-and-Slab,despite narrower intervals, under-covers at 91.9% -- its continuous relaxation likely plays a role. For variable selection, Lasso and Spike-and-Slab tie at F1 ~ 0.47, making Lasso the practical default when posteriors are not needed. Code and data are available at https://github.com/xiao98/sparse-bayesian-regression-bench.
Figures & tables
| Axis | Values |
|---|---|
| Dataset | Independent, Block Correlated, Toeplitz |
| Model | OLS, Ridge, Lasso, Elastic Net, Horseshoe, Spike-and-Slab |
| Correlation ( ) | 0.0, 0.3, 0.6, 0.9 |
| Signal-to-noise ratio | 0.5, 1.0, 2.0, 5.0 |
| Dimensionality ( ) | 20, 50, 100 |
| Random seeds | 42, 123, 456, 789, 1024 |
| Model | Test MSE | Coef. Error | Support |
|---|---|---|---|
| OLS | 267.159 323.478 | 16.559 14.988 | 0.296 0.026 |
| Ridge | 118.597 124.690 | 6.405 2.902 | 0.297 0.027 |
| Lasso | 108.101 121.213 | 5.199 3.311 | 0.470 0.132 |
| Elastic Net | 108.751 122.784 | 5.209 3.248 | 0.459 0.126 |
| Horseshoe | 71.917 76.047 | 4.210 2.630 | 0.288 0.037 |
| Spike-and-Slab | 72.992 78.317 | 4.588 3.041 | 0.469 0.156 |
| Model | Coverage (95% HDI) | Avg. Interval Width |
|---|---|---|
| Horseshoe | 0.948 0.045 | 2.237 1.121 |
| Spike-and-Slab | 0.919 0.048 | 1.058 0.865 |
| Model | Test MSE | Test RMSE | Time (s) |
|---|---|---|---|
| OLS | 0.507 0.060 | 0.711 0.041 | 0.00 |
| Ridge | 0.508 0.057 | 0.712 0.039 | 0.00 |
| Lasso | 0.504 0.057 | 0.709 0.039 | 0.02 |
| Elastic Net | 0.504 0.057 | 0.709 0.039 | 0.15 |
| Horseshoe | 0.472 0.011 | 0.687 0.008 | 11.71 |
| Spike-and-Slab | 0.473 0.008 | 0.688 0.006 | 12.51 |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| OLS | 275.911 | 273.982 | 263.035 | 262.441 |
|---|---|---|---|---|
| Ridge | 130.683 | 127.578 | 117.393 | 97.609 |
| Lasso | 113.853 | 114.410 | 108.874 | 96.877 |
| Elastic Net | 115.375 | 115.246 | 108.801 | 96.780 |
| Horseshoe | 77.442 | 72.429 | 72.122 | 67.379 |
| Spike-and-Slab | 75.726 | 75.250 | 75.055 | 69.101 |
| SNR=0.5 | SNR=1.0 | SNR=2.0 | SNR=5.0 | |
|---|---|---|---|---|
| OLS | 0.296 | 0.296 | 0.296 | 0.295 |
| Ridge | 0.295 | 0.297 | 0.297 | 0.299 |
| Lasso | 0.400 | 0.456 | 0.498 | 0.527 |
| Elastic Net | 0.395 | 0.438 | 0.479 | 0.522 |
| Horseshoe | 0.279 | 0.288 | 0.288 | 0.297 |
| Spike-and-Slab | 0.374 | 0.435 | 0.489 | 0.579 |
| OLS | 0.00 | 0.00 | 0.01 |
|---|---|---|---|
| Ridge | 0.00 | 0.00 | 0.02 |
| Lasso | 0.02 | 0.05 | 0.10 |
| Elastic Net | 0.14 | 0.29 | 0.53 |
| Horseshoe | 31.76 | 50.85 | — |
| Spike-and-Slab | 35.23 | 53.81 | — |