\u200E
飞桨时序建模库PaddleTS及产业应用实践
发布日期:2023-02-02T09:03:25.000+0000 浏览量:694次

本系列根据WAVE SUMMIT+2022深度学习开发者峰会「飞桨升级 创新引领」论坛嘉宾分享整理。本文整理自百度主任架构师杨胜文的主题演讲——基于飞桨的深度时序建模库PaddleTS及产业应用实践。

时间序列:

一种普遍 存在的数据形态
众所周知,时间序列是一种普遍存在的数据形态,与我们的日常生活及生产活动密切相关。 如: 股票指数、原油价格等金融市场数据; 温度、湿度等天气数据; 振动、转速等工业设备运行工况数据; 以及电力负荷、新能源发电功率等电力数据; 还有与我们身体相关的血压、心率、血氧饱和度等健康监测数据,都属于时间序列数据。
概括起来,时间序列可以被定义为一组或多组按发生时间排列的随机变量。
时序数据如此普遍,时序建模也一直都是诸多领域所关注的重点问题。简言之,人们希望在对历史数据进行深入分析的基础上预知数据未来的走势,并根据预测结果来影响或改变决策。
对时序数据进行研究通常涉及以下三类任务:
  • 缺失值处理、异常值处理、归一化等数据处理任务

  • 时域分析、频域分析、时序分解等数据分析任务

  • 时序预测、时序异常检测、时序分类、时序聚类等建模任务

一个典型的时序应用场景,往往需要综合应用这些时序技术,才能有效解决问题并达到预期效果。

技术升级:
深度学习推动时序建模进入新发展阶段
简单回顾一下时序技术的发展历程,可以发现时序技术的演进主要经历了3个阶段。
首先是从上个世纪50年代开始的统计学阶段,代表性的方法有简单滑动平均、指数平滑、ARIMA等经典方法。
从2000年开始,机器学习方法开始在时序建模中被广泛使用,代表性的方法有XGBoost、LightGBM等Boosting Tree方法,由于其优异的效果和较好的可解释性,这类方法被很多开发者所青睐。
从2017年开始,出现了大量基于深度学习的时序建模方法。在每年人工智能领域的顶级会议上,都会有代表性的工作被提出。比如,支持概率预测的DeepAR,具备可解释能力的Nbeats和TFT,时序表征学习TS2Vec和CoST等。可以看到,深度学习正在推动时序建模进入新的发展阶段,可以有效解决多变量、非平稳、长时序等时序建模所面临的一系列技术挑战。 

PaddleTS:

基于飞桨的深度时序建模库
为了使这些不断涌现的深度时序建模技术能够无门槛地惠及广大行业用户和开发者,我们打造了基于飞桨的深度时序建模算法库PaddleTS。顾名思义,这里TS就是Time Series的缩写。
PaddleTS所包含的主要功能模块构成,如下图所示:最下方是TSDataset,它提供了对整个时序数据的统一表达,是PaddleTS各个模块最主要的数据操作对象。在TSDataset内,对不同属性、不同用途、不同类型的数据列进行区分,方便模型算法按需对不同的数据列做不同处理。
中间是一系列数据处理、数据分析、模型算法及高级建模能力相关的模块,其中模型算法当前主要包括时序预测、时序表征和时序异常检测这三类算法。
最上面是流水线的支持,包括通用流水线和场景化流水线。流水线的设计,是为了满足各种非常典型的时序运营需求。

PaddleTS产品特色:

简单易用、算法先进、开发者友好
在设计和开发PaddleTS的过程中,我们始终坚持3个基本原则: 简单易用、算法先进以及开发者友好 ,这3个原则也构成了PaddleTS的产品特色。

简单易用

PaddleTS简单易用,希望用户无门槛使用前沿的深度时序建模方法,来解决实际业务问题。 为了实现这个目标,PaddleTS主要从统一时序数据结构、标准化编程接口、提供丰富的数据处理能力入手,允许用户只编写少量代码就可以完成从数据加载到数据处理,再到建模的全过程。
此外,我们也提供了包括自动机器学习和集成学习这样的高级建模能力,这些功能可以帮助用户取得更好的建模效果。我们也提供了包括回测和交叉检验这样的实用工具。当然,针对所有的功能,我们提供了非常详实的API文档和丰富的示例教程,方便用户快速学习并精通PaddleTS。

算法先进

PaddleTS的另一特色就是算法先进。一方面我们提供了对近几年主流深度时序算法的支持,同时通过对前沿研究的跟踪,持续引入代表性的新算法,让用户能够在第一时间就体验到学术界最新的算法成果,并获得卓越的建模效果。当前PaddleTS主要支持3类深度时序模型,包括时序预测、时序表征、时序异常检测,已经实现了10余种极具代表性的深度时序建模算法。

开发者友好

PaddleTS希望能够持续引入前沿的模型算法来让广大的用户受益。这个目标的实现离不开社区的积极参与。为了让社区开发者、时序技术研究人员、行业从业人员都可以对模型算法的引入做出贡献,我们对模型开发框架做了精心的封装,使得开发者在充分理解算法的基础上,只须关注网络结构的实现。
对于较为复杂的模型,我们也推荐进行层次化设计,比如常见的从Block到Module再到Network,这样实现的代码逻辑清晰,可读性强,也便于维护。开发者可以参考PaddleTS已有的模型实现,快速熟悉模型开发工作。

PaddleTS产业实践案例

接下来我们分享一则PaddleTS在电力行业的应用案例——电力母线负荷预测。
精准的电力母线负荷预测是实现电网安全调度的重要基础。近年来,由于大量新能源发电的并网,显著增大了母线负荷的波动性,从而为电力母线负荷预测带来了新的挑战。基于对业务的深入理解,我们与电力调度领域的专家一起提出了创新的母线负荷预测技术方案,包括基于电网结构的负荷分解与重构、多变量深度时序预测技术、多母线统一建模技术以及归因分析技术等。
基于PaddleTS所提供的强大的建模能力,通过充分利用历史负荷数据和气象预报信息、节假日信息等各类数据,实现了非常精准的预测效果,准确率超过98%。整个电力母线负荷预测系统的投入使用也极大提升了电网调度工作人员的工作效率,人效提升5倍。
除此之外,PaddleTS也在新能源发电功率预测、设备健康管理、水质预测等众多时序建模场景做了大量实践,均取得了很好的效果。很多来自不同行业的用户,已经把PaddleTS用在各自的业务场景,也取得了非常不错的效果。
最后,真诚希望与广大开发者、研究人员、行业从业人员一起将PaddleTS建成简单易用、算法先进、效果卓越的深度时序建模库,共同促进产业数据智能发展,迈上新的台阶。
欢迎加入PaddleTS社区,体验最新的产品特性。同时为PaddleTS的发展献言献策,共同推进PaddleTS的迭代升级。
  • PaddleTS社区网址
https://github.com/PaddlePaddle/PaddleTS

关注【飞桨PaddlePaddle】公众号
点击菜单栏「WAVE回放」查看峰会精彩内容



点击“阅读原文”,了解更多详情