查看原文
其他

飞桨时序建模算法库PaddleTS全新升级!时序表征学习帮你突破数据表象,实现效果进阶!(文末有彩蛋)

百度AI 2023-03-16


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

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


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


 01 

 更先进:增加表征学习(TS2VEC)


表征学习是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。和预测性学习(Predictive Learning)不同,表征学习的目标不是通过学习原始数据预测某个观察结果,而是学习数据的底层结构(underlying structure),从而可以分析出原始数据的其它特性。


PaddleTS 引入时序表征学习算法 TS2VEC,能充分利用大量无标注数据,学习优质通用特征表达,简化下游任务构建,实现更好的迁移和泛化能力。


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


 02 

 更全面:

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


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



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


 03 

 更易用:全新的自动建模 AutoTS



我们在做时序建模的时候常常会遇到的一些困难,首先是时序建模参数多,构建过程较为复杂,特征工程、模型参数多种多样,效果难以保障,此外当前的开源库更多的是面向专业开发者,对于初阶用户不友好。


基于以上问题,我们提出了 AutoTS,通过自动建模、自动调参寻优的方式,来完成建模任务。


AutoTS 是以 PaddleTS 的底层功能模块为基础,其中包括了数据结构、时序模型、以及特征工程等。在其之上进行封装新的功能,包括参数搜索与优化算法、评估策略以及检索优化过程等等。AutoTS 采用可插拔设计,简单易用,编码量低,仅需2行代码,即可使用 AutoTS 自动建模能力。


autots_model = AutoTS(MLPRegressor, 96, 3)

autots_model.fit(tsdataset)


如下图所示,在 ECL、WTH、ETTh1、ETTm1 等多份数据集上(数据集后的数字指预测长度)与人工专家建模相比,AutoTS 可以有效提升建模效率与模型效果。


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



 04 

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


全新升级数据转换和模型模块,灵活的支持用户的个性化需求,可以快速实现、验证基于第三方模块的时序建模方案。


如下述例子,仅用两行代码即可完成基于 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 将持续扩充表征学习,提升模型算法能力,增加场景化一站式组件,打造更先进、更易用、更全面的时序建模产品。如果您有任何想法或者建议,请扫描下方二维码加群,与更多开发者一起畅所欲言吧~



了解更多 PaddleTS 的相关内容,请参阅以下文档:

*项目 GitHub:

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

*项目文档:

https://paddlets.readthedocs.io/

*GitHub Issue 反馈:

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


👀 彩蛋 👀

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:预测累计位移


👇点击“阅读原文”,查看往期精彩!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存