查看原文
其他

3行代码建模,训练速度提升200%?这款时序开源神器PaddleTS太强了!

将AI进行到底的 百度AI 2023-03-16


时序是什么?时序预测可以为业务带来哪些价值?产品销量预测、电池剩余寿命预测……这些高价值场景如何提高预测准确率?深度学习模型在时序预测有什么优势?如何寻得一款集前沿高尖时序技术的产品,为业务所用?


近日,百度飞桨重磅发布了一款开源时序建模算法库——PaddleTS,可以帮助开发者实现时序数据处理、分析、建模、预测全流程,具有更优的使用体验:
  • 超易用:3行代码即可完成时序建模
  • 速度快:模型训练效率比同类产品快2倍
  • 效果好:时序专属的自动建模与集成预测效果突出

时间序列是按照时间发生的先后顺序进行排列的数据点序列,简称时序。时间序列预测是最常见的时序问题之一,在很多行业都有时序预测的应用,且通常时序预测效果对业务有着重大影响。例如:

  • 零售企业:准确地预测产品销量,可以为企业备货、配送、运营策略的制定提供有效依据,显著降本增效;

  • 电网公司:准确地预测发电量与用电量,可以使电网的调度更加合理化,发挥最大效能;

  • 制造企业:提前预测生产设备可能发生的故障,可以提前预警、维修,降低停工造成的损失;

  • 新能源车企:实时预测电池剩余电量、预测剩余寿命,可以更经济、更合理的使用车辆;

  • 金融领域:利率、股票、现金流、外汇等走势预测都对经济产生重大影响。


不仅如此,时间序列预测还在金融利率预测、股票波动率预测、现金流预测等关键场景发挥重大作用。

工业设备异常检测


经典的机器学习算法应用到时间序列预测中,其优势在于模型使用灵活、训练简单,但也存在明显的缺点,需要大量的人工工作在特征工程上。近年来,深度学习逐步在语音、视觉、自然语言理解等领域得到广泛应用,其算法的优势明显。首先,它可以自动捕捉关键特征,不需要依赖统计学知识,不需要复杂的特征工程;其次,它在建模流程与准确率上有着机器学习不可比拟的优势;此外,它还具备很多功能优势,如使用灵活、表达力强、兼容多样性等。

既然深度学习这么优秀,怎么为时序场景业务所用呢?PaddleTS 提供了一系列先进的基于深度学习技术的时序建模算法及相关组件,它功能丰富、简单易用、效果领先,包括能源、交通、制造等多个行业客户早已应用起来,还不快来试试~~


🔗GitHub 传送门
https://github.com/PaddlePaddle/PaddleTS


 功能全面丰富 
PaddleTS 覆盖时序预测时序异常检测两大核心应用场景,针对建模全流程,提供了丰富的功能。既支持单变量也支持多变量的时序分析,同时还具备模型融合、自动建模及丰富的建模工具组件。PaddleTS 无论是在功能丰富度上,还是在集成的时序算法数量上,都超过了市面上典型的开源时序产品。除了基础能力以外,产品还有以下特色功能:
  • 全面的数据类型支持:PaddleTS 提供的协变量支持功能,支持历史观测协变量、未来可知协变量、静态协变量和分类变量等各种协变量数据类型,帮助开发者有效利用各种数据充分发挥数据的价值;

  • 主流新颖的深度模型:PaddleTS 集成了 Transformer、TCN、VAE、TS2Vec、N-beats 等丰富的深度学习模型,可以很好的捕捉复杂时序场景中的多变量动态依赖关系,解决长周期、多变量、小样本等问题,取得更好的模型效果;

  • 丰富的分析建模工具集:PaddleTS 内置了时序特征处理、数据分析、回测、滚动预测、自动建模、模型融合等分析建模过程中非常实用的功能,可以帮助开发者减少编码数量,提升开发效率。


 简单易用、快速上手 


不需要深刻的专业背景和复杂的特征工程

3行代码实现时序建模


PaddleTS 覆盖了大部分主流深度学习模型,开发者只需将数据按照格式要求灌入数据集,再通过简单的归一化处理即可进行模型训练预测。相较于传统统计模型对开发者统计知识的要求,机器学习模型在训练前复杂的特征工程,开发者使用 PaddleTS 构建深度学习模型更加快速、简单。
>> 时序建模代码示例
dataset = TSDataset.load_from_dataframe(df, **kwargs)
mlp = MLPRegressor(in_chunk_len = 7 * 24, out_chunk_len = 24)
mlp.fit(dataset)


兼容第三方库,机器学习模型也能高效利用


PaddleTS 默认集成了 sklearn、pyod 等第三方库,解决了传统机器学习方法不能直接用于时序数据,且建模过程复杂等问题。开发者通过几行代码即可实现传统机器学习的调用,搭配 PaddleTS 中丰富的建模全流程工具,充分满足个性化需求。
>> 时序预测代码示例
ts_forecasting_model = make_ml_model(sklearn.linear_model.LinearRegression, in_chunk_len=16, out_chunk_len=1)
ts_forecasting_model.fit(tsdataset)
res = ts_forecasting_model.predict(tsdataset)

>> 时序异常检测代码示例
ts_anomaly_model = make_ml_model(pyod.models.knn.KNN, in_chunk_len=16)
ts_anomaly_model.fit(tsdataset)
res = ts_anomaly_model.predict(tsdataset)

时序专属的自动建模与集成预测器

策略更优、操作更简单


PaddleTS 将传统的自动建模和集成学习工具进行改良优化,针对时序场景重新设计了更加便捷的建模工具。
自动建模 AutoTS:在该模块中内置了默认搜索空间、超参优化算法、重采样策略与参数评估策略,开发者仅需2行代码即可完成自动建模的主体训练流程定义。
>> AutoTS 功能代码示例
autots_model = AutoTS(MLPRegressor, 96, 24)
autots_model.fit(tsdataset)

集成预测器 Ensemble:该模块采用集成学习的思想,提供两种集成预测器,开发者通过简单的操作即可把多个 PaddleTS 预测器集合成一个,满足多数场景下的集成需求。
>> Ensemble 功能代码示例


ensemble_model = StackingEnsembleForecaster(96,24,estimators=[(NHiTSModel, nhits_params),(RNNBlockRegressor, rnn_params), (MLPRegressor, mlp_params)])
ensemble_model.fit(ts_train, ts_val)


 速度快、效果优 
PaddleTS 基于飞桨框架,对数据加载、模型训练、模型预测等核心环节精心打磨优化,效率相比同类开源产品有非常大的优势。
训练环境:GPU CUDA 11.2,设备 NVIDIA A30
指标说明:MAE,即绝对平均误差,它表示预测值和观测值之间绝对误差的平均值,越小则预测效果越好
此外,相较于同类产品,使用 PaddleTS 中的 AutoTS 自动建模工具可以取得更优的建模效果,在大多数情况下优于专家经验调参。

WTH 数据集:包含2010年至2013年4年间近1600个美国地区的当地气候数据

*利用默认的 TPE 算法,运行50次参数试验


 加入 PaddleTS 技术交流群 
11月8日(周二)19:00百度资深工程师将为大家深度解析时序建模算法库 PaddleTS,欢迎大家扫描海报二维码报名直播课,与各位开发者进行技术和业务深度交流!
【直播课预告】


WAVE SUMMIT⁺2022


WAVE SUMMIT⁺2022将于11月30日在深圳举办,欢迎大家扫码关注飞桨公众,回复 WAVE 提前加入官方社群了解详情。
【WAVE SUMMIT⁺2022报名入口】


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

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