SHAPES

版本 1.0.0 (44.2 KB) 作者: Soumya Mohanty
Codes and datasets for adaptive spline fitting method SHAPES
45.0 次下载
更新时间 2020/5/18

Non-parametric curve fitting using an adaptive spline. The knots of the spline are optimized by Particle Swarm Optimization (PSO). The method can fit both smooth and non-smooth curves having jumps in values or derivatives.
(Requires PSO codes in SDMBIGDAT19 on the Mathworks file exchange or in the GitHub repository of the same name at https://github.com/mohanty-sd/SDMBIGDAT19)

Further details are in the paper: Mohanty, Soumya D., and Ethan Fahnestock. "Adaptive spline fitting with particle swarm optimization." arXiv preprint arXiv:1907.12160 (2019)

Abstract of the paper: In fitting data with a spline, finding the optimal placement of knots can significantly improve the quality of the fit. However, the challenging high-dimensional and non-convex optimization problem associated with completely free knot placement has been a major roadblock in using this approach. We present a method that uses particle swarm optimization (PSO) combined with model selection to address this challenge. The problem of overfitting due to knot clustering that accompanies free knot placement is mitigated in this method by explicit regularization, resulting in a significantly improved performance on highly noisy data. The principal design choices available in the method are delineated and a statistically rigorous study of their effect on performance is carried out using simulated data and a wide variety of benchmark functions. Our results demonstrate that PSO-based free knot placement leads to a viable and flexible adaptive spline fitting approach that allows the fitting of both smooth and non-smooth functions.

Usage:
An example is provided in test_shps.m. It runs SHAPES on data generated by test_gendataBFsig.m. Hence, use the latter to first generate some data.
For reference, test_shps.m, which tests the main function shps.m, takes about 9 sec to complete on a 3 GHz 8-Core Intel Xeon E5 on one data realization with 260 samples, one PSO run, and other algorithm settings as given in the paper.
Each test_*.m script also serves as an example of how to use the respective function.
In addition, each function has associated usage instructions that can be accessed using Matlab's "help" command.

引用格式

Soumya Mohanty (2024). SHAPES (https://github.com/mohanty-sd/SHAPES/releases/tag/v1.0.0), GitHub. 检索来源 .

Mohanty, Soumya D., and Ethan Fahnestock. "Adaptive spline fitting with particle swarm optimization." arXiv preprint arXiv:1907.12160 (2019)

MATLAB 版本兼容性
创建方式 R2019b
兼容任何版本
平台兼容性
Windows macOS Linux
标签 添加标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.0

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库