An Implementation of Bayesian Adaptive Regression Splines (BARS) in C with S and R Wrappers.

An Implementation of Bayesian Adaptive Regression Splines (BARS) in C with S and R Wrappers.
复制标题

DOI:
10.18637/jss.v026.i01
复制
发表时间:
2008-06
影响因子:
5.8
通讯作者:
G. Wallstrom;Jeffrey Liebner;R. Kass
G. Wallstrom;Jeffrey Liebner;R. Kass
中科院分区:
计算机科学2区
文献类型:
--
作者:
G. Wallstrom;Jeffrey Liebner;R. Kass

文献摘要

被引文献

相似文献

BARS(DiMatteo、Genovese 和 Kass 2001)使用强大的可逆跳跃 MCMC 引擎来执行基于样条的广义非参数回归。它已被证明在许多示例中具有较小的均方误差(小于已知的竞争对手)以及产生平滑的视觉吸引力拟合(滤除高频噪声)同时适应突然变化(保留高频信号)方面表现良好。然而,BARS 的计算量很大。 S 中的原始实现在某些情况下太慢而无法实用,并且被发现无法正确处理某些数据集。我们已经在 C 语言中针对正常情况和泊松情况实施了 BARS,后者在神经生理学和其他点过程应用中很重要。 C 实现包括拟合泊松回归、操作 B 样条(使用 Bates 和 Venables 创建的代码)以及查找泊松回归起始值(使用 Kooperberg 创建的密度估计代码)所需的所有子例程。该代码仅使用免费的外部库(LAPACK 和 BLAS),并且在其他方​​面是独立的。我们还提供了包装器,以便可以在 S 或 R 中轻松使用 BARS。
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 S was too slow to be practical in certain situations, and was found to handle some data sets incorrectly. We have implemented BARS in C for the normal and Poisson cases, the latter being important in neurophysiological and other point-process applications. The C 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 (LAPACK and BLAS) and is otherwise self-contained. We have also provided wrappers so that BARS can be used easily within S or R.