@article{JSSv026i01, title={An Implementation of Bayesian Adaptive Regression Splines (BARS) in C with S and R Wrappers}, volume={26}, url={https://www.jstatsoft.org/index.php/jss/article/view/v026i01}, doi={10.18637/jss.v026.i01}, abstract={BARS (DiMatteo, Genovese, and Kass 2001) uses the powerful reversible-jump MCMC engine to perform spline-based generalized nonparametric regression. It has been shown to work well in terms of having small mean-squared error in many examples (smaller than known competitors), as well as producing visually-appealing fits that are smooth (filtering out high-frequency noise) while adapting to sudden changes (retaining high-frequency signal). However, BARS is computationally intensive. The original implementation in <code>S</code> was too slow to be practical in certain situations, and was found to handle some data sets incorrectly. We have implemented BARS in <code>C</code> for the normal and Poisson cases, the latter being important in neurophysiological and other point-process applications. The <code>C</code> implementation includes all needed subroutines for fitting Poisson regression, manipulating B-splines (using code created by Bates and Venables), and finding starting values for Poisson regression (using code for density estimation created by Kooperberg). The code utilizes only freely-available external libraries (<b>LAPACK</b> and <b>BLAS</b>) and is otherwise self-contained. We have also provided wrappers so that BARS can be used easily within <code>S</code> or <code>R</code>.}, number={1}, journal={Journal of Statistical Software}, author={Wallstrom, Garrick and Liebner, Jeffrey and Kass, Robert E.}, year={2008}, pages={1–21} }