2022 年时间序列分析最顶流的 Python 库

news2024/9/28 21:19:00

时间序列分析是一种强大的工具,可用于从数据中提取有价值的信息并对未来事件进行预测。它可用于识别趋势、季节性模式和变量之间的其他关系。时间序列分析还可用于预测未来事件,例如销售、需求或价格变动。

如果你在 Python 中处理时间序列数据,可以使用许多不同的库。在本文中,我们将不分先后地回顾 Python 中最流行的库。

文章目录

      • 1、Sktime
      • 技术提升
      • 2、pmdarima
      • 3、tsfresh
      • 4、Prophet
      • 5、Statsforecast
      • 6、PyCaret
      • 结论

1、Sktime

Sktime 是一个用于处理时间序列数据的 Python 工具包。它提供了一组用于处理时间序列数据的工具,包括用于处理、可视化和分析数据的工具。Sktime 被设计为易于使用和可扩展,因此可以轻松实现新的时间序列算法。

Sktime 提供了对 scikit-learn API 的扩展。它包括所有必要的方法和工具,用于有效解决涉及时间序列回归、预测和分类的问题。该库包含专门的机器学习算法以及时间序列的转换方法。这些是任何其他工具库所不具备的功能。

sktime 还提供相关库的接口,例如 scikit-learn、statsmodels、tsfresh、PyOD 和 fbprophet等。

例子:

from sktime.datasets import load_airline
from sktime.forecasting.model_selection import temporal_train_test_split
# from sktime.utils.plotting.forecasting import plot_ys
y = load_airline()
y_train, y_test = temporal_train_test_split(y)
plt.title('Airline Data with Train and Test')
y_train.plot(label = 'train')
y_test.plot(label = 'test')
plt.legend()

要了解有关此库的更多信息,请查看此链接:https://github.com/sktime/sktime

技术提升

本文由技术群粉丝分享,项目源码、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

方式①、添加微信号:dkl88191,备注:来自CSDN +研究方向
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

2、pmdarima

pmdarima 是一个用于时间序列数据统计分析的 Python 库。它基于 ARIMA 模型,提供了多种用于分析、预测和可视化时间序列数据的工具。Pmdarima 还提供了多种用于处理季节性数据的工具,包括季节性测试和季节性分解工具。

时间序列分析中经常使用的预测模型之一是 ARIMA(自回归综合移动平均)。ARIMA 是一种预测算法,我们可以根据时间序列的过去值中的信息预测未来值,而无需任何其他信息。

pmdarima 是 ARIMA 模型的包装器,并带有一个自动功能,可以自动为 arima 模型找到最佳超参数 (p,d,q)。 该库包括并具有以下特点:

  • 相当于 R 的功能auto.arima
  • 平稳性和季节性统计检验的集合
  • 时间序列实用程序,例如差分和逆差分
  • 许多内生和外生变换器和特征器,包括 Box-Cox 和傅里叶变换
  • 季节性时间序列分解
  • 交叉验证实用程序
  • 丰富的内置时间序列数据集,用于原型设计和示例

在这里插入图片描述

要了解有关此库的更多信息,请查看此链接:https://github.com/alkaline-ml/pmdarima

3、tsfresh

tsfresh 是一个 Python 包,可自动执行从时间序列中提取特征的过程。它基于这样一种思想,即时间序列中的信息可以分解为一组有意义的特征,称为特征。tsfresh 负责手动提取这些特征的繁琐工作,并提供自动特征选择和分类的工具。该包旨在与 pandas DataFrames 一起使用,并提供广泛的功能来处理时间序列数据,包括:

  • 从时间序列中自动提取特征
  • 自动特征选择
  • 时间序列分解
  • 降维
  • 异常值检测
  • 支持多种时间序列格式
  • 支持缺失值
  • 支持多种语言

在这里插入图片描述

要了解有关此库的更多信息,请查看此链接:https://github.com/blue-yonder/tsfresh

4、Prophet

Facebook 的 Prophet 是一种预测工具,任何人都可以使用 CSV 格式的数据。Prophet 是 Facebook 核心数据科学团队发布的开源软件。它基于一个加性模型,其中非线性趋势与每年、每周和每天的季节性以及假期效应相吻合。它最适用于具有强烈季节性影响和多个季节历史数据的时间序列。Prophet 对缺失数据和趋势变化具有鲁棒性,通常可以很好地处理异常值。

根据官方文档,fbprophet 可以很好地处理具有显着季节性影响的时间序列数据和几个季节的先前数据。 此外,fbprophet 声称它可以抵抗丢失数据,并且能够有效地管理异常值。


要了解有关此库的更多信息,请查看此链接:https://github.com/facebook/prophet

5、Statsforecast

Statsforecast 提供了一系列广泛使用的单变量时间序列预测模型,它包括大量基准模型:

  • 在 .AutoARIMAPythonR 中最快最准确
  • 在 .ETSPythonR 中最快最准确
  • 用两行代码替换 FB-Prophet,提高速度和准确性。
  • 与 sklearn 接口兼容。
  • 包含和用于 ARIMA.exogenous variablesprediction intervals
  • 通过.numba编译成高性能机器码

6、PyCaret

PyCaret 是 Python 中的开源低代码机器学习库,可自动执行机器学习工作流程。它是一种端到端的机器学习和模型管理工具,可以成倍地加快实验周期并提高您的工作效率。

与其他开源机器学习库相比,PyCaret 是一个替代性的低代码库,可用于仅用几行代码替换数百行代码。这使得实验呈指数级快速和高效。PyCaret 本质上是围绕多个机器学习库和框架的 Python 包装器,例如 scikit-learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt、Ray 等等。

虽然 PyCaret 不是专门的时间序列预测库,但它有一个专门用于时间序列预测的新模块。它仍处于预发布模式,但您可以通过安装带有标签的 pycaret 来尝试。

PyCaret 时间序列模块与现有 API 一致,功能齐全。统计测试、模型训练和选择(30 多种算法)、模型分析、自动超参数调整、实验记录、云端部署等。所有这一切只需要几行代码。

pip install --pre pycaret

要了解有关此库的更多信息,请查看此链接:https://github.com/pycaret/pycaret

结论

Python 中有许多可用的时间序列预测库(比我在这里介绍的要多)。每个都有自己的长处和短处,因此根据您的需要选择合适的一个很重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/96849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库实验三:完整性语言实验

实验三 完整性语言实验 实验 3.1 实体完整性实验 1.实验目的 ​ 掌握实体完整性的定义和维护方法。 2.实验内容和要求 ​ 定义实体完整性,删除实体完整性。能够写出两种方式定义实体完整性的SQL语句;创建表时定义实体完整性、创建表后定义实体完整性…

C++ Reference: Standard C++ Library reference: Containers: map: map: key_comp

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/key_comp/ 公有成员函数 <map> std::map::key_comp key_compare key_comp() const;返回键比较对象 返回容器用于比较键的比较对象的副本。map对象的比较对象在构造&#xff08;construction&#xff…

kubernetes 挂载传播

kubernetes 挂载传播 kubernetes 的 mountPropagation 翻译成中文就是挂载传播。挂载传播提供了共享卷挂载的能力, 它允许在同一个 Pod, 甚至同一个节点内, 在多个容器之间共享卷的挂载。 说白了就是在容器或 host 内的挂载目录中 再 mount 了一个别的挂载。 kubernetes 中 卷…

第18章 条件概率

第18章 条件概率 18.1蒙特霍尔困惑 对于上一章的三个门的问题&#xff0c;有一个漏洞。假设参赛者选择门A且门B后有一只山羊&#xff0c;刚好产生3个结果&#xff1a; 以上结果出现的概率分别是1/18,1/18,1/9。 在这些结果中&#xff0c;只有最后一个结果(C,A,B)&#xff0c…

Redis常见面试题(三)

目录 1、Redis String值最大存储多少? 2、Redis事务有什么用? 3、Redis事务相关的命令有哪几个? 4、Redis事务是原子性的吗? 5、Redis持久化有什么用? 6、Redis有哪几种持久化方式? 7、Redis持久化方式如何选择? 8、如何保证Redis中的数据都是热点数据? 9、Red…

vue前后端分离项目打包成app,部署成移动端

将vue项目打包成app,在手机上运行。 1. vue打包 npm run build 先将vue的前端项目打包成dist文件夹 2. 安装hbuilderX Hbuilder官网地址 3. hbuilderX 1&#xff09;新建项目 我是vue的&#xff0c;所以直接选择的h5app&#xff0c;然后起个名字&#xff0c;选择路径。 2…

微服务实用篇6-分布式搜索elasticsearch篇2

今天我们继续学习分布式搜索引擎elasticsearch&#xff0c;今天主要学习四个模块&#xff0c;分别为DSL查询文档&#xff0c;搜索结果处理&#xff0c;RestClient查询文档&#xff0c;还有最好演示一个旅游案例。下面开始今天的学习吧。 目录 一、DSL查询文档 1.1、DSL查询分…

Hadoop学习----软件安装

Hadoop源码下载重新编译 软件下载&#xff1a;https://hadoop.apache.org/releases.html 建议是下载源码包。 源码包和官方编译安装包有什么不一样呢&#xff1f; 正常情况下&#xff0c;非生产环境直接使用官方编译安装包即可&#xff0c;但是官方提供的安装包不支持本地库。…

ANTLR4入门(二):图示说明eclipse安装Antlr4IDE插件的过程

如果你能正常通过Eclipse Market找到antlr4的插件并正常安装&#xff0c;可以忽略本文。 如果不能&#xff0c;那多半是因为网络问题导致安装Antlr4IDE插件时无法下载文件造成的。我就遇到了这个问题&#xff0c;无法下载的原因很复杂&#xff0c;我不想去深究了&#xff0c;我…

WPF/XAML关于x:key和x:name的区别,全面解读超详细

x:key和x:name的区别 x:Keyx:Name用于xaml Resources&#xff0c;ResourceDictionary用在ResourceDictionary以外任何地方使用key访问xaml指定对象使用name访问xaml对象标识资源创建和引用&#xff0c;存在于 ResourceDictionary 中的元素唯一标识对象元素&#xff0c;以便于从…

【Spring】SpringCloud

目录 一、SpringCloud 二、微服务介绍 1.系统架构演变 1.1 单体应用架构 1.2 垂直应用架构 1.3 分布式架构 1.4 SOA架构&#xff08;面向服务的架构&#xff09; 1.5 微服务架构&#xff08;服务的原子化拆分&#xff09; 2.微服务架构介绍 2.1 问题&#xff1a; 2.2…

与新手一起快速了解「什么是次世代」?

次世代&#xff08;英文&#xff1a;Next Generation&#xff09;&#xff0c;源自日本语&#xff0c;即下一个时代&#xff0c;未来的时代。与传统游戏相比&#xff0c;次世代游戏是把次世代游戏开发技术融入到现代游戏之中&#xff0c;通过增加模型的面数和贴图的数据量并使用…

JDK8系列之使用Function函数式接口

一、函数式接口是jdk8的新特性之一&#xff0c;函数式接口是只包含一个抽象方法声明的接口。按分类主要分为四大接口类型: Function、Consumer、Predicate、Supplier。 接口参数返回值说明Supplier<T>无T供给型&#xff0c;无参&#xff0c;返回一个指定泛型的对象Consu…

设计解谜游戏的30堂课

设计解谜游戏的30堂课 文章目录1.什么是Eureka Moment&#xff1f;2.谜题与幽默是同构的3.最大限度提高Sparkle4.避免无意义的谜题5.惊喜是Sparkle的重要源泉6.有趣的事实是惊喜的源泉7.尤里卡时刻并不是自豪8.不同解密者所寻求的解密体验是不尽相同的9.尤里卡是可以分享的10.创…

OVS-DPDK

要使用 ovs-dpdk&#xff0c;需要在node上构建 DPDK 并使用相应的 DPDK flag重新构建 ovs。 OVS-DPDK需要从源码编译&#xff0c;因为高度依赖内核等所在机器的环境&#xff0c;并需要配置很多参数以达到高性能。这意味着很难提供一个ovs-dpdk docker镜像来满足所有情况。OVS-D…

推荐系统学习笔记-基于图的模型

由来 基于图的模型&#xff08; graph-based model &#xff09;是推荐系统中的重要内容。其实&#xff0c;很多研究人员把基于邻域的模型也称为基于图的模型&#xff0c;因为可以把基于邻域的模型看做基于图的模型的简单形式。 在研究基于图的模型之前&#xff0c;首先需要将…

毫米波传感器原理介绍:角度估计

前边两篇博文从距离和速度两个维度进行了介绍&#xff0c;本篇将沿着第三个维度&#xff0c;角度进行分析&#xff0c;这也是毫米波传感器原理介绍的最后一篇理论基础。还是老规矩&#xff0c;我们先把公式列出来。 假设雷达两个接收天线之间的距离为d&#xff0c;θ 是物体相…

IS-95前向链路系统误码率matlab仿真,包括扩频调制,匹配滤波,RAKE接收

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 前向链路指由基站发往移动台的无线通信链路&#xff0c;也称作下行链路。IS-95系统前向链路最多可以有64个同时传输的信道&#xff0c;它们是在PN序列上再采用正交的Walsh码进行区分的信道&#…

网上书店系统/书店管理系统的设计与实现

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&…

C51 ——433M 射频信号控制喇叭

遥控按下后信号怎么被接受接 接收后的表现 &#xff1a; 厂商会告诉我们 这款告诉我们 接收模块对应针脚输出高电平 。 遥控控制喇叭 #include "reg52.h" sbit switcher P1^1; // 把继电器IN口 接到 P1.1 sbit D0_ON P1^2; // 把433M 射频信号接收器D0 口 接到P1.…