跳转到主要内容

用于构建降阶模型以插值单变量数据的Python包。

项目描述

github PyPI version arXiv:1611.07529 license

欢迎使用romSpline

romSpline是一个易于使用的Python代码,用于使用降阶建模和统计学习方法压缩和插值1维数据。

romSpline使用贪婪算法找到近似最优的数据样本子集,以单变量样条插值器恢复原始数据,达到请求的公差。输出是最佳数据子集和相应的降阶样条插值器。

romSpline还包含估计新样本插值预测误差的代码。这些方法主要基于蒙特卡洛K折交叉验证研究。这些验证误差的平均值可以用作插值误差的全局和有用的上限。

此代码对于下采样或压缩大型数据数组到其基本组件非常有用,这些组件可以从中构建原始信息并通过插值预测新数据。对于相对平滑的数据,下采样的程度可以非常大(例如,数量级)。此外,结果缩减数据集的分布提供了有关数据特征和结构的见解,这些特征和结构可能无法轻易观察到。

romSpline的未来版本将提供基于更精细交叉验证研究的本地自适应插值误差估计。此外,对贪婪算法的改进将纳入有关数据质量的可能附加信息(例如,如果可用,压缩和插值的数据值的不确定性)。

如果您将此代码用于学术工作,请引用以下描述此方法和算法的论文

  • C. R. Galley和P. Schmidt,“通过降阶样条插值快速有效地评估引力波波形” arXiv:1611.07529

安装

romspline可通过PyPI获得

pip install romspline

从源代码

git clone https://github.com/crgalley/romspline.git
cd romspline
python setup.py install

如果您没有root权限,请将最后一步替换为python setup.py install --user。您也可以用pip install .pip install --user .替换最后一步,而不是手动使用setup.py

或者,您可以下载或克隆此存储库,并将下载路径添加到您的PYTHONPATH变量中。

作为另一种选择,您可以在Python代码中包含以下行

import sys
sys.path.append(<path to romspline>)
import romspline

依赖关系

所有这些都可以通过pip或conda安装。

romSpline需要NumPy、SciPy和H5py,这些通常包含在大多数Python发行版中。对于并行化(这对于某些交叉验证例程很有用,但不是必需的),romSpline当前使用concurrent.futures模块。如果您正在使用Python 2并且没有安装concurrent.futures,您可以使用pip安装它

pip install futures

romSpline的未来版本将不会使用concurrent.futures。

入门指南

请参阅随附的IPython笔记本(romSpline_example.ipynb和errors_example.ipynb),以了解如何使用代码和估计预测新值时的降阶样条插值误差的简单教程。

作者信息

版权(C)2015 Chad Galley(crgalley "at" tapir "dot" caltech "dot" edu)。在MIT/X联盟许可下发布。欢迎评论和请求。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

romspline-1.1.6.tar.gz (39.8 kB 查看哈希值

上传时间

构建分布

romspline-1.1.6-py3-none-any.whl (43.8 kB 查看哈希值)

上传时间 Python 3

支持