热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

飞桨时序建模库PaddleTS及产业应用实践

时间序列:一种普遍存在的数据形态众所周知,时间序列是一种普遍存在的数据形态,与我们的日常生活及生产活动密切相关。如:股票指数




f4d65f66e9b1555837ef6082de7eb7cd.png时间序列:


一种普遍存在的数据形态


众所周知,时间序列是一种普遍存在的数据形态,与我们的日常生活及生产活动密切相关。如:股票指数、原油价格等金融市场数据;温度、湿度等天气数据;振动、转速等工业设备运行工况数据;以及电力负荷、新能源发电功率等电力数据;还有与我们身体相关的血压、心率、血氧饱和度等健康监测数据,都属于时间序列数据。


d626fced0252d5f41ca384c209149b62.png


概括起来,时间序列可以被定义为一组或多组按发生时间排列的随机变量。


时序数据如此普遍,时序建模也一直都是诸多领域所关注的重点问题。简言之,人们希望在对历史数据进行深入分析的基础上预知数据未来的走势,并根据预测结果来影响或改变决策。


对时序数据进行研究通常涉及以下三类任务:


  • 缺失值处理、异常值处理、归一化等数据处理任务;

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

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


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


ad271fc65240b8b9d4bbebf0f803f845.png


技术升级:


深度学习推动时序建模进入新发展阶段


简单回顾一下时序技术的发展历程,可以发现时序技术的演进主要经历了3个阶段。


d3f2af12943772e4d7dfff5484cd8f0f.png


首先是从上个世纪50年代开始的统计学阶段,代表性的方法有简单滑动平均、指数平滑、ARIMA等经典方法。


从2000年开始,机器学习方法开始在时序建模中被广泛使用,代表性的方法有XGBoost、LightGBM等Boosting Tree方法,由于其优异的效果和较好的可解释性,这类方法被很多开发者所青睐。


从2017年开始,出现了大量基于深度学习的时序建模方法。在每年人工智能领域的顶级会议上,都会有代表性的工作被提出。比如,支持概率预测的DeepAR,具备可解释能力的Nbeats和TFT,时序表征学习TS2Vec和CoST等。可以看到,深度学习正在推动时序建模进入新的发展阶段,可以有效解决多变量、非平稳、长时序等时序建模所面临的一系列技术挑战。 


c1a37b362ce717f34eb8e7c58e38fcae.pngPaddleTS:


基于飞桨的深度时序建模库


为了使这些不断涌现的深度时序建模技术能够无门槛地惠及广大行业用户和开发者,我们打造了基于飞桨的深度时序建模算法库PaddleTS。顾名思义,这里TS就是Time Series的缩写。


PaddleTS所包含的主要功能模块构成,如下图所示:最下方是TSDataset,它提供了对整个时序数据的统一表达,是PaddleTS各个模块最主要的数据操作对象。在TSDataset内,对不同属性、不同用途、不同类型的数据列进行区分,方便模型算法按需对不同的数据列做不同处理。


174fe8d3a9f5c79d8709afb5d6fd014b.png


中间是一系列数据处理、数据分析、模型算法及高级建模能力相关的模块,其中模型算法当前主要包括时序预测、时序表征和时序异常检测这三类算法。


最上面是流水线的支持,包括通用流水线和场景化流水线。流水线的设计,是为了满足各种非常典型的时序运营需求。


a4c1a5a062b967f113093fc39260999d.pngPaddleTS产品特色:


简单易用、算法先进、开发者友好


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


简单易用


PaddleTS简单易用,希望用户无门槛使用前沿的深度时序建模方法,来解决实际业务问题。为了实现这个目标,PaddleTS主要从统一时序数据结构、标准化编程接口、提供丰富的数据处理能力入手,允许用户只编写少量代码就可以完成从数据加载到数据处理,再到建模的全过程。


此外,我们也提供了包括自动机器学习和集成学习这样的高级建模能力,这些功能可以帮助用户取得更好的建模效果。我们也提供了包括回测和交叉检验这样的实用工具。当然,针对所有的功能,我们提供了非常详实的API文档和丰富的示例教程,方便用户快速学习并精通PaddleTS。


算法先进


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


f38438029b8a09a3f7d9d912e9af9ffd.png


开发者友好


PaddleTS希望能够持续引入前沿的模型算法来让广大的用户受益。这个目标的实现离不开社区的积极参与。为了让社区开发者、时序技术研究人员、行业从业人员都可以对模型算法的引入做出贡献,我们对模型开发框架做了精心的封装,使得开发者在充分理解算法的基础上,只须关注网络结构的实现。


对于较为复杂的模型,我们也推荐进行层次化设计,比如常见的从Block到Module再到Network,这样实现的代码逻辑清晰,可读性强,也便于维护。开发者可以参考PaddleTS已有的模型实现,快速熟悉模型开发工作。


e083ce5559fe1b67b8a87577b2e91a2e.png


8869f2f13d51d02d332774f0d3341c50.pngPaddleTS产业实践案例


接下来我们分享一则PaddleTS在电力行业的应用案例——电力母线负荷预测。


精准的电力母线负荷预测是实现电网安全调度的重要基础。近年来,由于大量新能源发电的并网,显著增大了母线负荷的波动性,从而为电力母线负荷预测带来了新的挑战。基于对业务的深入理解,我们与电力调度领域的专家一起提出了创新的母线负荷预测技术方案,包括基于电网结构的负荷分解与重构、多变量深度时序预测技术、多母线统一建模技术以及归因分析技术等。


基于PaddleTS所提供的强大的建模能力,通过充分利用历史负荷数据和气象预报信息、节假日信息等各类数据,实现了非常精准的预测效果,准确率超过98%。整个电力母线负荷预测系统的投入使用也极大提升了电网调度工作人员的工作效率,人效提升5倍。


77ad2e8aaa4afea9dc86f0d90404ff06.png


除此之外,PaddleTS也在新能源发电功率预测、设备健康管理、水质预测等众多时序建模场景做了大量实践,均取得了很好的效果。很多来自不同行业的用户,已经把PaddleTS用在各自的业务场景,也取得了非常不错的效果。


d21fa9538f7678249b82fd2bb2c8e3f8.png


最后,真诚希望与广大开发者、研究人员、行业从业人员一起将PaddleTS建成简单易用、算法先进、效果卓越的深度时序建模库,共同促进产业数据智能发展,迈上新的台阶。


欢迎加入PaddleTS社区,体验最新的产品特性。同时为PaddleTS的发展献言献策,共同推进PaddleTS的迭代升级。


  • PaddleTS社区网址


https://github.com/PaddlePaddle/PaddleTS





推荐阅读
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Go语言实现堆排序的详细教程
    本文主要介绍了Go语言实现堆排序的详细教程,包括大根堆的定义和完全二叉树的概念。通过图解和算法描述,详细介绍了堆排序的实现过程。堆排序是一种效率很高的排序算法,时间复杂度为O(nlgn)。阅读本文大约需要15分钟。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 数据结构与算法的重要性及基本概念、存储结构和算法分析
    数据结构与算法在编程领域中的重要性不可忽视,无论从事何种岗位,都需要掌握数据结构和算法。本文介绍了数据结构与算法的基本概念、存储结构和算法分析。其中包括线性结构、树结构、图结构、栈、队列、串、查找、排序等内容。此外,还介绍了图论算法、贪婪算法、分治算法、动态规划、随机化算法和回溯算法等高级数据结构和算法。掌握这些知识对于提高编程能力、解决问题具有重要意义。 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了源码分析--ConcurrentHashMap与HashTable(JDK1.8)相关的知识,希望对你有一定的参考价值。  Concu ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
author-avatar
单纯的猪猪zhu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有