使用 Facebook Prophet 模型提高时间序列预测性能

作者:CSDN @ _乐多_

时间序列预测涉及基于历史时间戳数据值和外部因素构建模型,以做出推动未来战略决策的科学预测。鉴于其对相关决策的直接影响,训练强大的时间序列预测模型以进行准确可靠的预测是最具挑战性的任务之一。时间序列预测模型的稳健性仅取决于建模之前执行的特征工程和数据分析。

即使在加入tsfresh和外部特征后,有时候时间序列模型仍然无法达到业务预期的预测结果。在本文中,我们将讨论并实施如何使用Facebook Prophet模型的特征来提高监督式时间序列模型的性能。



开始

我们将使用一个包含8个独立特征和一个连续依赖特征“target”的自定义生成的样本时间数据集。我们将使用Light-GBM模型进行不同的特征工程策略训练:

  • Light-GBM与外部特征
  • Light-GBM与外部特征+滞后特征(lags)
  • Light-GBM与外部特征+滞后特征+Facebook Prophet特征

我们将实施并比较上述每种特征工程策略的性能,并得出结论,看看Facebook Prophet特征是否有效地训练出一个稳健的模型。

数据

原始的基于时间的数据是时间序列的,包含8个独立特征和一个作为依赖特征的“target”。我已经创建了小时、天和月份特征来捕捉数据中的时间因素。以下是数据的样本:

图1 样本数据截图

训练Light-GBM模型

我们将在上述提到的原始样本数据上训练一个Light-GBM模型,并计算其性能最佳的特征以及用于基准测试的MAE(平均绝对误差)。

图2 左图:展示推理数据的实际值和预测值的可视化图表 右图:Light GBM模型的性能最佳特征图表

我们在推理数据上得到的MAE为53.79,而性能最佳的特征包括小时、日期、湿度等。

带有滞后特征的Light GBM

前面的模型只是在外部因素/数据上进行训练,并没有涉及依赖特征“target”的滞后特征。为了计算要包含的滞后数量,我们可以观察自相关性。

图3 依赖特征“target”的自相关性图

从上面的相关性图中,我们可以观察到“target”特征与1小时、24小时、48小时等有着高度的相关性。因此,我们可以创建以下滞后特征:

  • 1小时滞后变量,通过将目标值向后移动1小时
  • 1天滞后变量,通过将目标值向后移动1天
  • 2天滞后变量,通过将目标值向后移动2天
  • 1周滞后变量,通过将目标值向后移动1周

我们将包括之前的静态特征以及这些滞后特征。

图4 左图:展示推理数据的实际值和预测值的可视化图表 右图:Light GBM模型的性能最佳特征图表

我们在推理数据上得到的MAE为21.37,性能最佳的特征包括小时、前一小时滞后、前一天滞后等。

带有滞后特征和Facebook Prophet特征的Light GBM:
现在我们将包括来自Facebook Prophet包的特征。思路是在训练数据上训练FB Prophet模型,并利用prophet.predict() API生成的训练和推理特征,来生成具有22个维度的统计特征。

图5 左图:展示推理数据的实际值和预测值的可视化图表 右图:Light GBM模型的性能最佳特征图表

结论

在本文中,我们讨论了一些时间序列用例的特征工程策略。根据我们对一部分数据进行的实验,原始数据集的MAE为53.78,在加入滞后特征后,MAE改善为21.37。在引入来自Facebook Prophet API的统计特征后,MAE进一步改善为20.81。

虽然加入FB Prophet特征后的MAE改进还不够显著,但在其他用例或更大规模的真实数据集中可能表现良好。

参考文献

[1] Facebook Prophet文档:https://facebook.github.io/prophet/

声明:
本人作为一名作者,非常重视自己的作品和知识产权。在此声明,本人的所有原创文章均受版权法保护,未经本人授权,任何人不得擅自公开发布。
本人的文章已经在一些知名平台进行了付费发布,希望各位读者能够尊重知识产权,不要进行侵权行为。任何未经本人授权而将付费文章免费或者付费(包含商用)发布在互联网上的行为,都将视为侵犯本人的版权,本人保留追究法律责任的权利。
谢谢各位读者对本人文章的关注和支持!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值