黃偉建 李永濤 黃遠(yuǎn)
(河北工程大學(xué)信息與電氣工程學(xué)院,邯鄲 056038)
為提高混沌時(shí)間序列的預(yù)測精度,提出一種基于混合神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制的預(yù)測模型(Att-CNNLSTM),首先對混沌時(shí)間序列進(jìn)行相空間重構(gòu)和數(shù)據(jù)歸一化,然后利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對時(shí)間序列的重構(gòu)相空間進(jìn)行空間特征提取,再將CNN提取的特征和原時(shí)間序列組合,用長短期記憶網(wǎng)絡(luò)(LSTM)根據(jù)空間特征提取時(shí)間特征,最后通過注意力機(jī)制捕獲時(shí)間序列的關(guān)鍵時(shí)空特征,給出最終預(yù)測結(jié)果.將該模型對Logistic,Lorenz和太陽黑子混沌時(shí)間序列進(jìn)行預(yù)測實(shí)驗(yàn),并與未引入注意力機(jī)制的CNN-LSTM模型、單一的CNN和LSTM網(wǎng)絡(luò)模型、以及傳統(tǒng)的機(jī)器學(xué)習(xí)算法最小二乘支持向量機(jī)(LSSVM)的預(yù)測性能進(jìn)行比較.實(shí)驗(yàn)結(jié)果顯示本文提出的預(yù)測模型預(yù)測誤差低于其他模型,預(yù)測精度更高.
非線性科學(xué)的研究涉及到社會(huì)科學(xué)和自然科學(xué)的各個(gè)領(lǐng)域,如金融、電力、水文和天氣等.這些呈現(xiàn)出混沌現(xiàn)象的動(dòng)力學(xué)系統(tǒng)中,任一變量隨時(shí)間演化而產(chǎn)生的混沌時(shí)間序列,都蘊(yùn)含著系統(tǒng)豐富的動(dòng)力學(xué)信息,而這些信息往往包含著具有重要價(jià)值的內(nèi)容.對混沌時(shí)間序列的研究,就是要將其豐富的動(dòng)力學(xué)信息提取出來,并應(yīng)用到實(shí)際中去.在實(shí)際運(yùn)用中,對混沌時(shí)間序列進(jìn)行預(yù)測一直以來都是研究的熱點(diǎn).文獻(xiàn)[1]提出一種分?jǐn)?shù)階最大相關(guān)熵的自適應(yīng)濾波算法,在混沌時(shí)間序列的預(yù)測中可以減少噪聲影響,預(yù)測結(jié)果準(zhǔn)確率有所提升.文獻(xiàn)[2]提出了一種較為新穎的混沌時(shí)間序列預(yù)測方法,使用自適應(yīng)遺傳算法優(yōu)化大腦情感學(xué)習(xí),該方法能夠有效地反映混沌時(shí)間序列的發(fā)展趨勢,預(yù)測結(jié)果也優(yōu)于傳統(tǒng)神經(jīng)網(wǎng)絡(luò).文獻(xiàn)[3]提出一種貝葉斯框架下的魯棒極端學(xué)習(xí)機(jī),利用高斯混合分布和變分法使預(yù)測模型可以對異常點(diǎn)有較好的魯棒性.文獻(xiàn)[4]將改進(jìn)的內(nèi)核遞推最小二乘算法運(yùn)用于多元混沌時(shí)間序列的預(yù)測,并證明了該預(yù)測方法的有效性.文獻(xiàn)[5]提出使用向量投影來改進(jìn)傳統(tǒng)的灰色關(guān)聯(lián)分析模型,能夠在多元混沌時(shí)間序列預(yù)測中減少輸入維度,并提高預(yù)測精度.為了降低混沌時(shí)間序列的非平穩(wěn)性和非線性帶來的預(yù)測誤差,文獻(xiàn)[6]提出使用集合經(jīng)驗(yàn)?zāi)B(tài)分解和奇異譜分析對混沌時(shí)間序列進(jìn)行分解,該方法在風(fēng)能預(yù)測中取得了較好的表現(xiàn).
近年來,隨著深度學(xué)習(xí)技術(shù)和硬件技術(shù)法發(fā)展,已有研究人員將深度學(xué)習(xí)算法運(yùn)用到混沌時(shí)間序列的預(yù)測中,文獻(xiàn)[7]用長短期記憶網(wǎng)絡(luò)(longshort-term memory,LSTM)搭配合適的組合策略,驗(yàn)證了在低維情況下LSTM在混沌時(shí)間序列預(yù)測上能夠取得較好的效果; 文獻(xiàn)[8]則進(jìn)一步驗(yàn)證了使用LSTM預(yù)測混沌時(shí)間序列不僅能夠取得較好的預(yù)測效果,且預(yù)測模型具有較好的魯棒性.結(jié)合混沌理論和經(jīng)驗(yàn)?zāi)B(tài)分解,文獻(xiàn)[9]使用LSTM搭建預(yù)測模型,取得了可靠性高的預(yù)測結(jié)果,且預(yù)測模型具有一定的泛化能力.文獻(xiàn)[10]利用卷積神經(jīng)網(wǎng)絡(luò) (convolutional neural networks,CNN)訓(xùn)練連續(xù)和離散的低維混沌時(shí)間序列生成一個(gè)分類器,使其能夠識別并分類高維狀態(tài)下的混沌時(shí)間序列.
相比最小支持向量機(jī)(LSSVM)[11,12]、極端學(xué)習(xí)機(jī)[3,13]等傳統(tǒng)機(jī)器學(xué)習(xí)算法,LSTM和CNN等深度學(xué)習(xí)算法具有更強(qiáng)大的學(xué)習(xí)能力,在處理回歸問題上,對非線性數(shù)據(jù)具有很好的逼近能力.因此,為了進(jìn)一步提高混沌時(shí)間序列的預(yù)測精度,本文結(jié)合混沌系統(tǒng)的相空間重構(gòu)理論,提出一種基于深度學(xué)習(xí)算法的混沌時(shí)間序列混合預(yù)測模型(Att-CNN-LSTM).首先,將獲取的時(shí)間序列進(jìn)行數(shù)據(jù)預(yù)處理,即重構(gòu)相空間和數(shù)據(jù)歸一化.然后提出利用注意力機(jī)制捕獲CNN的相空間特征和LSTM的時(shí)間特征,并對輸出結(jié)果進(jìn)行權(quán)衡,給出預(yù)測結(jié)果.最后將提出的預(yù)測模型分別應(yīng)用于Logistic、Lorenz和太陽黑子混沌時(shí)間序列,仿真實(shí)驗(yàn)結(jié)果表明本文提出的預(yù)測模型可以有效地對混沌時(shí)間序列進(jìn)行預(yù)測,且與其他預(yù)測方法相比,Att-CNNLSTM模型具有更高的預(yù)測精度.
在時(shí)間序列的分析中,影響序列的因素很多,而且在動(dòng)力系統(tǒng)中,這些影響因素的動(dòng)力學(xué)方程往往都是非線性的,更有可能是混沌的[14].對于表現(xiàn)出混沌特性的時(shí)間序列,對序列進(jìn)行重構(gòu)相空間是研究序列所在動(dòng)力系統(tǒng)狀態(tài)的重要方法.因此,在搭建和訓(xùn)練預(yù)測模型之前要對混沌時(shí)間序列進(jìn)行相空間重構(gòu),此外,為消除量綱,提升模型的收斂速度和預(yù)測精度,再對原序列和重構(gòu)的相空間數(shù)據(jù)進(jìn)行歸一化處理.
重構(gòu)相空間理論的出現(xiàn)為混沌時(shí)間序列的預(yù)測提供了理論基礎(chǔ),在重構(gòu)相空間的基本思想中,系統(tǒng)中任一變量的變化是由相互作用著的其他變量所決定的,因此任一變量的發(fā)展變化都蘊(yùn)含著其他變量發(fā)展變化的信息[14].根據(jù)Packard等[15]提出的理論,使用動(dòng)力系統(tǒng)中某一變量的延遲坐標(biāo)即可重構(gòu)相空間,Takens[16]則證明了在合適的嵌入維下,即可恢復(fù)原動(dòng)力系統(tǒng)的維數(shù).為實(shí)現(xiàn)相空間的重構(gòu),使用互信息法 (mutual information)[17]確定延遲時(shí)間τ,Cao 法[18]確定嵌入維數(shù)m.
設(shè)有時(shí)間序列{x1,x2,x3,···,xN-1,xN},其長度為N,計(jì)算時(shí)間延遲τ和嵌入維數(shù)m,則相空間域 數(shù) 據(jù) 集={X(t),Y(t)},t=1,2,···,M,其 中M=N-(m-1)τ,X(t)=[Xt,Xt+τ,···,Xt+(m-1)τ],Y(t)=[Xt+1],矩陣表示如下:
在深度學(xué)習(xí)中,對數(shù)據(jù)集尤其是對非線性的回歸數(shù)據(jù)集進(jìn)行歸一化操作是非常有必要的預(yù)處理步驟,因?yàn)闅w一化操作不僅可以消除量綱,將數(shù)據(jù)統(tǒng)一到相同的尺度上,還可以提升模型的收斂速度和預(yù)測精度.本文利用歸一化將相空間域數(shù)據(jù)集和原始混沌時(shí)間序列數(shù)據(jù)集都統(tǒng)一到(0,1)范圍之間,歸一化函數(shù)可表示為
相空間域數(shù)據(jù)集Dˉ 和混沌時(shí)間序列經(jīng)過數(shù)據(jù)預(yù)處理后的數(shù)據(jù)集可表示為重構(gòu)相空間域D和混沌時(shí)間序列T.數(shù)據(jù)預(yù)處理的過程表示如圖1所示.
圖1 數(shù)據(jù)預(yù)處理過程Fig.1.The process of data preprocessing.
在混沌時(shí)間序列的預(yù)測中,不同類型的神經(jīng)網(wǎng)絡(luò)具有的作用也不同.序列的重構(gòu)相空間表示了原動(dòng)力系統(tǒng)空間特征,而序列中也蘊(yùn)含著豐富的時(shí)間特征.因此,本文提出Att-CNN-LSTM模型,利用CNN模型獲取序列重構(gòu)相空間的空間特征,通過LSTM得到空間特征下的時(shí)空特征,并采用注意力機(jī)制捕獲混合神經(jīng)網(wǎng)絡(luò)提取到的關(guān)鍵時(shí)空特征.
本節(jié)主要介紹Att-CNN-LSTM模型的框架結(jié)構(gòu),如圖2所示,主要包括如下細(xì)節(jié):
(1)數(shù)據(jù)預(yù)處理: 先對序列進(jìn)行重構(gòu)相空間,然后進(jìn)行歸一化處理;
(2)卷積神經(jīng)網(wǎng)絡(luò)層: 處理網(wǎng)絡(luò)輸入的重構(gòu)相空間域D,進(jìn)行卷積操作,獲取空間特征并輸入到Concatenate層;
(3)長短期記憶網(wǎng)絡(luò)層: 將Concatenate層融合得到的張量輸入到LSTM中,網(wǎng)絡(luò)根據(jù)CNN提取的空間特征獲取時(shí)空特征;
(4)注意力層: 計(jì)算CNN和LSTM獲取的時(shí)空特征的權(quán)重,獲得序列的完整特征表示,根據(jù)特征計(jì)算預(yù)測數(shù)值.
圖2 Att-CNN-LSTM 模型Fig.2.Att-CNN-LSTM model.
卷積網(wǎng)絡(luò)[19],又稱卷積神經(jīng)網(wǎng)絡(luò),是一種特殊的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),常用于處理具有已知網(wǎng)格狀拓?fù)涞臄?shù)據(jù)[20],在時(shí)間序列分析、計(jì)算機(jī)視覺和自然語言處理等領(lǐng)域有著廣泛的運(yùn)用.根據(jù)處理數(shù)據(jù)流的不同,CNN可以分為一維卷積、二維卷積和三維卷積,其中一維卷積在時(shí)間序列分析和自然語言處理領(lǐng)域運(yùn)用較多,本文采取的CNN結(jié)構(gòu)就屬于一維卷積神經(jīng)網(wǎng)絡(luò)[21],如圖3所示.不管是何種CNN,其組成主要包括基本的輸入層和輸出層,核心操作部分為卷積層、池化層(亦稱采樣層)和全連接層.在一維卷積中,卷積的作用可以理解為提取數(shù)據(jù)在某一方向的平移特征,在時(shí)間序列的分析中則表現(xiàn)為提取序列的特征,在這里卷積操作的本質(zhì)是循環(huán)乘積與加和,其數(shù)學(xué)表達(dá)如下:
式中y,h,u均為序列,k表示卷積次數(shù),N為u的長度.
圖3 一維卷積網(wǎng)絡(luò)Fig.3.One dimensional convolutional network.
循 環(huán) 神 經(jīng) 網(wǎng) 絡(luò) (recurrent neural network,RNN)是常規(guī)前饋神經(jīng)網(wǎng)絡(luò)的擴(kuò)展,能夠處理可變長度序列輸入.RNN通過循環(huán)隱藏狀態(tài)單元來處理可變長度序列,但是RNN在訓(xùn)練時(shí)會(huì)出現(xiàn)梯度消失和梯度爆炸,因此RNN很難捕獲數(shù)據(jù)的長期依賴[22].為解決RNN梯度消失的難題Hochreiter和 Schmidhuber[23]提出了長短期記憶網(wǎng)絡(luò),LSTM是一種門控循環(huán)神經(jīng)網(wǎng)絡(luò),是RNN的一種特殊表現(xiàn)形式,能夠很好地捕獲數(shù)據(jù)之間的長期依賴[24].
圖4 LSTM 結(jié)構(gòu)Fig.4.The structure of LSTM.
在LSTM單元結(jié)構(gòu)中共有三個(gè)“門”: 遺忘門、輸入門和輸出門,其結(jié)構(gòu)如圖4所示.在LSTM中,通過輸入門 i 、遺忘門 f 、輸出門 o 以及一個(gè)記憶單元 s 來實(shí)現(xiàn)長期記憶或遺忘信息,設(shè)當(dāng)前時(shí)刻為t,則s〈t-1〉為前一時(shí)刻的記憶單元狀態(tài),s?〈t〉為當(dāng)前輸入 狀 態(tài) 信 息,h〈t〉和s〈t〉為 當(dāng) 前LSTM的 輸 出 值.LSTM單元的計(jì)算公式如(3)式—(8)式所示.
式中W為各個(gè)門的權(quán)重向量,b為偏置向量,σ為sigmoid函數(shù),ta nh 為非線性激活函數(shù).
人類大腦在觀察某一事物時(shí),往往會(huì)將注意力集中到事物的某些部分,這些注意力集中的部分往往也是從事物上獲取信息的關(guān)鍵,這些信息對于認(rèn)知同類事物有著很強(qiáng)的指引作用,而注意力機(jī)制(attention mechanism)[25]就是一種模仿這一認(rèn)知過程的特殊機(jī)制.注意力機(jī)制在計(jì)算機(jī)視覺和自然語言處理領(lǐng)域的運(yùn)用已經(jīng)取得了較好的結(jié)果[26,27],本文將注意力機(jī)制運(yùn)用到時(shí)間序列的分析中.
在混沌時(shí)間序列的分析中,先用CNN提取序列的空間特征,在用LSTM根據(jù)空間特征提取時(shí)空特征后,過多或非關(guān)鍵的特征會(huì)影響最后的預(yù)測結(jié)果.因此,利用注意機(jī)制來提取序列的關(guān)鍵特征.注意力機(jī)制可以簡單地理解為一個(gè)加權(quán)求和器,也可以理解為一個(gè)關(guān)鍵特征提取器,它主要進(jìn)行的是加權(quán)求和操作.本文提出的注意力模型如圖5所示,向量c即為提取的關(guān)鍵特征,其計(jì)算公式如下:
式中m為輸入LSTM網(wǎng)絡(luò)的時(shí)間步總和;v為LSTM網(wǎng)絡(luò)輸出的特征向量,β為向量v的權(quán)值.
圖5 注意力模型Fig.5.Attention model.
為了獲得權(quán)值β,在注意力模型中加入了一個(gè)小型的神經(jīng)網(wǎng)絡(luò)a,其輸出層激活函數(shù)為softmax,計(jì)算公式表示如下:
其中,ei可由ei=a(vi)=σ(Wvi+b)算得,且σ為sigmoid函數(shù),W是圖5中輸入層至隱藏層的權(quán)重矩陣,b為偏置值矩陣.
如圖2所示,Att-CNN-LSTM模型中添加了Concatenate層和 Dropout層,其中 Concatenate層是為了將卷積神經(jīng)網(wǎng)絡(luò)的輸出,即序列的空間特征與原序列T進(jìn)行特征融合.在深度學(xué)習(xí)模型中加入Dropout層很常見,其作用主要是為了防止模型訓(xùn)練時(shí)出現(xiàn)過擬合,進(jìn)而提升模型的魯棒性和泛化能力.
本文所有實(shí)驗(yàn)均在阿里云服務(wù)器ECS上進(jìn)行 ,CPU 類 型 為 Intel Skylake Xeon Platinum 8163 2.5 GHz,內(nèi)存 8 GB,所有程序代碼均用 Python(3.7.7版本)語言編寫,使用的編輯器為Jupyter notebook.
為驗(yàn)證Att-CNN-LSTM模型的預(yù)測能力,利用Logistic、Lorenz和太陽黑子混沌時(shí)間序列進(jìn)行實(shí)驗(yàn),并與未加入注意力機(jī)制的CNN-LSTM模型、單一的LSTM和CNN模型,以及LSSVM模型進(jìn)行誤差對比.為了評價(jià)預(yù)測誤差,除了采用常用的均方根誤差(RMSE)、平均絕對誤差(MAE)和平均絕對百分比誤差(MAPE)外,再引入一個(gè)在評價(jià)時(shí)間序列預(yù)測性能中常用的均方根百分比誤差(RMSPE),即:
式中I為預(yù)測樣本數(shù);yi和分別為預(yù)測值和真實(shí)值.
Logistic混沌映射方程為
當(dāng) 3 ≤μ≤4 時(shí)Logistic映射的動(dòng)力系統(tǒng)由周期轉(zhuǎn)向混沌,本文選取方程的初始值為x0=0.32 ,參數(shù)μ=3.8.為保證混沌性,舍棄前 10000 個(gè)數(shù)據(jù),選取后3000個(gè)數(shù)據(jù)作為模型數(shù)據(jù)樣本.利用互信息法和Cao法分別求得樣本的延遲時(shí)間為9,嵌入維度為15,而后對樣本進(jìn)行相空間重構(gòu),共得到2873個(gè)有效相點(diǎn),按照8∶2劃分訓(xùn)練集和測試集,即前80%作為訓(xùn)練集后20%作為測試集.數(shù)據(jù)預(yù)處理后,用Att-CNN-LSTM模型進(jìn)行訓(xùn)練預(yù)測,預(yù)測結(jié)果和預(yù)測相對誤差如圖6和圖7所示,表1列出了Att-CNN-LSTM模型和其他模型的預(yù)測結(jié)果對比.
圖6 Logistic 序列預(yù)測Fig.6.Logistic series prediction.
圖7 Logistic 序列預(yù)測相對誤差Fig.7.Logistic series prediction relative error.
表1 模型誤差對比Table 1.Model error comparison.
從圖6和圖7中可以看出,Att-CNN-LSTM對Logistic時(shí)間序列的預(yù)測取得了較好的結(jié)果,不僅能夠預(yù)測序列變化的趨勢,且真實(shí)值和預(yù)測值之間的誤差較小,說明本文提出的模型取得了較高的預(yù)測精度.如表1 所列,與 CNN-LSTM,LSTM,CNN 和LSSVM等模型的預(yù)測誤差對比,Att-CNN-LSTM的各項(xiàng)預(yù)測誤差均為最小,說明本文提出的模型預(yù)測精度高,預(yù)測性能較好.與未引入注意力機(jī)制的CNN-LSTM預(yù)測模型相比,Att-CNN-LSTM對預(yù)測精度的提升較為明顯,說明注意力機(jī)制在模型中提取到了序列的關(guān)鍵時(shí)空特征,使得預(yù)測結(jié)果更加準(zhǔn)確.值得注意的是,單一的CNN和LSTM模型的預(yù)測結(jié)果優(yōu)于CNN-LSTM混合模型,說明混合模型下的非關(guān)鍵特征在一定程度上降低了預(yù)測精度,這也說明了注意力模型在CNN-LSTM混合模型中具有重要的作用.此外單一的CNN預(yù)測模型在Logistic數(shù)據(jù)集上的預(yù)測表現(xiàn)優(yōu)于單一的LSTM模型,說明CNN在Logistic序列高緯度相空間下提取的空間特征好于LSTM提取的時(shí)間特征,從Att-CNN-LSTM模型與這兩個(gè)單一模型的對比中,可以發(fā)現(xiàn)僅依賴單一的時(shí)間或空間特征,難以獲得精度較高的預(yù)測結(jié)果,而注意力模型提取關(guān)鍵時(shí)空特征能夠提升預(yù)測精度,是一個(gè)較為理想的預(yù)測方法.
為了更全面地對比本文提出的Att-CNNLSTM模型的預(yù)測性能,表2中列出了各個(gè)模型的訓(xùn)練和預(yù)測時(shí)間.不難看出,在模型的訓(xùn)練階段,單一的CNN,LSTM和LSSVM預(yù)測模型所用的時(shí)間較小,分別為 59.5,48.8 和 215.4 s.相比之下,混合模型因?yàn)槟P洼^為復(fù)雜,所需進(jìn)行的運(yùn)算更多,所以訓(xùn)練時(shí)間用時(shí)較多,其中Att-CNN-LSTM用時(shí) 312.7 s,CNN-LSTM 用時(shí) 302 s.但是在測試階段,各個(gè)模型所用時(shí)間相差不大,雖然單一模型的預(yù)測用時(shí)仍比混合模型短,但是都控制在0.6 s以內(nèi).綜合各個(gè)模型的預(yù)測誤差表現(xiàn),本文提出的預(yù)測模型具有較高的性價(jià)比,且預(yù)測優(yōu)勢明顯.
表2 模型運(yùn)行時(shí)間對比Table 2.Model running time comparison.
Lorenz混沌映射方程為
選 取 方 程 的 初 始 值 為x=y=z=1 ,參 數(shù)a=10,c=28 ,b=8/3.為保證混沌性,舍棄前10000個(gè)數(shù)據(jù),選取后3000個(gè)數(shù)據(jù)作為模型數(shù)據(jù)樣本.本文選取Lorenz系統(tǒng)的x分量進(jìn)行預(yù)測分析,先利用互信息法和Cao法分別求得樣本的延遲時(shí)間為17,嵌入維度為7,而后對樣本進(jìn)行相空間重構(gòu),共得2898個(gè)樣本,取前80%作為訓(xùn)練集,后20%作為測試集.同樣在經(jīng)過數(shù)據(jù)預(yù)處理后,用Att-CNN-LSTM模型進(jìn)行訓(xùn)練預(yù)測,預(yù)測結(jié)果和預(yù)測相對誤差如圖8和圖9所示,表3列出了Att-CNN-LSTM模型和其他模型的預(yù)測誤差對比,表4則列出了各個(gè)模型的運(yùn)行時(shí)間.
圖8和圖9所展示的Lorenz(x)序列預(yù)測結(jié)果很好地表現(xiàn)了Att-CNN-LSTM的預(yù)測性能,在預(yù)測集上,模型的預(yù)測結(jié)果誤差較小,精度較高,非常接近真實(shí)值.從表2中也能看出,在Lorenz樣本集上本文提出的Att-CNN-LSTM模型表現(xiàn)依然出色,且Att-CNN-LSTM的預(yù)測性能明顯優(yōu)于CNN-LSTM,LSTM,CNN 和 LSSVM 等模型,RMSE,MAE,MAPE 和 RMSPE 四項(xiàng)預(yù)測指標(biāo)分別降低至 0.00679,0.0521,1.2182 和 2.1102,相比其他模型精度提升較為明顯.不同于在Logistic樣本集上的表現(xiàn),CNN-LSTM在Lorenz樣本集上的表現(xiàn)雖然不如Att-CNN-LSTM模型,但是卻優(yōu)于單一的CNN和LSTM模型,各項(xiàng)預(yù)測指標(biāo)也下降較多.在單一模型中,在RMSE指標(biāo)下LSTM的預(yù)測性能略好于CNN,但在其他指標(biāo)下其預(yù)測性能略低于CNN,此外,LSSVM的綜合表現(xiàn)優(yōu)于CNN和LSTM.在運(yùn)行時(shí)間方面,單一的預(yù)測模型在訓(xùn)練和測試階段所用時(shí)間依然低于混合模型,但時(shí)間差距有所縮小.此外,在 Lorenz 樣本集上,Att-CNN-LSTM模型的運(yùn)行時(shí)間低于CNN-LSTM模型,綜合考慮下,本文提出的模型依然具有較高的預(yù)測性能.
圖8 Lorenz(x)序列預(yù)測Fig.8.Lorenz(x) series prediction.
圖9 Lorenz(x)序列預(yù)測相對誤差Fig.9.Lorenz(x) series prediction relative error.
表3 模型誤差對比Table 3.Model error comparison.
表4 模型運(yùn)行時(shí)間對比Table 4.Model running time comparison.
在Logistic和Lorenz這兩個(gè)理論混沌系統(tǒng)中,Att-CNN-LSTM表現(xiàn)出了較好的預(yù)測性能,為驗(yàn)證其在真實(shí)動(dòng)力系統(tǒng)的表現(xiàn),采用太陽黑子時(shí)間序列檢驗(yàn)其預(yù)測性能.本文采集了1749-2019年的太陽黑子數(shù)據(jù),共有3252條數(shù)據(jù),經(jīng)過相空間重構(gòu)后,產(chǎn)生3094組樣本數(shù)據(jù),訓(xùn)練集和測試集仍以8:2比例劃分,即前80%作為訓(xùn)練集后20%作為測試集.預(yù)測結(jié)果和誤差如圖10和圖11所示,表5和表6則列出了Att-CNN-LSTM模型和其他模型的預(yù)測結(jié)果對比.
從圖10和圖11中可以看出,Att-CNN-LSTM模型在太陽黑子時(shí)間序列的預(yù)測上仍然具有較好的表現(xiàn),能夠很好地預(yù)測序列的變化趨勢,盡管有部分時(shí)間點(diǎn)的預(yù)測誤差達(dá)到了4.7%,但是總體誤差依然保持在較低的水平.如表3所列,雖然Att-CNN-LSTM模型在真實(shí)數(shù)據(jù)集上的預(yù)測提升不如對Logistic和Lorenz等理論數(shù)據(jù)集,但是其預(yù)測誤差仍低于其他模型.相比其他預(yù)測模型,Att-CNN-LSTM至少降低了19%的RMSE值,6%的MAE值,23%的MAPE值和4%的 RMSPE值,預(yù)測精度提升依然較為明顯.此外,CNN,LSTM和LSSVM的綜合預(yù)測性能相差不多,但是都優(yōu)于CNN-LSTM模型.在運(yùn)行時(shí)間方面,雖然Att-CNN-LSTM模型的訓(xùn)練時(shí)間多于其他模型,但是其預(yù)測時(shí)間為已低至0.39 s.綜合各模型的預(yù)測誤差和運(yùn)行時(shí)間分析,本文提出的模型依然具有較好的預(yù)測性能.
圖10 太陽黑子序列預(yù)測Fig.10.Sunspot series prediction.
圖11 太陽黑子序列預(yù)測相對誤差Fig.11.Sunspot series prediction relative error.
表5 模型誤差對比Table 5.Model error comparison.
表6 模型運(yùn)行時(shí)間對比Table 6.Model running time comparison.
由4.1—4.3節(jié)的實(shí)驗(yàn)和分析可知,本文提出的 Att-CNN-LSTM模型在 Logistic,Lorenz和太陽黑子三個(gè)混沌時(shí)間序列上取得了優(yōu)于其他模型的預(yù)測性能.在Att-CNN-LSTM模型中,CNN模型可以提取混沌時(shí)間序列重構(gòu)相空間下的空間特征,LSTM則根據(jù)CNN提取的空間特征提取原時(shí)間序列的時(shí)空特征,而注意力模型對CNN-LSTM提取的時(shí)空特征進(jìn)行篩選,對重要的特征賦予高權(quán)重,并弱化非關(guān)鍵特征,這對預(yù)測精度的提升起到了重要作用.在混沌時(shí)間序列的高維重構(gòu)相空間內(nèi),混沌系統(tǒng)的內(nèi)在信息被挖掘出來,但是并非所有信息都有利于預(yù)測,過多的非關(guān)鍵的信息會(huì)影響到預(yù)測精度.原始的混沌時(shí)間序列雖然蘊(yùn)含著混沌系統(tǒng)的時(shí)序特征,但在復(fù)雜的混沌系統(tǒng)中,僅僅依靠時(shí)序特征很難獲取精度較高的預(yù)測結(jié)果.此外,若同時(shí)考慮混沌系統(tǒng)的空間和時(shí)間特征,所涉及的信息和特征會(huì)很多,那些不重要的信息和特征會(huì)對預(yù)測造成負(fù)面影響,不利于預(yù)測精度的提升.
實(shí)驗(yàn)中發(fā)現(xiàn),Logistic和太陽黑子混沌時(shí)間序列擁有較高的相空間展開維度,其所在的混沌系統(tǒng)較為復(fù)雜,而Lorenz的展開維度相對較低,其動(dòng)力系統(tǒng)相對簡單.混合模型CNN-LSTM在高維相空間下的預(yù)測精度明顯不如單一的CNN和LSTM模型,但是在低維情況下,CNN-LSTM的預(yù)測精度又明顯優(yōu)于單一預(yù)測模型,這說明在復(fù)雜的混沌系統(tǒng)下,過多的信息和非關(guān)鍵特征影響了預(yù)測精度,而注意力模型能夠通過提取關(guān)鍵特征解決這些問題,使得預(yù)測精度有所提升,三個(gè)預(yù)測實(shí)例也很好地證明了本文提出的注意力模型能夠提升混合模型CNN-LSTM預(yù)測性能.
本文利用注意力機(jī)制捕獲混合神經(jīng)網(wǎng)絡(luò)CNNLSTM的時(shí)空特征,提出了一種用于混沌時(shí)間序列預(yù)測的Att-CNN-LSTM模型.結(jié)合相空間重構(gòu)理論,用CNN提取動(dòng)力系統(tǒng)重構(gòu)相空間下的空間特征,讓LSTM根據(jù)空間特征提取序列的時(shí)間特征.作為模型的關(guān)鍵部分,注意力模型的設(shè)計(jì)關(guān)系到序列的特征獲取,進(jìn)而影響到預(yù)測精度.因此,為更好地獲取時(shí)間序列的特征,可以通過添加非線性激活函數(shù)來獲取加權(quán)參數(shù).仿真實(shí)驗(yàn)結(jié)果表明,本文提出的模型在幾個(gè)混沌時(shí)間序列的預(yù)測上都取得了較好的結(jié)果,且預(yù)測精度高,預(yù)測性能較好.