利用时间序列数据计算预警信号(EWS)的工具包
ewstools的Python项目详细描述
EWSTools
python包,用于计算、分析和可视化早期警告信号(ews) 在时间序列数据中。包括使用光谱EWS表征分叉的新方法。
内容
- Overview
- Repo Contents
- System Requirements
- Installation Guide
- Demos
- Documentation
- License
- Issues
- Contribution
概述
许多自然和人工系统都有能力承受其动力学的突然变化。在动力学系统的数学领域中,这些变化与分岔相对应,其中的理论表明,在时间序列数据中可观察到的某些信号应先于这些分岔(Scheffer et al. 2009)。两个常用的度量包括方差和自相关,尽管存在许多其他(例如,参见{a15})。我们使用这个包的目的是在python中提供一个用户友好的工具箱来计算来自时间序列数据的早期警告信号。这补充了用r(Dakos et al. 2012)编写的另一个预警信号工具箱,并提供了从即将公布的功率谱结果中提取分岔信息的新工具。
ewstools的功能包括
使用
- 高斯平滑
- 低通滤波器
滚动窗口上下列统计特性的计算:
- 方差及其导数(标准差、变异系数)
- 自相关(在指定的滞后时间)
- 高阶矩(偏斜、峰度)
- 功率谱(包括最大频率、相干因子和AIC权值CSP)。标准功率谱形式)
块引导时间序列以获得EWS估计的置信限
用时间序列图和功率谱图可视化ews。
回购内容
- demos:Jupyter笔记本中的交互式演示,演示软件包的使用
- docs:readthedocs中提供的版本控制包文档
- ewstools:包代码
- nat_comms:向nature communications提交论文的支持代码
- tests:使用pytest测试包函数
系统要求
硬件要求
ewstools可以在具有足够RAM的标准计算机上运行,以支持用户定义的操作。该软件已在具有以下规格的计算机上进行了测试
RAM:8G,CPU:2.7GHz
尽管软件应该在内存较低的计算机上按预期运行。下面概述的运行时是在具有这些规范的计算机上生成的。
软件需求
ewstools需要python 3.7或更高版本,并且具有以下包依赖项:
pandas==0.24.2
numpy==1.16.2
arch==4.7
lmfit==0.9.12
python包应该与windows、mac和linux操作系统兼容。演示需要安装jupyter笔记本
安装指南
在Linux、Mac OS和Windows上下载Python3的友好说明here。
然后,可以使用pip安装包ewstools,方法是在终端(mac/linux)或命令提示符(windows)中输入以下命令
pip install ewstools
其中包括所有包依赖项在标准计算机上安装软件包的时间应该不到一分钟。要与演示进行交互,需要使用Jupyter笔记本,可以使用
pip install jupyterlab
下载时间不超过一分钟。
演示
有关使用ewstools的内部演示,请参阅这些iPython notebooks。
文件
完整的文档可以在ReadTheDocs上找到。
贡献
如果你有兴趣的话如果您是捐款人,或者遇到包裹问题,请在issue tracker上投递。