\u200E
飞桨时序建模算法库PaddleTS全新升级!时序表征学习帮你突破数据表象,实现效果进阶!
发布日期:2022-09-29T03:50:34.000+0000 浏览量:1760次

PaddleTS是一款基于飞桨深度学习框架的开源时序建模算法库,其具备统一的时序数据结构、全面的基础模型功能、丰富的数据处理和分析算子以及领先的深度时序算法,可以帮助开发者实现时序数据处理、分析、建模、预测全流程,在预测性维护、智慧能耗分析、价格销量预估等场景中有重要应用价值。

8月9日,PaddleTS首次发布后吸引了数千用户的试用,同时也收到了制造、能源、金融等多个行业的知名企事业单位的应用反馈,例如大气环境监测、生产设备中的故障预警、新能源汽车的剩余电量预估、银行网点现金储备量预估、大坝变形监测等诸多真实场景中得到了有效验证。

为了进一步加快企业应用,PaddleTS实现智能升级的进程,降低时间序列模型及相关技术的应用门槛,PaddleTS团队完成了4大重要升级,推出了更先进、更全面、更易用、更方便的开源时序建模算法库PaddleTS V0.2.0,在 电力负荷预测 供应链库存管理 预测性维护 等关键场景上的实际应用,全程助力产业实现智能化升级。


更先进

增加表征学习(TS2VEC)

表征学习是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。和预测性学习(Predictive Learning)不同,表征学习的目标不是通过学习原始数据预测某个观察结果,而是学习数据的底层结构(underlying structure),从而可以分析出原始数据的其他特性。
PaddleTS引入时序表征学习算法TS2VEC,能充分利用大量无标注数据,学习优质通用特征表达,简化下游任务构建,实现更好的迁移和泛化能力。

在能源电力场景,我们利用大量母线的原始负荷数据混合作为语料,通过TS2VEC构建预训练模型,基于预训练模型为待预测母线生成特征表达,通过Ridge回归进行预测。表征模型总体效果达到深度时序预测模型当前最好的效果,并在新母线上的预测效果相比以往模型有进一步提升。


更全面

增加概率预测模块及概率预测模型DeepAR

未来往往是不确定的,当我们面临对未来的重要决策,就必然要考虑到可能的风险,也就是最好的情况和最坏的情况。概率预测相比于传统的点预测,提供了描述预测值可能的上下限,可以帮助我们更好的评估未来的风险。概率预测是通过对目标变量的概率分布进行学习,以分位数的形式输出概率预测结果。

在供应链中的库存管理场景,成本受极端事件推动。需求异常高时,会导致缺货和客户不满,而需求异常低时,会导致库存积压和成本高昂的库存作废。概率预测可以为企业提供预测值向上或向下修正面临的所有情形,用来进行最优化补货量,例如如果需要满足90%的服务水平,那么就可以输出90%分位数下对应的销量预测值来作为补货量。PaddleTS增加的概率预测模块以及概率预测模型DeepAR,可以很好的帮助应对这一类场景问题。


更易用

全新的自动建模AutoTS

我们在做时序建模的时候常常会遇到的一些困难,首先是时序建模参数多,构建过程较为复杂,特征工程、模型参数多种多样,效果难以保障,此外当前的开源库更多的是面向专业开发者,对于初阶用户不友好。
基于以上问题,我们提出了AutoTS,通过自动建模、自动调参寻优的方式,来完成建模任务。
AutoTS是以PaddleTS的底层功能模块为基础,其中包括了数据结构、时序模型、以及特征工程等。在其之上进行封装新的功能,包括参数搜索与优化算法、评估策略以及检索优化过程等等。AutoTS采用可插拔设计,简单易用,编码量低,仅需2行代码,即可使用AutoTS自动建模能力。
autots_model = AutoTS(MLPRegressor, 96, 3)
autots_model.fit(tsdataset)
如下表所示,在ECL、WTH、ETTh1、ETTm1等多份数据集上(数据集后的数字指预测长度)与人工专家建模相比,AutoTS可以有效提升建模效率与模型效果。

MAE:平均绝对误差, MSE:均方误差



更方便

第三方模型和特征算子的快速集成

全新升级数据转换和模型模块,灵活的支持用户的个性化需求,可以快速实现、验证基于第三方模块的时序建模方案。如下述例子,仅用两行代码:
sklearn.preprocessing.MaxAbsScaler
sklearn.linear_model.LinearRegression
即可完成基于上述两行代码的第三方模块的时序构建,同时,构建完成的时序模型可以使用PaddleTS框架内的数据集完成数据处理、模型训练、预测、保存、加载,使用方式与框架内置的专家模型一致。
ts_max_abs_scaler = make_ts_transform(sklearn.preprocessing.MaxAbsScaler, drop_origin_columns=True, per_col_transform=True)
ts_model = make_ml_model(sklearn.linear_model.LinearRegression,  in_chunk_len=16, out_chunk_len=1)
tsdataset = ts_max_abs_scaler.fit_transform(tsdataset)
ts_model.fit(tsdataset)
res = model.predict(tsdataset)

PaddleTS相关地址

  • GitHub项目

 https://github.com/PaddlePaddle/PaddleTS/

  • 项目文档

https://paddlets.readthedocs.io/

  • GitHub Issue反馈

https://github.com/PaddlePaddle/PaddleTS/issues


PaddleTS 应用案例

PaddleTS首发后,开发者们将其能力应用到了大量真实场景中,本次我们从众多反馈中选取了一个"大坝变形监测"的案例为大家展开介绍。如果你也想将使用感受分享给更多人,也赶快加群联系我们吧~

以下内容截取自飞桨公开项目 ,作者geoyee。

原文地址:

https://aistudio.baidu.com/aistudio/projectdetail/4417167

  • 什么是大坝变形监测
变形监测在测绘中是一个经常能遇到的问题,其原理就是利用专用的仪器和方法对变形体的变形现象进行持续观测、对变形体变形形态进行分析和变形体变形的发展态势进行预测等的各项工作。在数据处理上,利用前期的观测数据和形变量预测后期的形变趋势,与ML/DL中的时序建模预测等任务类似,因此常用一些ML/DL的方法对变形监测的数据进行处理。
  • 如何进行数据准备&模型训练 

本次试验使用的是一个去掉了坐标的某大坝某点位的观测数据,数据集由80期监测数据构成,监测内容为该点位的单次位移、累计位移、温度、压力、水头压力、孔隙水和上游水位。监测期为一周监测一次。
在模型训练上定义好模型,设置好超参数后,可以通过fit接口进行训练。在PaddleTS源码中,也可以比较方便的找到所有的模型以及对应的参数说明。
  • PaddleTS模型效果评估

使用PaddleTS能够方便的完成数据拆分、建模以及效果验证。本次试验使用模型的是LSTNetRegressor,可以看到效果还是非常不错的。至于为什么从10之后才有预测数据,因为这是通过十期数据预测一期,所以前十期数据没办法得到预测的。

move:位移,all_move:累计位移,pred-move:预测位移,pred-all_move:预测累计位移


拓展阅读

重磅首发!PaddleTS飞桨时序建模算法库,预测性维护、智慧能耗分析等一网打尽



【精彩课程推荐】


为了让小伙伴们更便捷地实践和应用摔倒识别技术方案,飞桨开发者将于 9月28日20:30 为大家深度解析项目背景、方案选型、快速部署的开发全流程,手把手教大家进行摔倒识别的代码实践。
欢迎小伙伴们扫码进群,免费获取直播课和回放视频链接, 更有机会获得覆盖智慧城市、工业制造、金融、互联网等行业的飞桨产业实践范例手册! 也欢迎感兴趣的企业和开发者与我们联系,交流技术探讨合作。
扫码报名直播课,加入技术交流群