張晨陽(yáng) 韋增欣 郜星軍
[摘? ? 要] LSTM是基于循環(huán)神經(jīng)網(wǎng)絡(luò)為避免梯度爆炸問(wèn)題而進(jìn)行的改進(jìn)的長(zhǎng)短期記憶網(wǎng)絡(luò)。相比統(tǒng)計(jì)學(xué)以及計(jì)量經(jīng)濟(jì)學(xué)中的預(yù)測(cè)方法,LSTM預(yù)測(cè)金融數(shù)據(jù)有更好的優(yōu)勢(shì)。文章詳細(xì)分析了長(zhǎng)短性記憶網(wǎng)絡(luò)(LSTM)的數(shù)學(xué)傳導(dǎo)過(guò)程,并且使用深圳成指指數(shù)月數(shù)據(jù)進(jìn)行了實(shí)證分析,取得了不錯(cuò)的效果。
[關(guān)鍵詞] LSTM模型;神經(jīng)網(wǎng)絡(luò);預(yù)測(cè)
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 15. 043
[中圖分類(lèi)號(hào)] F224;F830? ? [文獻(xiàn)標(biāo)識(shí)碼]? A? ? ? [文章編號(hào)]? 1673 - 0194(2019)15- 0093- 05
1? ? ? 引? ? 言
股票市場(chǎng)上每天都有大量的交易數(shù)據(jù),在分析股票走勢(shì)時(shí),無(wú)論投資者還是投資機(jī)構(gòu)者投機(jī)者均需將交易數(shù)據(jù)作為首要的參考數(shù)據(jù)。參考數(shù)據(jù)多種多樣,一般的有K線、分時(shí)線等等。通過(guò)選取上述數(shù)據(jù)進(jìn)行分析預(yù)測(cè)從而希望可以獲得更高的收益。股票的走勢(shì)多種多樣,如何在看似不可預(yù)測(cè)的股票市場(chǎng)中獲得收益,投資者需要時(shí)刻觀察股票市場(chǎng)的種種細(xì)小變化。一般的研究方法以統(tǒng)計(jì)學(xué)和計(jì)量經(jīng)濟(jì)學(xué)方法為主,簡(jiǎn)單的有指數(shù)平滑法、多元回歸法、ARIMA模型以及GARCH模型等等。但是上述方法均趨向于研究線性或者周期性穩(wěn)定數(shù)據(jù)。而股票數(shù)據(jù)往往表現(xiàn)出種種非線性或者非周期性,故有越來(lái)越多的學(xué)者開(kāi)始尋找其他的預(yù)測(cè)方法。
神經(jīng)網(wǎng)絡(luò)是一個(gè)高度復(fù)雜的非線性人工智能系統(tǒng)。因此有很多的學(xué)者專(zhuān)家將其運(yùn)用到股票市場(chǎng)進(jìn)行預(yù)測(cè)或者在圖像識(shí)別方面進(jìn)行分析。與傳統(tǒng)的統(tǒng)計(jì)學(xué)以及計(jì)量經(jīng)濟(jì)學(xué)預(yù)測(cè)方法相比,神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)有很大的進(jìn)步。LSTM是在RNN神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上開(kāi)發(fā)出具有選擇性記憶功能的LSTM網(wǎng)絡(luò)。陸澤楠、商玉林將LSTM模型運(yùn)用到了鋼鐵價(jià)格的預(yù)測(cè),結(jié)果與SVM模型相比,耗時(shí)減少,精度提高。孫瑞奇將LSTM神經(jīng)網(wǎng)絡(luò)運(yùn)用到美股股指價(jià)格趨勢(shì)中進(jìn)行預(yù)測(cè)研究,在文中將LSTM模型運(yùn)用到標(biāo)普500指數(shù)上得出LSTM神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)方面比RNN神經(jīng)網(wǎng)絡(luò)模型精確度更高的結(jié)論。
但是上述研究并沒(méi)有將LSTM模型的數(shù)學(xué)機(jī)理表示出來(lái)。所以本文在此將其數(shù)學(xué)機(jī)理進(jìn)行分析并且進(jìn)行實(shí)證研究。
2? ? ? LSTM模型
2.1? ?LSTM模型運(yùn)行機(jī)理
1997年Hochreiter和Schmidhuber提出了長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM), Graves在前者的基礎(chǔ)上做了改進(jìn),增加了遺忘門(mén),這樣就可以控制歷史信息被記憶的比例。LSTM適合從經(jīng)驗(yàn)中字習(xí),適用于處理和預(yù)測(cè)時(shí)間延遲的時(shí)間序列,這也是LSTM區(qū)別于其他神經(jīng)網(wǎng)絡(luò)模型的原因。 LSTM之所以能夠解決長(zhǎng)期依賴(lài)問(wèn)題的關(guān)鍵在于細(xì)胞狀態(tài),即圖1中最上面的水平線。相當(dāng)于一個(gè)記憶鏈條,這個(gè)鏈條與其他部分只進(jìn)行一些簡(jiǎn)單的線性運(yùn)算,因此它可以保存信息,進(jìn)行”記憶”。
圖1中h,x,tanh,σ分別表示輸出、輸入、雙曲正切函數(shù)和sigmoid函數(shù),A代表一個(gè)隱藏層節(jié)點(diǎn),從圖中可以看出,LSTM既可以向細(xì)胞狀態(tài)添加信息,也可以從細(xì)胞狀態(tài)刪除信息,而要達(dá)到這個(gè)目的,需通過(guò)一些信息閥門(mén)。這些閥門(mén)由一個(gè)sigmoid函數(shù)來(lái)控制或激活(即上圖中的σ),因?yàn)閟igmoid函數(shù)的輸出值介于0~1之間,這樣就能決定到底有多大比例的信息可以通過(guò)這個(gè)閥門(mén)。若sigmoid函數(shù)輸出為0就表示信息不能通過(guò),若輸出為1就意味著所有信息都可以通過(guò)。下面將一步一步地介紹LSTM的運(yùn)行流程。
第一步,需要決定從細(xì)胞狀態(tài)中刪除或遺忘多少信息,所以這個(gè)閥門(mén)叫遺忘門(mén)。它的輸入是上一期的輸出值ht-1,和當(dāng)期的輸入值xt,輸出為0~1之間的某一個(gè)值,它的表達(dá)式為:
3? ? ? 實(shí)證分析
3.1? ?選取樣本
從同花順收集2015年12月至2017年3月的共28個(gè)月深證成指指數(shù)月數(shù)據(jù),如表1所示(數(shù)據(jù)來(lái)源:同花順軟件)。
3.2? ?確定網(wǎng)絡(luò)結(jié)構(gòu)
基于MATLAB的LSTM神經(jīng)網(wǎng)絡(luò)包括輸出層,隱含層和輸出層。本文選用三個(gè)月來(lái)用來(lái)推測(cè),接下來(lái)一個(gè)月作為訓(xùn)練,以此類(lèi)推,最后四個(gè)月用來(lái)檢驗(yàn)。LSTM網(wǎng)絡(luò)選用輸入節(jié)點(diǎn)為12,輸出節(jié)點(diǎn)為4個(gè),隱藏節(jié)點(diǎn)為18個(gè)。
表2為歸一化之后的數(shù)據(jù)。
3.3? ?誤差分析
檢驗(yàn)樣本的觀測(cè)值和LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的擬合效果誤差如圖2所示。
衡量一個(gè)模型優(yōu)劣的一項(xiàng)重要標(biāo)準(zhǔn)時(shí)樣本觀測(cè)值與模型擬合值的比較,樣本觀測(cè)值與模型擬合值的相對(duì)誤差越小,模型的穩(wěn)定性就越好。有上圖可知,該模型預(yù)測(cè)精度較高,擬合效果較好。
采用2016年12-2017年12月份深圳成指的實(shí)際指數(shù)與訓(xùn)練指數(shù)進(jìn)行比較,做出神經(jīng)網(wǎng)絡(luò)的誤差分析,如表3所示。
上表可以發(fā)現(xiàn)檢驗(yàn)樣本的誤差率均不大于0.01%,平均誤差為-0.02%。
4? ? ? 結(jié)? ? 語(yǔ)
深圳成指指數(shù)月數(shù)據(jù)的變化波動(dòng)不定,傳統(tǒng)的預(yù)測(cè)只能對(duì)線性或者規(guī)律周期性的數(shù)據(jù)進(jìn)行預(yù)測(cè)。本文采用LSTM神經(jīng)網(wǎng)絡(luò)算法建立神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型對(duì)股票指數(shù)月數(shù)據(jù)進(jìn)行分析。從上述實(shí)證分析可以得出,LSTM神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)效果上具有很大的提高。
本文對(duì)最新的神經(jīng)網(wǎng)絡(luò)模型LSTM的數(shù)學(xué)機(jī)理進(jìn)行分析并且進(jìn)行實(shí)證研究,并且取得了不錯(cuò)的結(jié)果。神經(jīng)網(wǎng)絡(luò)提出的時(shí)間已有數(shù)十年時(shí)間,但是在改進(jìn)和應(yīng)用方面還有很大的開(kāi)發(fā)潛力這也是本文的不足之處,首先LSTM神經(jīng)網(wǎng)絡(luò)模型較為復(fù)雜,運(yùn)算時(shí)間比較長(zhǎng),其次,LSTM神經(jīng)網(wǎng)絡(luò)模型處理數(shù)據(jù)效率也比較低。為此LSTM模型還可以在這兩方面進(jìn)行改進(jìn)。
此外,為了利于數(shù)據(jù)合理分布,提高訓(xùn)練速度和靈敏性,增加模型精度以及有效避開(kāi)隱含層Sigmoid激活函數(shù)的飽和區(qū),使得輸入的數(shù)值在(0,1)之間,把所有的輸入都進(jìn)行歸一化處理,這樣處理可能有更好的結(jié)果。
主要參考文獻(xiàn)
[1]周志華.機(jī)器學(xué)習(xí)[M].北京:清華大學(xué)出版社,2015:97-121.
[2]吳婷,余勝威.MATLAB金融算法分析實(shí)戰(zhàn)基于機(jī)器學(xué)習(xí)的股票量化分析[M].北京:機(jī)械工業(yè)出版社,2016:170-216.
[3]史忠植.神經(jīng)網(wǎng)絡(luò)[M].北京:高等教育出版社,2009.:48-60.
[4]張樹(shù)德.金融計(jì)算教程-MATLAB金融工具箱的應(yīng)用[M].北京:清華大學(xué)出版社,2008:1-40.
[5]劉浩,韓晶.MATLAB2016完全自學(xué)一本通[M].北京:清華大學(xué)出版社,2016:191-250.
[6]鄭毅,李鳳,張麗,等.基于長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM)的人體姿態(tài)檢測(cè)方法研究[J].計(jì)算機(jī)應(yīng)用,2018,36(6):1-8.
[7]王秀美.深度學(xué)習(xí)在回歸預(yù)測(cè)中的研究及應(yīng)用.[J].控制與決策,2016(23):149-151.
[8]孫睿奇.基于LSTM神經(jīng)網(wǎng)絡(luò)的美股股指價(jià)格趨勢(shì)預(yù)測(cè)模型的研究[D].北京:首都經(jīng)濟(jì)貿(mào)易大學(xué),2015:21-30.
[9]何正義,曾憲華,曲省衛(wèi),等.基于集成深度學(xué)習(xí)的時(shí)間序列預(yù)測(cè)模型[J].山東大學(xué)學(xué)報(bào):工學(xué)版,2016(6):40-47.
[10]張瀟,韋增欣.隨機(jī)森林在股票趨勢(shì)預(yù)測(cè)中的應(yīng)用[J].中國(guó)管理信息化,2018(3):120-123.
[11]寇茜茜,何希平.基于RBM的神經(jīng)網(wǎng)絡(luò)時(shí)間序列預(yù)測(cè)[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2016(9):171-158.
[12]周生強(qiáng).LSTM對(duì)上證指數(shù)的實(shí)證研究[J].金融天地,2017(23):315-315.
[13]陸澤楠,商玉林.基于LSTM神經(jīng)網(wǎng)絡(luò)模型的鋼鐵價(jià)格預(yù)測(cè)[J].科技視界,2017(5):116-117.
[14]陳巧紅,孫超紅,于仕敏,等.基于遞歸神經(jīng)網(wǎng)絡(luò)的廣告點(diǎn)擊率預(yù)估研究[J].浙江理工大學(xué)學(xué)報(bào):自然科學(xué)版,2016(11):880-885.
[15]王書(shū)芹,華鋼,郝國(guó)生,等.基于灰狼優(yōu)化算法的長(zhǎng)短期記憶網(wǎng)絡(luò)在時(shí)間序列預(yù)測(cè)中的應(yīng)用[J].中國(guó)科技論文,2017(20):2309-2314.
[16]金雪軍,曹贏.美國(guó)擴(kuò)張性貨幣政策對(duì)中國(guó)通脹的影響——基于深度長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的分析[J].國(guó)際金融,2016(3):80-83.
[17]米碩,孫瑞彬,明曉,等.基于LSTM的任務(wù)定價(jià)規(guī)律模型.[J].科技走廊,2016(6):38-38.
[18]陸凱韜,董紅召,陳寧.基于LSTM的公共自行車(chē)服務(wù)點(diǎn)租還需求量預(yù)測(cè).[J].科技視界,2017(25):178-181.
[19]孫睿奇.基于LSTM神經(jīng)網(wǎng)絡(luò)的美股股指價(jià)格趨勢(shì)預(yù)測(cè)模型的研究[D].北京,首都經(jīng)濟(jì)貿(mào)易大學(xué),2015.
[20]楊涵.基于深度學(xué)習(xí)的氣象預(yù)測(cè)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2017.