当前位置:

首页 > 编程开发 > 推荐2022年使用的十个Python时间序列分析库

推荐2022年使用的十个Python时间序列分析库

时间序列是数据点的序列,通常由在一段时间间隔内进行的连续测量组成。时间序列分析是使用统计技术对时间序列数据进行建模和分析,以便从中提取有意义的信息并做出预测的过程。时间序列分析是一个强大的工具,可以用来从数据中提取有价值的信息,并对未来的事件做出预测。它可以用来识别趋势、季节模式和变量之间的其他关系。时间序列分析还可以用来预测未来的事件,如销售、需求或价格变动。如果你正在使用Python处理时间序列数据,那么有许多不同的库可以选择。所以在本文中,我们将整理Python中最流行处理时间序列的库。Sktime

时间序列是数据点的序列,通常由在一段时间间隔内进行的连续测量组成。时间序列分析是使用统计技术对时间序列数据进行建模和分析,以便从中提取有意义的信息并做出预测的过程。

推荐2022年使用的十个Python时间序列分析库

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

如果你正在使用Python处理时间序列数据,那么有许多不同的库可以选择。所以在本文中,我们将整理Python中最流行处理时间序列的库。

Sktime

Sktime是一个用于处理时间序列数据的Python库。它提供了一组处理时间序列数据的工具,包括用于处理、可视化和分析数据的工具。Sktime的设计是易于使用和可扩展的,这样新的时间序列算法就可以很容易地实现并且进行集成。

Sktime正如其名,它支持scikit-learn API,包含了有效解决涉及时间序列回归、预测和分类问题的所有必要方法和工具。该库包含专门的机器学习算法以及时间序列的独特的转换方法,在其他库中并没有提供,所以Sktime可以作为一个非常好的基础库。

根据sktime的文档,“我们的目标是使时间序列分析生态系统作为一个整体更具互操作性和可用性。Sktime为不同但相关的时间序列学习任务提供了统一的接口。它的特点是专门的时间序列算法和工具,用于组合模型的构建,包括流水线管道、集成、调优和简化,使用户可以将一个任务的算法应用到另一个任务。

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()

pmdarima

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

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

pmdarima是ARIMA模型的包装器,它自带一个自动超参数搜索函数,可以自动为ARIMA模型找到最佳超参数(p,d,q)。该库包括下面一些主要的功能点:

  • 一组关于平稳性和季节性的统计测试
  • 时间序列效用,如差分和逆差分
  • 众多的内生和外生转换器和特征化器,包括Box-Cox和傅立叶变换
  • 季节时间序列分解
  • 交叉验证工具
  • 内置一个丰富的可用于原型和示例的时间序列数据集集合

AutoTS

顾名思义,它是一个用于自动时间序列分析的 Python 库。AutoTS 允许我们用一行代码训练多个时间序列模型,以便我们可以选择最适合的模型。

该库是 autoML 的一部分,其目标是为初学者提供自动化库。

TSFresh

tsfresh是一个可以自动从时间序列中提取特征的Python包。它基于时间序列中的信息可以分解为一组有意义的特征来实现的。tsfresh 负责手动提取这些特征的繁琐任务,并提供自动特征选择和分类的工具。它可以与 pandas DataFrames 一起使用,并提供广泛的用于处理时间序列数据的函数,包括:

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

推荐2022年使用的十个Python时间序列分析库

Prophet

Prophet是由Facebook核心数据科学团队发布的开源软件。它基于一个相加模型,其中非线性趋势适合每年、每周和每日的季节性,加上假日效应。它最适合具有强烈季节性效应的时间序列和几个季节的历史数据。Prophet对于缺失的数据和趋势的变化具有很强的鲁棒性,通常能够很好地处理异常值。

根据官方文档,fbprophet在处理具有显著季节性影响的时间序列数据和几个季节价值的之前数据时工作得非常好。此外fbprophet能够抵抗缺失数据,并能够有效地管理异常值。

推荐2022年使用的十个Python时间序列分析库

Statsforecast

Statsforecast提供了一组广泛使用的单变量时间序列预测模型,包括自动ARIMA和ETS建模并使用numba优化。它还包括大量的基准测试模型。根据官网的介绍:

  • Python和R中最快最准确的AutoARIMA。
  • Python和R中最快最准确的ETS。
  • 兼容sklearn接口。
  • ARIMA的外生变量和预测区间的包含。
  • 比pmdarima快20倍,比Prophet快500倍,比NeuralProphet快100倍,比statmodels快4倍。
  • 通过numba编译为高性能机器代码。
  • 开箱即用的实现ADIDA, HistoricAverage, CrostonClassic, CrostonSBA, CrostonOptimized, seasonalwindowaaverage, SeasonalNaive, IMAPA Naive, RandomWalkWithDrift, windowaaverage, SeasonalExponentialSmoothing, TSB, AutoARIMA和ETS。

kats

Kats 是 Facebook 研究团队最近开发的另一个专门处理时间序列数据的库。该框架的目标是为解决时间序列问题提供一个完整的解决方案。使用此库,我们可以执行以下操作:

  • 时间序列分析
  • 模式检测,包括季节性、异常值、趋势变化
  • 产生65个特征的特征工程模块
  • 对时间序列数据建立预测模型,包括Prophet、ARIMA、Holt Winters等。

Darts

Darts 是由 Unit8.co 开发的用于预测时间序列,并且对scikit-learn 友好 的Python 包。它包含大量模型,从 ARIMA 到深度神经网络,用于处理与日期和时间相关的数据。

该库的好处在于它还支持用于处理神经网络的多维类。

它还允许用户结合来自多个模型和外部回归模型的预测,从而更容易地对模型进行回测。

Pyflux

Pyflux 是一个为 Python 构建的开源时间序列库。Pyflux选择了更多的概率方法来解决时间序列问题。这种方法对于需要更完整的不确定性的预测这样的任务特别有利。

用户可以建立一个概率模型,其中通过联合概率将数据和潜在变量视为随机变量。

PyCaret

PyCaret是一个基于Python的开源、低代码的机器学习库,它是一个端到端机器学习和模型管理工具,可以成倍地加快实验周期,让工作效率更高。

与其他开源机器学习库相比,PyCaret是一个可替代的低代码库,可以只用几行代码替换数百行代码。这使得实验的速度和效率呈指数级增长。PyCaret本质上是scikit-learn、XGBoost、LightGBM、CatBoost、spacacy、Optuna、Hyperopt、Ray等几个机器学习库和框架的Python包装。

虽然PyCaret不是一个专门的时间序列预测库,但它有一个专门用于时间序列预测的新模块。它仍然处于预发布状态,但是安装时需要使用以下代码进行安装才能使用新的模块

pip install --pre pycaret

PyCaret时间序列模块与现有的API一致,并且可以使用完整的功能,例如:统计测试、模型训练和选择(30+算法模型)、模型分析、自动超参数调优、实验日志、云部署等。所有这些都只用了几行代码就完成了。

推荐2022年使用的十个Python时间序列分析库

总结

Python中有许多可用的时间序列预测库(比我们在这里介绍的更多)。每个库都有自己的优缺点,因此根据自己的需要选择合适的是很重要的。如果你有什么更好的推荐,请留言告诉我们。


本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
编程开发 机器学习 Python
相关文章 更多
Python安装后怎么打开:使用IDLE或命令行启动解释器
Python安装后怎么打开:使用IDLE或命令行启动解释器

刚在Windows安装好Python却不知道如何启动?本文详细演示如何通过开始菜单找到并打开IDLE集成开发环境,以及如何在PowerShell或命令提示符中使用python和py命令启动交互式解释器、运行.py脚本文件。包含退出解释器的方法及常见启动问题排查,帮助初学者快速验证安装成功并开始编写代码。

Windows系统Python安装教程:下载、勾选PATH及环境变量配置
Windows系统Python安装教程:下载、勾选PATH及环境变量配置

针对Windows初学者的Python安装实战指南。详细讲解如何从Python官网下载匹配架构的安装包,重点演示安装首屏勾选“Add python.exe to PATH”的关键操作,并提供使用python --version和py命令验证环境变量的具体步骤,帮助新手快速搭建开发环境并排查路径问题。

机器学习之父MichaelJordan:AGl是炒作,AI的下一个战场是经济学
机器学习之父MichaelJordan:AGl是炒作,AI的下一个战场是经济学

机器学习奠基人MichaelJordan认为AGI是公关炒作,AI的真正挑战在于让系统学会协调。他主张机器学习必须与经济学结合,关注不确定性、激励机制和数据流动等社会系统性问题,而非单纯追求模型能力。

麒麟OS如何查看Python进程的运行状态
麒麟OS如何查看Python进程的运行状态

要想确认麒麟OS中Python程序的运行状态以及资源占用情况,我们可以这样做:用ps -ef | grep python来筛选进程;通过top命令,按P键排序查看实时负载;使用pgrep -f "script.py"精准获取PID;借助lsof -p PID验证文件打开状态。另外,还可以结合syst

Python在Debian上如何配置SSL证书
Python在Debian上如何配置SSL证书

在Debian系统上配置SSL证书通常涉及以下几个步骤:安装Web服务器:首先,你需要一个Web服务器,比如Apache或Nginx。这里以Apache为例。sudo apt updatesudo apt install apache2获取SSL证书:你可以从Let’s Encrypt免费获取SSL

统信UOS怎么安装Python开发环境
统信UOS怎么安装Python开发环境

要想让Python项目在统信UOS上正常运行,得先安装python3、python3-pip、python3-venv、python3-dev以及build-essential等组件。具体操作就是执行sudo apt install命令来一步到位完成安装,同时别忘了配置清华镜像源来给pip加速哦。在

手写线程池,对照学习ThreadPoolExecutor线程池实现原理!
手写线程池,对照学习ThreadPoolExecutor线程池实现原理!

持续坚持原创输出,点击蓝字关注我吧 ❝ 沉淀、分享、成长,让自己和他人都能有所收获! ❞ 目录 一、前言二、面试题三、线程池讲解1. 先看个例子2. 手写一个线程池3. 线程池源码分析四、总结五、系列推荐一、前言人看手机,机器学习!正好是2020年,看到这张图还是蛮有意思的。以前小时候总会看到一些科

纯Python方案实现中英文全文搜索
纯Python方案实现中英文全文搜索

在互联网上的各类网站中,无论大小,基本上都会有一个搜索框,用来给用户对内容进行搜索,小到站点搜索,大到搜索引擎搜索。从简单的来说,搜索功能确实很简单,一个简单的select语句就可以实现数据的搜索。而从复杂的来看,无论是搜索的精度还是搜索的效率,都是有很深的研究范围的。对于简单的搜索功能来说,一个s

Mac如何取消通过Python脚本运行的关机程序
Mac如何取消通过Python脚本运行的关机程序

立即在终端输入sudo shutdown -c取消倒计时关机,成功后显示“Shutdown cancelled”;若存在pmset重复任务,需再执行sudo pmset repeat cancel清除。Mac因Python脚本执行了os.system("sudo shutdown -h +10")或

Pythonasyncio异步并发与多固定出口IP调度实战
Pythonasyncio异步并发与多固定出口IP调度实战

之前写过一篇同步场景下用 Python 管理多个固定出口 IP 的实践(ExitPool + requests/httpx),覆盖了健康检查、故障转移和连接池复用。但在实际业务中,越来越多的场景用 asyncio 做高并发采集或批量接口调用——异步事件循环下多出口的管理方式和同步场景完全不同:单线程

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。