ora-02289: 序列不存在_干货 | 时间序列预测类问题下的建模方案探索实践

798bd2aceafc09e51e767f021bc238ed.gif 33411b944c0d800229e17fea6d209439.png

作者 | 陆春晖

责编 | Carol

出品 | AI科技大本营(ID:rgznai100)

e0790279c94c312b91f058e4104b0c76.png

背景

时间序列类问题是数据分析领域中一类常见的问题,人们有时需要通过观察某种现象一段时间的状态,来判断其未来一段时间的状态。而时间序列就是该种现象某一个统计指标在不同时间上的数值,按时间先后顺序排列而形成的序列。

时间序列分析主要针对时间序列类问题的两个领域,一个是对历史区间数据的分析,通过对过往数据特征的提炼总结来进行异常检测和分类;另一类就是对未来数据的分析,根据过去时间点的数据对未来一个时间点或者几个时间点的状态或实际值进行预测。

时间序列预测类问题在金融领域比较常见,例如股票价格的预测,网点现金流量的预测等等,在气象、人口密度预测等领域也有很广泛的应用。传统的时间序列预测模型通常是统计学模型,比如经典的ARMA系列,它们建立在统计学基础上,需要满足一些基本假设(例如平稳性假设等),因此适用场景比较少,在现实中比较容易受限。随着机器学习和深度学习的兴起,时间序列预测类问题越来越多的被抽象为回归问题,从而可以使用机器学习和深度学习的相关模型,不需要受到基本假设的限制,适用范围更广,更受到人们青睐。

本文以疫情期间北京重点区域人群密度情况的预测为例,使用统计学模型ARMA,机器学习模型Xgboost和深度学习模型LSTM分别进行建模,并对这三种建模方案在实际操作时的复杂度、运行效率和预测准确度进行对比分析,从而直观感受每种建模方案的优缺点,为真实场景中建模方案的选择提供帮助和参考。

d246c532f9ebcf7f7c8164f0b18ec4b5.png

数据准备

为方便进行模型间的比对,本文使用的数据集只包括北京997个重点区域在2020/01/17至2020/02/15这30天内每个小时的人群密度数据,总共717840条记录。数据包含三个维度,分别是区域ID、时间戳和人群密度指数,数据格式如图1所示。

ad11ae290acf0b632a18e6c22b958dc5.png

图1 训练样本示例

训练数据和测试数据都以小时为最小时间步,其中部分区域30天内的人群密度指数趋势如图2所示:

6e7f83f7102dd6229bd9573200b0e3b5.png

图2部分重点区域30天内人群密度指数趋势

在进行时间序列预测建模之前,首先要进行时间序列的自相关性分析,确定训练数据是符合时间序列要求的。时间序列的自相关性可以理解为时间序列自己与自己(不同滞后项)之间的相关性,本文使用时滞图来观察时间序列的自相关性,时滞图是把时间序列的值及相同序列在时间轴上后延的值放在一起展示,如图3所示。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值