时间序列预测主要的两种应用
- 2021 年 6 月 1 日
- AI
时间序列预测从最大的方向上来看分为两种,一种是预测固定的时间,一种是滑动预测。
1、固定时间的预测指我们只是预测一个固定的时间段,例如典型的双十一前后两周的向量,每年就进行一次预测,只需要预测双十一期间的不需要预测其他时间段的,这种预测最简单, 比如有10000个sku,每个sku都有5年的数据,则构建样本的方式是:
[第一年双十一之前的某一段时间,第一年双十一期间销量]
[第二年双十一之前的某一段时间,第二年双十一期间销量]
。。。
[第五年双十一之前的某一段时间,第五年双十一期间销量]
相对来说,这种问题的建模难度较低,但是模型会更稳定,更便于模型学习,因为双十一期间的数据分布每年整体去除趋势之后会比较稳定,去除趋势之后使用gbdt加一些特征工程(比如非常重要的前一年或者前两年等的双十一期间销量,当年双十一之前平均销量等等)就可以达到不错的效果,当然用nn也可以的;
2、滑动预测,不固定,这种问题是最难的,因为你需要灵活的在每一个时间点根据之前的某段时间的数据来预测未来的数据,这种预测真的很难做,还是双十一为例子吧,平时的销量可能相对稳定一点,但是双十一期间的销量暴涨,除此之外,六一八,520,新年等特殊节日也会有一定的销量的分布的变化,核心的问题是数据的分布在不断的发生变化,必须找到某个特征空间能够使得销量这类待预测的数据整体是稳定分布的,这一点做起来真的很难很麻烦,

比如说这样的数据,一些暴涨的时间点往往需要单独进行一些特征工程的处理,否则很难建模,比如平时你的模型的x是这样的:

一些特殊的时间点,你的X是这样的:

这种情况下,x的分布发生极端的变化,模型很容易得到错误的预测结果,初次之外,序列本身的base level 也在发生变化,比如冰淇淋在夏天的销量很高,但是到了冬天销量就变得很低,如果预测的时间区间是跨季的话就更复杂了。
这种难度比较高的预测问题我暂时也还没有找到比较合适的方法来建模,慢慢学吧。