楊 珺,佘佳麗,劉艷珍
1) 江西農(nóng)業(yè)大學(xué)軟件學(xué)院,江西南昌330045 ;2)南昌工學(xué)院電氣與信息工程學(xué)院,江西南昌330099
在信息爆炸時代,人們通常把與時間關(guān)聯(lián)的數(shù)據(jù)序列稱為時間序列.時間序列是將某種統(tǒng)計(jì)指標(biāo)的數(shù)值按時間前后順序排列所形成的數(shù)列[1].迄今為止,時間序列數(shù)據(jù)正在生活的各個領(lǐng)域以倍速海量產(chǎn)生.比如交通序列數(shù)據(jù),相應(yīng)時間對應(yīng)的交通流量,用有效方法對某重要路段未來的某時段的交通流量的預(yù)測[2],可有效調(diào)節(jié)路段交通擁擠和堵塞問題.再比如在商業(yè)經(jīng)濟(jì)中,對于觀測到的每一時刻的股票利率、價格、開盤價、閉盤價和銷量等的時間序列數(shù)據(jù),隨時間的推移呈海量式增長,對股票的預(yù)測[3]具有實(shí)用價值.
除了通過從統(tǒng)計(jì)學(xué)角度來考慮時間序列問題外,人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)作為一種非線性方法,也在各個領(lǐng)域得到了廣泛應(yīng)用.ANN模型被用于非線性時間序列分析和預(yù)測分析中.楊祎玥等[4]使用深度循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合小波變換方法,建立基于小波變換的深度循環(huán)神經(jīng)網(wǎng)絡(luò)的水文時間序列預(yù)測模型(wavelet analysis and deep recurrent neural network, WA-DRNN),并成功應(yīng)用到高度非線性的水文時間序列中.YONG等[5]使用深度神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)股票市場交易模擬系統(tǒng)來進(jìn)行股市預(yù)測.HUANG等[6]研究了一種提取車內(nèi)噪聲特征的特征融合過程,提出了一種改進(jìn)的使用連續(xù)限制玻爾茲曼機(jī)(continuous restricted Boltzmann machine, CRBM)對連續(xù)數(shù)據(jù)進(jìn)行建模的深度置信網(wǎng)絡(luò)(deep belief network, DBN).吳潤澤等[7]提出一種基于棧式自編碼神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)預(yù)測方法,并用于電網(wǎng)短期負(fù)荷預(yù)測中.傳統(tǒng)的DBN存在梯度彌散、局部最小值問題、非線性時間序列預(yù)測的長期預(yù)測性能不佳和高維序列數(shù)據(jù)復(fù)雜度高等問題,為此,本研究提出時序深度置信網(wǎng)絡(luò)(timing deep belief network, T-DBN)模型,通過改進(jìn)貪婪預(yù)訓(xùn)練方法和重構(gòu)誤差,改進(jìn)了DBN的預(yù)測精度.
BP(back propagation)神經(jīng)網(wǎng)絡(luò)[8]是目前應(yīng)用最廣的神經(jīng)網(wǎng)絡(luò),是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò).BP網(wǎng)絡(luò)具有輸入層、隱藏層和輸出層,即在輸入層與輸出層之間增加若干層神經(jīng)元作為隱含單元,隱含單元不可見,但改變隱含單元狀態(tài)會影響輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的關(guān)系,每層可有若干個節(jié)點(diǎn)(典型的3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖可掃描論文末頁右下角二維碼查看圖S1).BP神經(jīng)網(wǎng)絡(luò)包含信息的正向傳遞和誤差的反向傳播這兩個主要過程.從本質(zhì)上講,BP算法就是以網(wǎng)絡(luò)誤差的平方作為目標(biāo)函數(shù),使用梯度下降法來計(jì)算目標(biāo)函數(shù)的最小值.
在眾多遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[9]的變體中,LSTM模型彌補(bǔ)了RNN 的梯度消失和梯度爆炸、長期記憶能力不足等問題,使得循環(huán)神經(jīng)網(wǎng)絡(luò)能夠真正有效地利用長距離的時序信息.LSTM網(wǎng)絡(luò)的設(shè)計(jì)就是為了解決長時依賴(long-term dependencies)這個問題,而循環(huán)神經(jīng)網(wǎng)絡(luò)被成功應(yīng)用的關(guān)鍵就是LSTM. 在很多的長時時序任務(wù)上,采用LSTM結(jié)構(gòu)的循環(huán)神經(jīng)網(wǎng)絡(luò)比標(biāo)準(zhǔn)的循環(huán)神經(jīng)網(wǎng)絡(luò)表現(xiàn)更好.
DBN是由多個受限波爾茲曼機(jī)(restricted Boltzmann machine, RBM)堆疊外加一個分類層或回歸層組合而成的深度網(wǎng)絡(luò)[10-11].其結(jié)構(gòu)包含貪婪的前向?qū)W習(xí)過程和梯度下降的反向微調(diào)機(jī)制,使模型收斂到臨近最優(yōu)值的最優(yōu)點(diǎn),從而達(dá)到最佳的模型訓(xùn)練(DBN結(jié)構(gòu)圖請掃描論文末頁右下角二維碼查看圖S2).
1.3.1 RBM
RBM是玻爾茲曼機(jī)(Bolzman machine, BM)的一種變形[12].一個RBM結(jié)構(gòu)通常是由可見層和隱藏層兩層神經(jīng)元組成.隱藏層和可見層之間有對稱連接,層內(nèi)無連接(RBM網(wǎng)絡(luò)結(jié)構(gòu)圖請掃描論文末頁右下角二維碼查看圖S3).對比散度(contrastive divergence, CD)算法[13]令RBM的訓(xùn)練更簡單.
RBM與BM的不同之處在于前者的可見層和隱層之間是獨(dú)立的,層間全連接,層內(nèi)無連接.在RBM基本模型中, 設(shè)v為可見層, 層內(nèi)節(jié)點(diǎn)vi∈[0, 1],h為隱含層, 層內(nèi)單元hj∈[0, 1],a和b分別是可見層和隱含層的偏置,ai為可見層第i個單元到隱含層的偏置,bj為隱含層第j個單元到可見層的偏置,w是可見層和隱層之間的權(quán)重矩陣, 其元素wij是可見層第i個單元和隱含層第j個單元的連接權(quán)重系數(shù).網(wǎng)絡(luò)通過能量函數(shù)E(v,h)為每個可能的可見的矢量對分配一個概率,則(v,h)的聯(lián)合概率分布為
(1)
其中,Z為配分函數(shù).為確保該函數(shù)分布是標(biāo)準(zhǔn)化的,可通過對所有可能的可見和隱藏向量對求和得到,即
(2)
其中,E(v,h)為RBM的能量函數(shù),
(3)
RBM模型的最終目的是學(xué)習(xí)出參數(shù)θ={w,a,b}, 用以擬合給定的訓(xùn)練數(shù)據(jù).給定訓(xùn)練樣本{v1,v2, …,vn}, 經(jīng)過訓(xùn)練RBM,調(diào)整參數(shù)θ并擬合訓(xùn)練樣本,由相應(yīng)RBM表示的概率分布盡可能大地與訓(xùn)練數(shù)據(jù)的經(jīng)驗(yàn)分布相符合.一般采用最大似然估計(jì)的方法對網(wǎng)絡(luò)參數(shù)進(jìn)行估計(jì).
1.3.2 CRBM
CRBM 在 RBM 基礎(chǔ)上增加了兩種連接:一是前n時刻可觀測層與當(dāng)前時刻可觀測層之間的自回歸連接;二是前n時刻可觀測層與當(dāng)前時刻隱含層之間的連接.
RBM可看作是增加了可觀測層的前n時刻數(shù)據(jù)固定額外輸入的RBM,由此增加了前n時刻與當(dāng)前時刻的時間關(guān)聯(lián).雖然輸入有所增加,但CRBM并不比RBM計(jì)算更復(fù)雜,在給定可觀測層和前n時刻可觀測層的數(shù)據(jù)后,隱含層的激活概率是可以確定的;同樣,在給定隱含層和前n時刻可觀測層的數(shù)據(jù)后,可觀測層的激活狀態(tài)之間是條件獨(dú)立的.
本研究提出如圖1的T-DBN模型.目前關(guān)于深度網(wǎng)絡(luò)結(jié)構(gòu)的選取尚無完善的理論依據(jù),多數(shù)情況下3層比兩層的重構(gòu)誤差更大[14-15],本研究為確定最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)也采用文獻(xiàn)[14]方法進(jìn)行實(shí)驗(yàn).結(jié)果發(fā)現(xiàn),第3層即使使用很大的節(jié)點(diǎn)數(shù),重構(gòu)誤差也比第2層的大,說明第3層是一個干擾層.因此,T-DBN是把接近時序序列的兩個相鄰的隱層組成一個RBM,即一個輸入層和相鄰隱層組成RBM1,隱層1和隱層2組成CRBM1,以此類推,隱層2和隱層3組成CRBM2.在T-DBN模型預(yù)訓(xùn)練階段,使用貪婪學(xué)習(xí)的預(yù)訓(xùn)練方法,利用梯度修正并行回火(gradient fixing parallel tempering, GFPT)算法來訓(xùn)練.因?yàn)镚FPT算法較CD和并行回火算法(parallel tempering, PT)等方法可大幅減小采樣梯度和真實(shí)梯度之間的誤差,提升RMB網(wǎng)絡(luò)的訓(xùn)練效果[16].學(xué)習(xí)率設(shè)置為參數(shù)變化量值的1/1 000.基于重構(gòu)誤差理論來考究DBN模型的層數(shù),確定網(wǎng)絡(luò)深度.在反向微調(diào)階段,利用BFGS擬牛頓法,通過反向微調(diào)模型內(nèi)部參數(shù),確保了模型的預(yù)測精確度.頂層輸出模型使用softmax回歸方法,將提取的特征映射到輸出層,防止輸出時出現(xiàn)收斂過擬合,最后輸出預(yù)測值.
圖1 T-DBN模型Fig.1 T-DBN model
DBN模型的訓(xùn)練過程包括無監(jiān)督的逐層預(yù)訓(xùn)練(pre-training)和有監(jiān)督的微調(diào)(fine-tuning)兩個步驟.每層 RBM自底向上地提取輸入數(shù)據(jù),再通過各層RBM的訓(xùn)練,最后在回歸層使用BP算法,將最后一層 RBM 的輸出信息作為BP網(wǎng)絡(luò)的輸入數(shù)據(jù),得到輸出結(jié)果.預(yù)訓(xùn)練是自下而上的過程,反向微調(diào)是自上而下的過程,前者旨在大范圍內(nèi)找到模型的最優(yōu)解區(qū)域,并搭建模型的主體結(jié)構(gòu),后者則在縮小的范圍內(nèi)找到最優(yōu)解.在DBN模型中,BP網(wǎng)絡(luò)的隨機(jī)初始值易陷入局部最小值,且收斂速度慢,通過堆疊 RBM 網(wǎng)絡(luò),每層RBM都被優(yōu)化,再傳回回歸層的BP網(wǎng)絡(luò),有效解決了該問題.
在對T-DBN模型進(jìn)行整體訓(xùn)練時,首先要對輸入節(jié)點(diǎn)數(shù)、網(wǎng)絡(luò)層數(shù)、輸出類別數(shù)量和最大迭代次數(shù)等參數(shù)進(jìn)行初始化,再進(jìn)入T-DBN的無監(jiān)督預(yù)訓(xùn)練階段,并在預(yù)訓(xùn)練到達(dá)最大層數(shù)時結(jié)束預(yù)訓(xùn)練.然后,使用BFGS法對模型進(jìn)行反向微調(diào),直至迭代次數(shù)最大,則DBN訓(xùn)練結(jié)束.(有關(guān)T-DBN訓(xùn)練流程圖請掃描論文末頁右下角二維碼查看圖S4).DBN的參數(shù)是在相鄰兩層之間進(jìn)行調(diào)整,而T-DBN的是對整個模型所有層進(jìn)行調(diào)整.
本研究采用GFPT算法作為RBM預(yù)訓(xùn)練的主要方法.使用改進(jìn)的貪婪學(xué)習(xí)算法,可在相鄰的兩層之間將數(shù)據(jù)從可視層映射到隱層,再利用GFPT算法重構(gòu)隱層數(shù)據(jù)回可視層.計(jì)算誤差的同時調(diào)整內(nèi)部參數(shù).逐層訓(xùn)練RBM最終完成DBN的預(yù)訓(xùn)練.
圖2是改進(jìn)的貪婪預(yù)訓(xùn)練算法偽代碼.
輸入:訓(xùn)練數(shù)據(jù) S={x1, x2, …, xt},網(wǎng)絡(luò)層數(shù)L輸出:模型參數(shù)θL={wL, aL, bL},初始化 θ={w, a, b},使用隨機(jī)函數(shù)產(chǎn)生初始值1) For l={1, 2, …, L}, do2)While 沒達(dá)到最大迭代次數(shù)或誤差不滿足條件3) H0(xt)←xt 4) for k∈{1, 2, …, L-1 }, do5) aj(xt)=bj+wjhj-1(xt) 6) hj(xt)=φ(aj(xt)) 7) 將hi-1(xt)輸入GFPT算法8) 根據(jù)GFPT算法更新參數(shù)wij, ai, bj9) end10) end
圖2 改進(jìn)的貪婪預(yù)訓(xùn)練算法偽代碼
Fig.2 Improved greedy pre-trainingalgorithm pseudocode
傳統(tǒng)DBN的反向微調(diào)是采用BP算法,本研究采用擬牛頓法BFGS算法替代傳統(tǒng)使用的BP算法進(jìn)行DBN反向微調(diào)(全局微調(diào)流程圖請掃描論文末頁右下角二維碼查看圖S5).通過反向調(diào)整,誤差自頂向下傳播,有效提高了T-DBN模型的精度.在微調(diào)階段使用softmax代替?zhèn)鹘y(tǒng)的logistic算法,避免了輸出數(shù)據(jù)出現(xiàn)收斂過擬合的情況.若采用隨機(jī)初始化參數(shù)方法,隨著逐層訓(xùn)練,誤差會逐層擴(kuò)大,可能導(dǎo)致訓(xùn)練失?。甊BM的訓(xùn)練精度隨著深度增加而提高[15].經(jīng)過預(yù)訓(xùn)練和反向微調(diào)的深度置信網(wǎng)絡(luò),可克服直接訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)時易出現(xiàn)局部最優(yōu)的問題.
農(nóng)業(yè)機(jī)械總動力(以下簡稱農(nóng)機(jī)總動力),指主要用于農(nóng)、林、牧和漁業(yè)的各種動力機(jī)械的動力總和[17],這些動力來自牧業(yè)機(jī)械、林業(yè)機(jī)械、漁業(yè)機(jī)械、收獲機(jī)械、農(nóng)用運(yùn)輸機(jī)械、耕作機(jī)械、排灌機(jī)械、植物保護(hù)機(jī)械和其他農(nóng)業(yè)機(jī)械.農(nóng)機(jī)總動力是衡量區(qū)域農(nóng)業(yè)機(jī)械化水平的主要指標(biāo),利用現(xiàn)有數(shù)據(jù)預(yù)測中國江西省2016—2020年的農(nóng)機(jī)總動力,可為政府部門制定農(nóng)業(yè)機(jī)械化發(fā)展規(guī)劃及農(nóng)機(jī)生產(chǎn)企業(yè)指定產(chǎn)品結(jié)構(gòu)調(diào)整方案提供重要參考數(shù)據(jù).
3.1.1 實(shí)驗(yàn)數(shù)據(jù)
表1列舉了江西省1998—2015年農(nóng)業(yè)機(jī)械總動力的數(shù)據(jù)[18].
表1 江西省1998—2015年農(nóng)業(yè)機(jī)械總動力
3.1.2 預(yù)測方法及流程
現(xiàn)有農(nóng)機(jī)總動力預(yù)測方法主要有兩類:① 建立農(nóng)機(jī)總動力的時間序列預(yù)測模型,采用灰色預(yù)測、BP 神經(jīng)網(wǎng)絡(luò)[19]、模糊神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(support vector machine, SVM)和組合預(yù)測模型等方法;② 建立回歸模型,選取影響農(nóng)機(jī)總動力增長的因素,使用回歸模型建立農(nóng)機(jī)總動力與影響因素的關(guān)系模型,進(jìn)而對農(nóng)機(jī)總動力進(jìn)行預(yù)測.本研究使用基于相空間重構(gòu)和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的預(yù)測方法.
時間序列的相空間重構(gòu)理論就是通過一維時間序列{x(i)}的不同延遲時間τ來構(gòu)建d維的相空間矢量y(i)=(x(i), …,x(i+(d-1)τ)). 其中, 1≤i≤n-(d-1)τ.
江西省農(nóng)機(jī)總動力數(shù)據(jù)是每個年份對應(yīng)的數(shù)據(jù),本研究取τ=1 年,d=3, 即選取順序序列連續(xù)3年的農(nóng)機(jī)總動力數(shù)據(jù)來預(yù)測第4年的數(shù)據(jù).圖3是農(nóng)機(jī)總動力預(yù)測方法步驟描述圖.
1) 對江西省農(nóng)機(jī)總動力數(shù)據(jù)進(jìn)行歸一化預(yù)處理:xi′=a+(b-a)xi-xminxmax-xmin, i=1, 2, …, n. 其中,xi是輸入樣本數(shù)據(jù); xi′是歸一化后的數(shù)據(jù); n是樣本數(shù). 2) 根據(jù)相空間重構(gòu)理論確定輸入樣本維數(shù)d=3;3) 根據(jù)2)中的m選擇神經(jīng)網(wǎng)絡(luò)輸入層結(jié)點(diǎn)個數(shù),構(gòu)造出BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型;4) 劃分訓(xùn)練集和測試集.從原始數(shù)據(jù)中選擇部分訓(xùn)練數(shù)據(jù)作為訓(xùn)練集輸入到網(wǎng)絡(luò)完成訓(xùn)練,直到訓(xùn)練達(dá)到要求為止,記錄訓(xùn)練完成時的網(wǎng)絡(luò)參數(shù),若不符合訓(xùn)練目標(biāo),則返回3);選擇測試樣本輸入,得到第一個預(yù)測點(diǎn)值,然后將第1點(diǎn)的預(yù)測值加入原數(shù)據(jù)集,預(yù)測第2點(diǎn);依此類推,逐步生成預(yù)測結(jié)果.
圖3 農(nóng)機(jī)總動力預(yù)測方法步驟描述圖
Fig.3 Stepwise description chart offorecasting method for agriculturalmachinery total power
實(shí)驗(yàn)選取順序序列連續(xù)3年的農(nóng)機(jī)總動力數(shù)據(jù)來預(yù)測第4年的農(nóng)機(jī)總動力數(shù)據(jù),所以采用3-20-40-1型網(wǎng)絡(luò)模型結(jié)構(gòu),訓(xùn)練5×104次,訓(xùn)練的目標(biāo)精度定為1×10-5,學(xué)習(xí)速率α=0.01,網(wǎng)絡(luò)傳遞函數(shù)采用tansig函數(shù),訓(xùn)練函數(shù)采用traingdx函數(shù).把3層BP神經(jīng)網(wǎng)絡(luò)以同樣的條件訓(xùn)練的結(jié)果作為基線(baselines).
3.1.3 預(yù)測結(jié)果及評價
網(wǎng)絡(luò)預(yù)測的預(yù)測值、真實(shí)值和基線值的分布比較結(jié)果如圖4.
圖4 預(yù)測值和真實(shí)值對比圖Fig.4 Comparison between the predicted and the real values
使用4層BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測得出2016—2020年江西省農(nóng)機(jī)總動力依次為289.73、318.65、387.54、412.89和458.56 GW.
采用均方誤差(mean square error, MSE)作為評價指標(biāo),其值為
(5)
股票是投資者的主要投資手段之一,但它是一個高度非線性的動態(tài)系統(tǒng),其變化受到多方面的影響.研究股票序列價格預(yù)測不僅對投資者有很大的市場利益,也有很大的實(shí)際應(yīng)用意義.MATTHEW等[20]提出人工神經(jīng)網(wǎng)絡(luò)在預(yù)測股票價格方面比其他模型更適合,至此,反饋神經(jīng)網(wǎng)絡(luò)、徑向基神經(jīng)網(wǎng)絡(luò)等經(jīng)典的基于神經(jīng)網(wǎng)絡(luò)的方法被應(yīng)用到股票預(yù)測領(lǐng)域.
3.2.1 實(shí)驗(yàn)數(shù)據(jù)
影響股票價格趨勢預(yù)測的因素很多,并且大多具有高非線性.本研究從同花順軟件中提取1990-12-20—2018-03-30時間段內(nèi),上證指數(shù)(股票代碼:000001)每日的開盤價、最高價、最低價、收盤價和成交量信息作為股票價格的數(shù)據(jù)特征,來分析這些信息對股票價格的反應(yīng)趨勢.共提取到6 671條的每日股價信息,表頭信息包括日期、開盤價、收盤價、最高價、最低價、成交量等信息.因此,針對DBN和T-DBN模型,輸入特征包括開盤價、收盤價、最高價、最低價和成交量,輸出特征為某支股票的預(yù)測最高價.
3.2.2 預(yù) 測
將上證指數(shù)股票數(shù)據(jù)訓(xùn)練樣本分別輸入DBN和T-DBN模型并進(jìn)行訓(xùn)練,再將測試樣本輸入最終模型進(jìn)行預(yù)測,通過比較兩者預(yù)測的效果和準(zhǔn)確率,借此評價這3個模型.實(shí)驗(yàn)中訓(xùn)練集和測試集的占比分別為85%和15%,上證指數(shù)股票數(shù)據(jù)共有6 671條數(shù)據(jù),即將前5 670條數(shù)據(jù)作為訓(xùn)練集數(shù)據(jù),將第5 800~6 671條數(shù)據(jù)作為測試集.
LSTM模型共迭代2 000次,設(shè)10個隱層單元,5個輸入層和1個輸出層神經(jīng)元,α= 6×10-4. DBN模型采用4層5-20-20-1結(jié)構(gòu),用輸入層和隱層構(gòu)成第1個RBM,用隱層1和隱層2構(gòu)成第2個RBM,另外一層進(jìn)行邏輯回歸的輸出層,輸入節(jié)點(diǎn)5個,兩個隱層各20個節(jié)點(diǎn),α=0.01, 最大預(yù)訓(xùn)練和反向微調(diào)次數(shù)為100. T-DBN模型采用5-20-20-15-1結(jié)構(gòu),用輸入層和隱層構(gòu)成RBM,用隱層1和隱層2構(gòu)成第1個CRBM,用隱層2和隱層3構(gòu)成第2個CRBM,另外一層進(jìn)行分類回歸softmax的輸出層,設(shè)重構(gòu)誤差最大值為95%,隱含層3個,輸入節(jié)點(diǎn)5個,第1個隱層節(jié)點(diǎn)數(shù)為20,第2個隱層節(jié)點(diǎn)數(shù)為20,第3個隱層節(jié)點(diǎn)數(shù)為15,輸出層節(jié)點(diǎn)數(shù)為1,α=0.01, 最大預(yù)訓(xùn)練和反向微調(diào)次數(shù)皆為50.
將測試集數(shù)據(jù)分別輸入到以上訓(xùn)練好的LSTM、DBN和T-DBN模型中,得到的股票數(shù)據(jù)真實(shí)值和預(yù)測結(jié)果(請掃描論文末頁右下角二維碼見圖S7),兩者基本吻合.
3.2.3 結(jié)果評價
使用預(yù)測正確率指標(biāo)acc對模型進(jìn)行評價,如式(6).預(yù)測正確率越大,表明模型的預(yù)測性能越好,對預(yù)測股票價格趨勢越準(zhǔn)確.
acc=n/len(test_predict)
(6)
其中,n為股票最高價的預(yù)測值與真實(shí)值的絕對值誤差≤50的正確記錄的個數(shù); len(test_predict)為預(yù)測出的記錄數(shù)量.
采用股票真實(shí)值和實(shí)驗(yàn)所得的預(yù)測值,分別計(jì)得LSTM、DBN和T-DBN模型的預(yù)測準(zhǔn)確率為74.6%、77.9%和79.3%.對比3個預(yù)測模型在上證指數(shù)股票的預(yù)測準(zhǔn)確率,T-DBN預(yù)測準(zhǔn)確率明顯高于LSTM和DBN.
采用時間序列預(yù)測方法研究主要是從針對線性序列的統(tǒng)計(jì)學(xué)方法上升到針對非線性序列的神經(jīng)網(wǎng)絡(luò)的方法.BP神經(jīng)網(wǎng)絡(luò)已被廣泛應(yīng)用,基于人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)等淺層機(jī)器學(xué)習(xí)方法現(xiàn)已取得了較好的預(yù)測效果.但隨著數(shù)據(jù)的復(fù)雜度提高,其長期預(yù)測能力不佳及易陷入局部最優(yōu)等問題日益凸顯.為此,針對時間序列預(yù)測問題引入深度神經(jīng)網(wǎng)絡(luò),如RNN和基于RNN的各種變形模型(GRU和BPTT等).
本研究從深度神經(jīng)網(wǎng)絡(luò)的思路出發(fā),提出時序深度置信模型T-DBN,使用貪婪學(xué)習(xí)和梯度修正并行回火采樣處理輸入特征值,適用于具有時間預(yù)測時序數(shù)據(jù).以江西省農(nóng)機(jī)總動力和上證指數(shù)時序數(shù)據(jù)作為輸入特征值,通過實(shí)驗(yàn)討論了該模型的深度和參數(shù)選取與優(yōu)化,并與經(jīng)典的深度學(xué)習(xí)模型LSTM和DBN進(jìn)行對比.結(jié)果表明,對于農(nóng)機(jī)總動力和上證指數(shù)的預(yù)測擬合度,T-DBN明顯優(yōu)于其他兩種模型.未來我們將進(jìn)一步研究模型參數(shù)的選取和優(yōu)化,以及對其他類型時序數(shù)據(jù)擬合和預(yù)測效果.