利用时间序列数据计算预警信号(EWS)的工具包

ewstools的Python项目详细描述


PyPI versionBuild StatusCoverage StatusDOI

EWSTools

python包,用于计算、分析和可视化早期警告信号(ews) 在时间序列数据中。包括使用光谱EWS表征分叉的新方法。

内容

概述

许多自然和人工系统都有能力承受其动力学的突然变化。在动力学系统的数学领域中,这些变化与分岔相对应,其中的理论表明,在时间序列数据中可观察到的某些信号应先于这些分岔(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上投递。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
关于JSP转发的java问题   强制Oracle驱动程序向java输出带有时区的时间戳。sql。使用getObject时的时间戳   Java中的配置单元UDF在创建表时失败   eclipse怀疑Java上下文加载器使用不再存在的文件   范围如何为我没有在JavaEE中编写的类定义单例对象?   java Eclipse未启动:JVM已终止。退出代码=14   仅存在于子类中的属性的java别名(Hibernate标准)   Java字符串插入错误   无法打开java@PropertySource,因为它不存在   java从多项目Maven配置生成WAR文件   java Hibernate@Lob注释不再有效:不能用几个字符串超过CLOB的总长度?   java jbutton的鼠标侦听器包含if/else循环阻塞的jvm?   java如何删除最近24小时安卓的通话记录   java Android服务+计数器不工作   java如何获取返回结果的服务器的数据,我希望将该结果更新到另一台服务器   java从javax获得“一切”是可能的。命名。初始上下文?   java Spring云门请求超时不适用于路径   java web应用程序会话缓存   java使用dialogflow的响应通过google助手打开我的应用程序   MongoDB添加createAt updatedAt字段java