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

2022-11-29 10:41:48 浏览数 (1)

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

近日,百度飞桨重磅发布了一款开源时序建模算法库——PaddleTS,可以帮助开发者实现时序数据处理、分析、建模、预测全流程,具有更优的使用体验:

  • 超易用:3行代码即可完成时序建模
  • 速度快:模型训练效率比同类产品快2倍
  • 效果好:时序专属的自动建模与集成预测效果突出

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

  • 零售企业:准确的预测产品销量,可以为企业备货、配送、运营策略的制定提供有效依据,显著降本增效;
  • 电网公司:准确的预测发电量与用电量,可以使电网的调度更加合理化,发挥最大效能;
  • 制造企业:提前预测生产设备可能发生的故障,可以提前预警、维修,降低停工造成的损失;
  • 新能源车企:实时预测电池剩余电量、预测剩余寿命,可以更经济、更合理的使用车辆;
  • 金融领域:利率、股票、现金流、外汇等走势预测都对经济产生重大影响。

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

工业设备异常检测

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

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

  • GitHub传送门

https://github.com/PaddlePaddle/PaddleTS

功能全面丰富

PaddleTS覆盖时序预测时序异常检测两大核心应用场景,针对建模全流程,提供了丰富的功能。既支持单变量也支持多变量的时序分析,同时还具备模型融合、自动建模及丰富的建模工具组件。PaddleTS无论是在功能丰富度上,还是在集成的时序算法数量上,都超过了市面上典型的开源时序产品。除了基础能力以外,产品还有以下特色功能:

  • 全面的数据类型支持:PaddleTS提供的协变量支持功能,支持历史观测协变量、未来可知协变量、静态协变量和分类变量等各种协变量数据类型,帮助开发者有效利用各种数据充分发挥数据的价值。
  • 主流新颖的深度模型:PaddleTS集成了TransformerTCNVAETS2VecN-beats等丰富的深度学习模型,可以很好的捕捉复杂时序场景中的多变量动态依赖关系,解决长周期、多变量、小样本等问题,取得更好的模型效果。
  • 丰富的分析建模工具集:PaddleTS内置了时序特征处理数据分析回测滚动预测自动建模模型融合等分析建模过程中非常实用的功能,可以帮助开发者减少编码数量,提升开发效率。

简单易用、快速上手

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

3行代码实现时序建模

PaddleTS覆盖了大部分主流深度学习模型,开发者只需将数据按照格式要求灌入数据集,再通过简单的归一化处理即可进行模型训练预测。相较于传统统计模型对开发者统计知识的要求,机器学习模型在训练前复杂的特征工程,开发者使用PaddleTS构建深度学习模型更加快速、简单。

  • 时序建模代码示例
代码语言:javascript复制
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中丰富的建模全流程工具,充分满足个性化需求。

  • 时序预测代码示例
代码语言:javascript复制
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)
  • 时序异常检测代码示例
代码语言:javascript复制
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功能代码示例
代码语言:javascript复制
autots_model = AutoTS(MLPRegressor, 96, 24)
autots_model.fit(tsdataset)

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

  • Ensemble功能代码示例
代码语言:javascript复制
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次参数试验

0 人点赞