時間序列預測主要的兩種應用
- 2021 年 6 月 1 日
- AI
時間序列預測從最大的方向上來看分為兩種,一種是預測固定的時間,一種是滑動預測。
1、固定時間的預測指我們只是預測一個固定的時間段,例如典型的雙十一前後兩周的向量,每年就進行一次預測,只需要預測雙十一期間的不需要預測其他時間段的,這種預測最簡單, 比如有10000個sku,每個sku都有5年的數據,則構建樣本的方式是:
[第一年雙十一之前的某一段時間,第一年雙十一期間銷量]
[第二年雙十一之前的某一段時間,第二年雙十一期間銷量]
。。。
[第五年雙十一之前的某一段時間,第五年雙十一期間銷量]
相對來說,這種問題的建模難度較低,但是模型會更穩定,更便於模型學習,因為雙十一期間的數據分布每年整體去除趨勢之後會比較穩定,去除趨勢之後使用gbdt加一些特徵工程(比如非常重要的前一年或者前兩年等的雙十一期間銷量,當年雙十一之前平均銷量等等)就可以達到不錯的效果,當然用nn也可以的;
2、滑動預測,不固定,這種問題是最難的,因為你需要靈活的在每一個時間點根據之前的某段時間的數據來預測未來的數據,這種預測真的很難做,還是雙十一為例子吧,平時的銷量可能相對穩定一點,但是雙十一期間的銷量暴漲,除此之外,六一八,520,新年等特殊節日也會有一定的銷量的分布的變化,核心的問題是數據的分布在不斷的發生變化,必須找到某個特徵空間能夠使得銷量這類待預測的數據整體是穩定分布的,這一點做起來真的很難很麻煩,

比如說這樣的數據,一些暴漲的時間點往往需要單獨進行一些特徵工程的處理,否則很難建模,比如平時你的模型的x是這樣的:

一些特殊的時間點,你的X是這樣的:

這種情況下,x的分布發生極端的變化,模型很容易得到錯誤的預測結果,初次之外,序列本身的base level 也在發生變化,比如冰淇淋在夏天的銷量很高,但是到了冬天銷量就變得很低,如果預測的時間區間是跨季的話就更複雜了。
這種難度比較高的預測問題我暫時也還沒有找到比較合適的方法來建模,慢慢學吧。