一个Python软件包,用于构建简化的有序模型来插值单变量数据。
romspline的Python项目详细描述
欢迎使用romSpline
romSpline是一个易于使用的Python代码,用于使用降阶建模和统计学习方法压缩和插值一维数据。在
romSpline使用贪婪算法寻找一个近似最优的数据样本子集,通过一元样条插值将原始数据恢复到要求的公差。输出是数据的最优子集和相应的降阶样条插值。在
romSpline还包含代码来估计由于插值而产生的新样本的预测误差。这些方法主要基于蒙特卡罗K-折叠交叉验证研究。验证误差的平均值可作为插值误差的全局有效上界。在
这段代码对于大数据数组的下采样或压缩是有用的,从中可以构造原始信息和通过插值预测新数据。对于相对平滑的数据,下采样的程度可能非常重要(例如,数量级)。此外,所得到的简化数据集的分布为数据的特征和结构提供了信息,否则可能不容易观察到。在
romSpline的未来版本将提供基于更精确的交叉验证研究的局部自适应插值误差估计。此外,对贪心算法的增强将包含有关数据质量的可能的附加信息(例如压缩和插值的数据值中的不确定性,如果可用)。在
如果您将此代码用于学术工作,请引用以下描述方法和算法的论文:
- C、 R.Galley和P.Schmidt, “通过降阶样条插值快速有效地评估重力波形” arXiv:1611.07529
安装
romspline可通过PyPI获得:
pip install romspline
来源
^{pr2}$如果您没有根权限,请将最后一步替换为
python setup.py install --user
。而不是使用setup.py
手动地,您也可以用pip install .
或
pip install --user .
。在
或者,您可以下载或克隆此存储库并添加 下载PYTHONPATH变量的路径。在
另一种选择是,在Python代码中包含以下行:
import sys
sys.path.append(<path to romspline>)
import romspline
依赖性
所有这些都可以通过pip或conda安装。在
romSpline需要NumPy、SciPy和H5py,这是大多数Python发行版附带的。对于并行化,这是有用的,但不是某些交叉验证例程所必需的,romSpline当前使用同期期货模块。如果您使用的是Python2并且没有同期期货已安装您可以使用pip安装:
pip install futures
以后的romSpline版本将不再使用同期期货. 在
入门
请参阅随附的IPython笔记本(romSpline_示例.ipynb和错误_示例.ipynb)关于使用代码和估算的简单教程 降阶样条插值预测新值的误差。在
作者信息
版权所有(C)2015 Chad Galley(crgalley”at“tapir”dot“caltech”dot“edu)。 根据MIT/X联盟许可发布。 欢迎提出意见和要求。在
- 项目
标签: