• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于ARIMA和AT-LSTM組合模型的股票價(jià)格預(yù)測

      2022-05-31 15:26:24張怡
      電腦知識與技術(shù) 2022年11期

      摘要: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é)與工程。

      镇远县| 福州市| 美姑县| 秦皇岛市| 台安县| 黑山县| 库伦旗| 沈丘县| 泸定县| 九江市| 永城市| 洛浦县| 扶沟县| 巴彦淖尔市| 蒙山县| 宁夏| 烟台市| 宜宾市| 衡南县| 石屏县| 保靖县| 化州市| 大竹县| 永城市| 夏河县| 台江县| 和林格尔县| 临湘市| 巴东县| 邵东县| 嵩明县| 德化县| 永靖县| 崇义县| 临潭县| 四平市| 隆尧县| 琼结县| 额济纳旗| 建瓯市| 东莞市|