時序分析就是利用過去一段時間內(nèi)某事件時間的特征來預(yù)測未來一段時間內(nèi)該事件的特征。這是一類相對比較復(fù)雜的預(yù)測建模問題,和回歸分析模型的預(yù)測不同,時間序列模型是依賴于事件發(fā)生的先后順序的,同樣大小的值改變順序后輸入模型產(chǎn)生的結(jié)果是不同的。
時序問題都看成是回歸問題,只是回歸的方式(線性回歸、樹模型、深度學(xué)習(xí)等)有一定的區(qū)別。
時序分析包括靜態(tài)時序分析(STA)和動態(tài)時序分析。
以下為幾種常見的時序分析算法
1 深度學(xué)習(xí)時序分析
RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))
循環(huán)神經(jīng)網(wǎng)絡(luò)是指一個隨著時間的推移,重復(fù)發(fā)生的結(jié)構(gòu)。在自然語言處理(NLP),語音圖像等多個領(lǐng)域均有非常廣泛的應(yīng)用。RNN網(wǎng)絡(luò)和其他網(wǎng)絡(luò)最大的不同就在于RNN能夠?qū)崿F(xiàn)某種“記憶功能”,是進行時間序列分析時最好的選擇。如同人類能夠憑借自己過往的記憶更好地認(rèn)識這個世界一樣。RNN也實現(xiàn)了類似于人腦的這一機制,對所處理過的信息留存有一定的記憶,而不像其他類型的神經(jīng)網(wǎng)絡(luò)并不能對處理過的信息留存記憶。
優(yōu)點:
具有時間記憶功能,適用于解決時間序列中間隔較短的問題;
缺點:
對較遠(yuǎn)時間步的數(shù)據(jù)易產(chǎn)生梯度消失、梯度爆炸的問題;
LSTM(長短時記憶網(wǎng)絡(luò))
長短時記憶網(wǎng)絡(luò)(LSTM,Long Short-Term Memory)是一種時間循環(huán)神經(jīng)網(wǎng)絡(luò),是為了解決一般的RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))存在的長期依賴問題而專門設(shè)計出來的,所有的RNN都具有一種重復(fù)神經(jīng)網(wǎng)絡(luò)模塊的鏈?zhǔn)叫问健?/p>
優(yōu)點:
適合于處理和預(yù)測時間序列中間隔和延遲非常長的重要事件。
缺點:
參數(shù)量過大、易產(chǎn)生過擬合的問題。
2 傳統(tǒng)的時序分析模型
- 自回歸(Auto Regression, AR)
- 移動平均線(Moving Average, MA)
- 自回歸移動平均線(Autoregressive Moving Average, ARMA)
- 自回歸綜合移動平均線(Autoregressive Integrated Moving Average, ARIMA)
- 季節(jié)性自回歸整合移動平均線(Seasonal Autoregressive Integrated Moving Average, SARIMA)
- 具有外生回歸量的季節(jié)性自回歸整合移動平均線(Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors, SARIMAX)
自回歸模型 AR
自回歸模型(Autoregressive Model,簡稱 AR 模型)是一種時間序列分析方法,用于描述一個時間序列變量與其過去值之間的關(guān)系。AR模型假設(shè)當(dāng)前觀測值與過去的觀測值之間存在線性關(guān)系,通過使用過去的觀測值來預(yù)測未來的觀測值。
優(yōu)點:
- 簡單性:AR模型是一種線性模型,易于理解和實現(xiàn)。它僅使用過去的觀測值作為自變量,沒有其他復(fù)雜的因素需要考慮。
- 建模能力:AR模型可以捕捉時間序列數(shù)據(jù)的自相關(guān)結(jié)構(gòu),即當(dāng)前觀測值與過去觀測值之間的關(guān)系。它能夠提供對未來觀測值的預(yù)測,并揭示數(shù)據(jù)中的趨勢和模式。
缺點:
- 只適用于平穩(wěn)序列:AR模型要求時間序列是平穩(wěn)的,即均值、方差和自相關(guān)不隨時間變化。如果序列不平穩(wěn),可能需要進行差分操作或使用其他模型來處理非平穩(wěn)性。
- 對過去觀測值敏感:AR模型的預(yù)測結(jié)果受到過去觀測值的影響,因此在處理長期預(yù)測時可能會出現(xiàn)誤差累積的問題。較大的階數(shù)可能會導(dǎo)致模型過擬合,而較小的階數(shù)可能無法捕捉到時間序列的復(fù)雜動態(tài)。
- 無法處理季節(jié)性數(shù)據(jù):AR模型無法直接處理具有明顯季節(jié)性的時間序列。對于具有季節(jié)性模式的數(shù)據(jù),可以使用季節(jié)性AR模型(SAR)或ARIMA模型進行建模。
移動平均法(MA)
移動平均法(MA):該方法基于數(shù)據(jù)的平均數(shù),并假設(shè)未來的值與過去的值之間具有一定的平穩(wěn)性。
優(yōu)點:
能夠捕捉到時間序列數(shù)據(jù)中的移動平均關(guān)系。MA模型利用過去時間步白噪聲誤差項的線性組合來預(yù)測當(dāng)前觀測值,因此可以捕捉到數(shù)據(jù)中的移動平均性。
相對簡單和直觀。MA模型的參數(shù)表示過去時間步白噪聲誤差項的權(quán)重,可以通過估計這些權(quán)重來擬合模型。
缺點:
- 只能捕捉到移動平均關(guān)系,無法捕捉到自回歸關(guān)系。MA模型忽略了過去時間步觀測值,可能無法捕捉到數(shù)據(jù)中的自相關(guān)性。
- 對于某些時間序列數(shù)據(jù),MA模型可能需要較高的階數(shù)才能較好地擬合數(shù)據(jù),導(dǎo)致模型復(fù)雜度增加。
自回歸滑動平均模型
自回歸滑動平均模型(ARMA模型,Auto-Regression and Moving AverageModel)是研究時間序列的重要方法,由自回歸模型(AR模型)與滑動平均模型(MA模型)為基礎(chǔ)“混合”而成,具有適用范圍廣、預(yù)測誤差小的特點。
自回歸差分移動平均線(Autoregressive Integrated Moving Average, ARIMA)
ARIMA模型全稱為自回歸差分移動平均模型(Autoregressive Integrated Moving Average Model)。ARIMA模型主要由三部分構(gòu)成,分別為自回歸模型(AR)、差分過程(I)和移動平均模型(MA)。
ARIMA模型的基本思想是利用數(shù)據(jù)本身的歷史信息來預(yù)測未來。一個時間點上的標(biāo)簽值既受過去一段時間內(nèi)的標(biāo)簽值影響,也受過去一段時間內(nèi)的偶然事件的影響,這就是說,ARIMA模型假設(shè):標(biāo)簽值是圍繞著時間的大趨勢而波動的,其中趨勢是受歷史標(biāo)簽影響構(gòu)成的,波動是受一段時間內(nèi)的偶然事件影響構(gòu)成的,且大趨勢本身不一定是穩(wěn)定的
簡而言之,ARIMA模型就是試圖通過數(shù)據(jù)的自相關(guān)性和差分的方式,提取出隱藏在數(shù)據(jù)背后的時間序列模式,然后用這些模式來預(yù)測未來的數(shù)據(jù)。其中:
- AR部分用于處理時間序列的自回歸部分,它考慮了過去若干時期的觀測值對當(dāng)前值的影響。
- I部分用于使非平穩(wěn)時間序列達到平穩(wěn),通過一階或者二階等差分處理,消除了時間序列中的趨勢和季節(jié)性因素。
- MA部分用于處理時間序列的移動平均部分,它考慮了過去的預(yù)測誤差對當(dāng)前值的影響。
結(jié)合這三部分,ARIMA模型既可以捕捉到數(shù)據(jù)的趨勢變化,又可以處理那些有臨時、突發(fā)的變化或者噪聲較大的數(shù)據(jù)。所以,ARIMA模型在很多時間序列預(yù)測問題中都有很好的表現(xiàn)。
優(yōu)點:
模型十分簡單,只需要內(nèi)生變量而不需要借助其他外生變量。(所謂內(nèi)生變量指的應(yīng)該是僅依賴于該數(shù)據(jù)本身,而不像回歸需要其他變量)
缺點:
要求時序數(shù)據(jù)是穩(wěn)定的(stationary),或者是通過差分化(differencing)后是穩(wěn)定的。
本質(zhì)上只能捕捉線性關(guān)系,而不能捕捉非線性關(guān)系。
季節(jié)性自回歸整合移動平均模型 SARIMA
SARIMA 是一種常用的時序分析方法,它是 ARIMA 模型在季節(jié)性數(shù)據(jù)上的擴展。SARIMA 模型可以用于預(yù)測季節(jié)性時間序列數(shù)據(jù),例如每年的銷售額或每周的網(wǎng)站訪問量。下面是SARIMA模型的優(yōu)缺點:
優(yōu)點:
- SARIMA模型可以很好地處理季節(jié)性數(shù)據(jù),因為它考慮了時間序列數(shù)據(jù)中的季節(jié)性因素。
- SARIMA模型可以對時間序列數(shù)據(jù)進行長期預(yù)測,因為它可以捕捉到數(shù)據(jù)中的趨勢和周期性變化。
- SARIMA模型可以用于多變量時間序列數(shù)據(jù),因為它可以同時考慮多個變量之間的關(guān)系。
缺點:
- SARIMA模型需要大量的歷史數(shù)據(jù)來訓(xùn)練,因此在數(shù)據(jù)量較少的情況下可能不太適用。
- SARIMA模型對異常值比較敏感,因此需要對異常值進行處理。
- SARIMA模型的計算復(fù)雜度較高,需要進行大量的計算和優(yōu)化。
具有外生回歸量的季節(jié)性自回歸整合移動平均模型 SARIMAX
具有外生回歸量的季節(jié)性自回歸整合移動平均模型(Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors, SARIMAX)是在差分移動自回歸模型(ARIMA)的基礎(chǔ)上加上季節(jié)(S,Seasonal)和外部因素(X,eXogenous)。也就是說以ARIMA基礎(chǔ)加上周期性和季節(jié)性,適用于時間序列中帶有明顯周期性和季節(jié)性特征的數(shù)據(jù)。
3 其他時序模型
這類方法以 lightgbm、xgboost 為代表,一般就是把時序問題轉(zhuǎn)換為監(jiān)督學(xué)習(xí),通過特征工程和機器學(xué)習(xí)方法去預(yù)測;這種模型可以解決絕大多數(shù)的復(fù)雜的時序預(yù)測模型。支持復(fù)雜的數(shù)據(jù)建模,支持多變量協(xié)同回歸,支持非線性問題。
不過這種方法需要較為復(fù)雜的人工特征過程部分,特征工程需要一定的專業(yè)知識或者豐富的想象力。特征工程能力的高低往往決定了機器學(xué)習(xí)的上限,而機器學(xué)習(xí)方法只是盡可能的逼近這個上限。特征建立好之后,就可以直接套用樹模型算法 lightgbm/xgboost,這兩個模型是十分常見的快速成模方法,除此之外,他們還有以下特點:
- 計算速度快,模型精度高;
- 缺失值不需要處理,比較方便;
- 支持 category 變量;
- 支持特征交叉。
具體選擇哪種方法需要根據(jù)數(shù)據(jù)的性質(zhì)、問題的特點以及自身的經(jīng)驗和能力來綜合考量。
需要根據(jù)具體的數(shù)據(jù)特征、問題要求和自身的能力來選擇合適的時間序列預(yù)測方法。有時,結(jié)合多個方法可以提高預(yù)測的準(zhǔn)確性和穩(wěn)定性。同時,為了更好地選擇模型和評估預(yù)測結(jié)果,對數(shù)據(jù)進行可視化分析和模型診斷也是很重要的。