利用時間序列預測方法,我們可以基于歷史的情況來預測未來的情況,比如共享單車每日租車數,食堂每日就餐人數等等,都是基于各自歷史的情況來預測的,
什么是時間序列?
- 時間序列,是指同一個變數在連續且固定的時間間隔上的各個資料點的集合,比如每5分鐘記錄的收費口車流量,或者每年記錄的藥物銷量都是時間序列,
時間序列的型別
- 根據時間間隔的不同,時間序列可以是按年度(Annual)、季度、月度、周、小時、分鐘、秒等頻率采集的序列,
時間序列的成分
- 趨勢(Trend),比如長期上漲或長期下跌,
- 季節性(Seasonal),比如羽絨服的銷量一般會在冬季更高,或者某家燒烤店的生意一般會在每周五和周六晚上更好,
- 周期性(Cyclic),比如你時不時搞個大促,那么銷量在那段時間就會比較好,
- 誤差,
什么是時間序列預測?
- 就是用同一個變數的歷史值預測未來值,或者除了歷史值以外,還加入一些預測因子(又稱外生變數)來預測未來值,前者稱為單變數時間序列預測,后者稱為多變數時間序列預測,
- 比如,我們要預測某海灘下個月的的游客數量,除了用歷史游客數量做預測外,還可以加入溫度這個因子,那么只用歷史游客數量做預測就是單變數時間預測,加入溫度這個因子就是多變數時間預測,當然還可以加入其它合理的預測因子,比如該海灘的每月廣告支出等,
一些簡單的預測方法
均值法
所有未來的預測值等于歷史資料的平均值,
樸素法
簡單的將最后一次觀測值作為未來的預測值,
季節性樸素法
相比樸素法,就是考慮了季節性,也就是說將同期的最后一次觀測值作為本期的預測值,比如預測本周的數值,那么就將上周的周一觀測值作為本周的周一預測值,上周的周二觀測值作為本周的周二預測值,以此類推,
漂移法(drift )
在起始觀測值和最后一次觀測值之間畫一條連接線,延伸到預測時間點,作為預測值,公式如下:

下面的2副圖展示了上面四種方法的預測效果:


常用的時間序列預測法
- Exponential smoothing 指數平滑
簡單說就是用過去的觀測值的加權平均值來作為預測值,權重隨著與當前時刻的距離變遠而呈指數衰減,- ARIMA
簡單說就是用變數的自回歸(AR)與歷史預測誤差的自回歸(MA)構成的時間序列預測模型,- 基于深度學習的方法
簡單說就是利用神經網路強大的學習能力,從時間序列歷史資料中提取各種可能的特征,從而對未來進行預測,這部分的模型比較多,比如LSTM,GRU,TCN等,
注意,上述的方法并不能說誰一定比誰好,不同的預測場景下每個方法都有可能做出更好的預測,所以通常需要相互比較,以便做出更合理的預測,
本篇介紹了時間序列的相關概念,下一篇將介紹時間序列的一般資料格式和基于python的可視化方法,
ok,本篇就這么多內容啦~,感謝閱讀O(∩_∩)O,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/21506.html
標籤:其他
上一篇:計算機視覺新手指南


