摘要:ARIMA、LSTM等多種預(yù)測模型已在時(shí)間序列預(yù)測中得到應(yīng)用,預(yù)測精度參差不齊。ARIMA、LSTM以及ARIMA-LSTM組合模型的預(yù)測精度仍有提升空間。為LSTM引入注意力機(jī)制形成AT-LSTM模型,將ARIMA的預(yù)測殘差引入AT-LSTM,進(jìn)一步提高預(yù)測精度。利用不同的評估方法對混合模型進(jìn)行評估,實(shí)驗(yàn)結(jié)果表明ARIMA和AT-LSTM組合模型的誤差降低4倍,預(yù)測精度得到了提高。
關(guān)鍵詞:時(shí)間序列預(yù)測;ARIMA;LSTM;組合模型
中圖分類號:TP391? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)11-0118-04
1? 引言
在時(shí)間序列預(yù)測方面,最常見的便是ARIMA模型,ARIMA是在20世紀(jì)70年代由George Box和Gwilyn Jenkins提出的一種著名的時(shí)間序列預(yù)測方法,ARIMA模型是一種線性序列預(yù)測模型,受到輸入的時(shí)間序列特征的限制,在處理平穩(wěn)的時(shí)間序列上有很好的效果,但在處理非平穩(wěn)數(shù)據(jù)上,其預(yù)測結(jié)果存在很多噪聲,導(dǎo)致預(yù)測結(jié)果無法使用。
在1997年Sepp Hochreiter 與 Jürgen Schmidhuber[1]聯(lián)合提出了LSTM模型,經(jīng)過了20多年發(fā)展,LSTM在語言識別、文本處理、機(jī)器翻譯、時(shí)間序列預(yù)測等方面得到了廣泛應(yīng)用。但LSTM也有其局限性,因?yàn)長STM主要是隨著時(shí)間推移進(jìn)行順序處理,在面對很長的序列時(shí)處理起來存在問題。Dzmitry Bahdanau[2]在2105年提出注意力模型,并應(yīng)用在機(jī)器翻譯上,有效解決了LSTM在較長序列處理上的問題, Qin[3]使用基于雙階段注意力機(jī)制的RNN模型進(jìn)行了時(shí)間序列預(yù)測,證實(shí)了注意力機(jī)制在時(shí)間序列預(yù)測方面的可行性。
股票價(jià)格是一個(gè)動(dòng)態(tài)、非線性復(fù)雜系統(tǒng),具有突發(fā)性、隨機(jī)性和規(guī)律復(fù)雜性等特點(diǎn)[4]。僅使用ARIMA模型對股票價(jià)格進(jìn)行預(yù)測很顯然無法取得很好效果,Zhang[5]在2003年提出ARIMA與LSTM神經(jīng)網(wǎng)絡(luò)模型組成混合模型可大幅提高預(yù)測精度,他認(rèn)為以往傳統(tǒng)的預(yù)測模型,例如ARIMA,是一種線性模型,擅長處理時(shí)間序列中的線性部分,LSTM神經(jīng)網(wǎng)絡(luò)模型是一直非線性模型,可以更好地處理時(shí)間序列中的非線性部分,ARIMA-LSTM混合模型便是這一思想的重要成果之一。
本文將以中國石油、中國石化兩家公司近9年的當(dāng)日股票交易收盤價(jià)為數(shù)據(jù)集,使用引入注意力機(jī)制的ARIMA-LSTM模型進(jìn)行預(yù)測,并將預(yù)測結(jié)果與ARIMA模型、LSTM模型的預(yù)測結(jié)果進(jìn)行對比。
2 模型介紹
2.1 ARIMA模型
ARIMA模型,即差分整合移動(dòng)平均自回歸模型,是時(shí)間序列預(yù)測常用的一種模型。
ARIMA(p,d,q),其中AR是自回歸,p為自回歸項(xiàng)數(shù);MA為移動(dòng)平均,q為移動(dòng)平均項(xiàng)數(shù);d為使非平穩(wěn)的時(shí)間序列變?yōu)槠椒€(wěn)的時(shí)間序列需要進(jìn)行的差分次數(shù)。
ARIMA模型的表現(xiàn)形式為[5]:
[yt=μ+i=1pγiyt-i+εt+i=1qθiεt-1]? ? ? ? ? ?(1)
式中:[yt]—當(dāng)前值;
[μ]—常數(shù)項(xiàng);
[p]—自回歸的階數(shù);
[q]—移動(dòng)平均的階數(shù);
[εt]—隨機(jī)擾動(dòng)項(xiàng)序列;
2.2 Augmented Dicky-Fuller(ADF)檢驗(yàn)
在使用ARIMA模型時(shí)需要所輸入的時(shí)間序列是平穩(wěn)的,所以在輸入之前,需對時(shí)間序列進(jìn)行檢測,ADF檢驗(yàn)是一種比較常用的統(tǒng)計(jì)檢測方法。
在一個(gè)自回歸過程中:[yt=byt-1+a+εt],如果滯后項(xiàng)系數(shù)b=1,則稱為單位根。通過ADF檢驗(yàn)判斷序列中是否存在單位根,若不存在單位根,則序列平穩(wěn);否則,序列不平穩(wěn)。
通過差分之后ADF檢驗(yàn),可以判斷序列經(jīng)過幾次后形成平穩(wěn)的時(shí)間序列,從而得出差分次數(shù)d。
2.3 LSTM模型
1997年LSTM模型的提出很好地解決了RNN會出現(xiàn)梯度爆炸和消失的問題,LSTM模型使用了若干特殊的“門”,分別為輸入門、輸出門和遺忘門。LSTM模型結(jié)構(gòu)如圖1所示。
LSTM模型前向計(jì)算方法可表示為[1]:
輸入門:
[it=σ(Wxixt+Whiht-1+WCiCt-1+bi)]? ? ? ? (2)
遺忘門:
[ft=σ(Wxfxt+Whfht-1+WCfCt-1+bf)]? ? ? ? ? ? ? (3)
細(xì)胞狀態(tài):
[Ct=ft⊙Ct-1+it⊙tanh(WxCxt+WhCht-1+bC)]? ? ?(4)
輸出門:
[Ot=σ(WxOxt+WhOht-1+WCOCt-1+bO)]? ? ? ?(5)
隱藏層狀態(tài):
[ht=Ot⊙tanh(Ct)]? ? ? ? ? ? ? ? ? ? ? (6)
以上式中:[W]—門的權(quán)重向量;
[b]—偏置量;
[σ]—sigmoid激活函數(shù);
[tanh]—雙曲正切激活函數(shù);
2.4 AT-LSTM模型
Qin認(rèn)為時(shí)序預(yù)測問題可能會有眾多的外部變量,網(wǎng)絡(luò)可能無法精確地選擇相關(guān)變量。同時(shí),Qin受到一些人類注意力的啟發(fā),認(rèn)為雙階段的注意力模型能很好地模擬人類行為,并將這種雙階段注意力機(jī)制引入到RNN中,形成DA-RNN(Dual-Stage Attention-Based RNN) 模型[3]。
整個(gè)模型可以分為兩部分,第一部分引入input attention mechanism對每一時(shí)刻的外部輸入自適應(yīng)性地提取相關(guān)性,結(jié)構(gòu)如圖2[3];第二部分引入temporal attention mechanism捕獲encoder的長期時(shí)序依賴信息,結(jié)構(gòu)如圖3[3]。
模型的輸入是[(x1,x2...xt)],每個(gè)x都是包含n個(gè)特征的向量,給定一個(gè)目標(biāo)序列[(y1,y2...yt-1)] ,通過[yt∧=F(y1,y2...yt-1,x1,x2...xt)],得到最終的預(yù)測值,相當(dāng)于用多變量來預(yù)測單變量。
本文所使用的AT-LSTM使用DA-RNN的temporal attention? mechanism為seq2seq的decoder引入注意力機(jī)制,從而避免seq2seq因過長序列導(dǎo)致性能下降。
在temporal attention? mechanism中,需要將t時(shí)間之前的隱藏層狀態(tài)[dt-1]和LSTM單元的細(xì)胞狀態(tài)[C't-1]作為該層的輸入,通過計(jì)算得到:
[lit=vTdtanh(Wd[dt-1;C't-1]+Udhi)] 1≤i≤T? ? ? ? ? ?(7)
通過 softmax 層,我們可以得到第 i 個(gè)decoder隱藏狀態(tài)[hi]和注意力權(quán)重[βit]。
[βit=exp(lit)j=1Texp(ljt)]? ? ? ? ? (8)
解碼器對所有的decoder的隱藏狀態(tài)按照權(quán)重求和得到帶有注意力的隱藏層狀態(tài)[Ct]。
[Ct=k=1Tβkthk]? ? ? ? ? ? ? ?(9)
將[[C1],[C2]...[Ct]]和目標(biāo)序列結(jié)合起來得到:
[y~t-1=Wd[yt-1;Ct-1]+b~]? ? ? ? ?(10)
利用新計(jì)算得到的[y~t-1],更新decoder的隱藏層狀態(tài)。
[dt=LSTM(dt-1,y~t-1)]? ? ? ? ? ? ?(11)
最終可以計(jì)算出T時(shí)刻的預(yù)測值
[y~T=vTy(Wy[dT;CT]+bW)+bv]? ? ? ? ? ? ?(12)
2.5 ARIMA和AT-LSTM組合模型
組合模型由兩部分組成,第一部分為ARIMA模型,利用ARIMA模型對時(shí)間序列進(jìn)行初步預(yù)測,生成預(yù)測結(jié)果[T1]和殘差序列[T2];第二部分為AT-LSTM模型,將第一部分生成的殘差序列[T1]作為AT-LSTM模型的輸入,利用AT-LSTM模型進(jìn)行處理和預(yù)測,得到新的預(yù)測結(jié)果[T3],將兩次預(yù)測結(jié)果[T1]和[T3]相結(jié)合便得到ARIMA和AT-LSTM組合模型的預(yù)測結(jié)果。
2.6 模型評估
使用均方差(MSE)、均方根誤差(RMSE)、平均絕對誤差(MAE)和平均絕對百分比誤差(MAPE)對模型進(jìn)行評估。
已知真實(shí)值序列[[y1,y2...yn]],運(yùn)行模型后得到預(yù)測值序列[[y∧1,y∧2...y∧n]]。
對于MSE有:
[MSE=1ni=1n(y∧i-yi)]? ? ? ? ? (13)
誤差越大,MSE值越大,反之,模型的預(yù)測結(jié)果越精確。
對于RMSE有:
[RMSE=1ni=1n(y∧i-yi)]? ? ? z? ? ?(14)
RMSE作為 MSE 的一種輔助評價(jià)方法,適用于某些預(yù)測值損失更大的情況。
對于MAE有:
[MAE=1ni=1n|y∧i-yi|]? ? ? ? ? ? ?(15)
利用MAE來測量觀測值與真實(shí)值之間的絕對誤差的平均值。
對于MAPE有:
[MAPE=100%ni=1n|y∧i-yiyi|]? ? ? ? ? ? ?(16)
3 實(shí)驗(yàn)
3.1 原始數(shù)據(jù)描述
對ARIMA模型,預(yù)先劃分訓(xùn)練集和驗(yàn)證集。在AT-LSTM模型中,通過設(shè)定windows_size,采用窗口滑動(dòng)的方式生成訓(xùn)練集和驗(yàn)證集。例如windows_size = 4,那么將前4個(gè)樣本數(shù)據(jù)作為訓(xùn)練集訓(xùn)練模型,并預(yù)測第5個(gè)值,而第5個(gè)樣本數(shù)據(jù)作為驗(yàn)證集對預(yù)測值進(jìn)行檢驗(yàn)。
3.2 建立ARIMA模型及線性預(yù)測
利用Augmented Dicky-Fuller(ADF)檢驗(yàn)對兩個(gè)原始數(shù)據(jù)集進(jìn)行檢驗(yàn),結(jié)果如下:
由ADF檢驗(yàn)結(jié)果得,兩個(gè)數(shù)據(jù)集均需進(jìn)行差分,對一階差分進(jìn)行ADF檢驗(yàn),結(jié)果如下:
從原始數(shù)據(jù)集一階差分ADF檢驗(yàn)結(jié)果可以得出,兩個(gè)數(shù)據(jù)集在一階差分后已平穩(wěn),無須再進(jìn)行拆分。
通過繪制兩個(gè)數(shù)據(jù)集一階差分后的自相關(guān)(ACF)圖和偏自相關(guān)(PACF)圖確定ARIMA模型的自回歸的階數(shù)p和移動(dòng)平均的階數(shù)q的可能組合,再利用循環(huán)函數(shù),迭代嘗試不同組合AIC值,選取AIC值最小的組合。
對中國石油數(shù)據(jù)集進(jìn)行預(yù)測使用ARIMA(5,1,0)模型,對中國石化數(shù)據(jù)集進(jìn)行預(yù)測使用ARIMA(1,1,3)模型。
3.3 利用AT-LSTM進(jìn)行非線性預(yù)測
通過ARIMA對數(shù)據(jù)集進(jìn)行線性預(yù)測,生成了殘差序列,并將殘差序列作為非線性預(yù)測的輸入序列代入到AT-LSTM模型中。
在AT-LSTM首輪訓(xùn)練和預(yù)測中,使用了以下可調(diào)參數(shù):
實(shí)驗(yàn)只對收盤價(jià)進(jìn)行預(yù)測,所以模型的輸入和輸出維度均為1,AT-LSTM的層數(shù)設(shè)置為了1層。初始學(xué)習(xí)率設(shè)置為0.001,并使用Adam算法在訓(xùn)練過程中對學(xué)習(xí)率進(jìn)行動(dòng)態(tài)調(diào)整。
預(yù)測結(jié)果如圖所示。
從預(yù)測結(jié)果圖片得出,兩組ARIMA和AT-LSTM組合模型對數(shù)據(jù)集的擬合程度很好。接下來通過設(shè)置不同可調(diào)參數(shù)的組合,利用MSE、RMSE、MAE和MAPE對模型進(jìn)行評估,并將ARIMA、LSTM和組合模型的評價(jià)結(jié)果進(jìn)行對比。結(jié)果如表格所示。
從表5可以總結(jié)出window_size和hidden_size的變化對模型的預(yù)測精度影響較其他參數(shù)大。Window_size的變化直接影響到AT-LSTM模型訓(xùn)練集和驗(yàn)證集的大小,對AT-LSTM的訓(xùn)練產(chǎn)生影響。Hidden_size決定了AT-LSTM模型的復(fù)雜度,hidden_size越大,AT-LSTM模型越復(fù)雜。所以選擇更加合適的window_size和hidden_size將使得組合模型的預(yù)測精度進(jìn)一步提高。
4 結(jié)束語
實(shí)驗(yàn)結(jié)果表明,ARIMA和AT-LSTM組合模型較單個(gè)模型,預(yù)測誤差平均降低4倍。本次實(shí)驗(yàn)使用的數(shù)據(jù)集大小為千位級,后續(xù)可嘗試使用更大數(shù)據(jù)集對模型進(jìn)行驗(yàn)證;本次實(shí)驗(yàn)僅僅只是對股票交易中的“收盤價(jià)”進(jìn)行了預(yù)測,對股票交易記錄的其他維度進(jìn)行預(yù)測也具有價(jià)值。實(shí)驗(yàn)結(jié)果也表明單獨(dú)使用LSTM模型在某種情況預(yù)測精度比ARIMA和AT-LSTM組合模型更高,說明該模型還有改進(jìn)空間,可以進(jìn)一步完善,并且該組合模型在股票交易以外的其他領(lǐng)域是否也具有較高的預(yù)測精度還有待考證。
參考文獻(xiàn):
[1] Hochreiter S,Schmidhuber J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.
[2] Bahdanau D,Cho K,Bengio Y.Neural machine translation by jointly learning to align and translate[EB/OL].2014:arXiv:1409.0473[cs.CL].https://arxiv.org/abs/1409.0473
[3] Qin Y,Song D J,Chen H F,et al.A dual-stage attention-based recurrent neural network for time series prediction[C]//Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence.August 19-26,2017.Melbourne,Australia.California:International Joint Conferences on Artificial Intelligence Organization,2017.
[4] 原云霄,王寶海.基于ARIMA模型對我國服務(wù)價(jià)格指數(shù)的預(yù)測[J].數(shù)學(xué)的實(shí)踐與認(rèn)識,2018,48(7):130-137.
[5] Zhang G P.Time series forecasting using a hybrid ARIMA and neural network model[J].Neurocomputing,2003,50:159-175.
收稿日期:2021-01-24
作者簡介:張怡(1993—) ,男,湖北荊州人,學(xué)士,研究方向?yàn)閿?shù)據(jù)科學(xué)與工程。