馮 勇,馮述放,羅 娜
(華東理工大學能源化工過程智能制造教育部重點實驗室, 上海 200237)
時間序列是指變量按照時間順序記錄的觀測序列[1],廣泛存在于金融[2]、交通[3]、工業(yè)生產[4]等多種場景。時間序列可以分為一元和多元時間序列,以多元時間序列場景居多。多元時間序列的變元之間存在復雜的耦合關系,呈現(xiàn)出明顯的非線性、非平穩(wěn)性[5]。
時間序列分析作為數(shù)理統(tǒng)計學的重要分支,其目的在于挖掘出時序數(shù)據(jù)的變化規(guī)律進而預測事物的發(fā)展趨勢[6]。時間序列的預測結果有助于人們把握事物的變化方向,對于日常生活的安排、生產過程的控制、社會活動的調度都具有重要的參考價值,能夠進一步實現(xiàn)資源分配的優(yōu)化與經(jīng)濟效益的提升[7]。
在時間序列預測問題中,傳統(tǒng)的統(tǒng)計模型如差分整合移動平均自回歸模型[8]、向量自回歸(Vector Auto-Regression, VAR)模型[9]均無法適應當今大量時序數(shù)據(jù)的建模需求。典型的機器學習模型如隱馬爾可夫方法[10]、支持向量機回歸(Support Vector mach ine Regression, SVR)[11]、人工神經(jīng)網(wǎng)絡[12]、極限梯度提升(XGBoost)[13]等雖已廣泛應用,但面對海量數(shù)據(jù)處理時無法深度挖掘數(shù)據(jù)特征,容易陷入局部最優(yōu)值[14]。遞歸神經(jīng)網(wǎng)絡(Recurrent Neural Network, RNN)[15]在序列特征中依靠自身隱藏層狀態(tài)的迭代與每個時間步輸入的獲取,能夠靈活地捕獲建模變量與輸出序列的非線性關系。傳統(tǒng)的RNN 在輸入過長時存在梯度消失問題,不能捕獲長時間的依賴。為此,長短期記憶(Long Short Term Memory, LSTM)網(wǎng)絡[16]和門控循環(huán)單元(GRU)網(wǎng)絡[17]被相繼提出,從而有效地把握了時間序列中的長期信息。
在循環(huán)神經(jīng)網(wǎng)絡的基礎上,為進一步挖掘時間序列中的頻率特性,Jan 等[18]提出了分割隱藏狀態(tài)矩陣的時鐘循環(huán)神經(jīng)網(wǎng)絡(Clockwork Recurrent Neural Network, CWRNN),其中隱含層被劃分為多個獨立的模塊,每個模塊按照自己的時間粒度處理輸入,僅按照規(guī)定的時鐘速率進行計算,依靠長周期單元對長期數(shù)據(jù)的保持和傳遞,在一定程度上解決了傳統(tǒng)RNN 的長期依賴問題。由于引入了長期鏈的RNN網(wǎng)絡,存在短期信息權重過低的問題,無法快速響應短期突變數(shù)據(jù)。Hu 等[19]在LSTM 基礎上,提出了轉換門控的LSTM 來提高捕獲短期突變信息的能力,但由于轉換門控機制在輸入時序較長時會過度地丟棄遠期信息,導致失去全局區(qū)域的信息特征。
由于測量噪聲與環(huán)境干擾的影響,應用于實際場景下的時序預測模型需要提升在數(shù)據(jù)波動下的魯棒性與泛化能力。Chen 等[20]提出了稀疏模態(tài)加性模型,將稀疏模型應用于高維數(shù)據(jù)分析,通過對模態(tài)回歸度量、數(shù)據(jù)相關假設空間和正則表達式在加法器中的整合,確保了模型對復雜噪聲的魯棒性,有效消除了模型對非高斯噪聲的數(shù)據(jù)敏感,實現(xiàn)了噪聲環(huán)境下的有效預測。Zhao 等[21]提出了一種自適應稀疏量化核最小均方算法,將稀疏化規(guī)則、權重自適應調整、順序異常值準則和量化預測相結合,在面對噪聲數(shù)據(jù)時取得了較好的預測性能。時間卷積網(wǎng)絡[22]通過在長時間序列上膨脹因子的設置,在數(shù)據(jù)提取上具有稀疏后歸并的特性,經(jīng)過多層時間卷積網(wǎng)路的運算,在時間序列預測問題上也呈現(xiàn)出良好的精度,但由于訓練的神經(jīng)元數(shù)目過多,容易陷入局部最優(yōu)值。
總的來說,多元時間序列預測存在兩個難題:一是如何平衡長期歷史信息與短期突變信息,從而保證模型的精度[23];二是在環(huán)境變化時,模型如何排除噪聲干擾,有效提取特征[24]。長期歷史信息能夠提供更豐富、全面的數(shù)據(jù)參考,從而保證預測結果符合長期趨勢,減小預測誤差,但長期信息也會對短期信息造成干擾。部分時間較遠的歷史數(shù)據(jù)對當前產品指標的影響相對較小,甚至會產生遺留噪聲,造成錯誤的規(guī)律導向[25];另一方面,大部分的產品指標往往與近期的生產工況密切相關,歷史信息過長也會降低模型對短期信息分配的權重,無法敏銳捕獲短期信息會使得預測結果出現(xiàn)明顯的滯后,無法及時反映生產工況帶來的指標影響[26]。
本文采用CWRNN 原有的網(wǎng)絡結構,將神經(jīng)單元分成不同時鐘激活周期的神經(jīng)單元組,設計了時鐘觸發(fā)長短期記憶網(wǎng)絡(CWTLSTM),主要改進如下:
(1) 根據(jù)不同神經(jīng)單元組周期的劃分,將神經(jīng)元分為主干網(wǎng)絡鏈(持續(xù)激活)與短期信息增強鏈(非持續(xù)激活)。主干網(wǎng)絡鏈主要負責狀態(tài)的計算與保持,短期信息增強鏈只在激活時負責對當前時間步的信息獲?。煌ㄟ^鏈路傳輸結構的設計,只允許數(shù)據(jù)從短期信息增強鏈單向流動到主干網(wǎng)絡鏈,在短期信息增強鏈激活時,加強該時刻對突變信息的捕捉能力。
(2) 對短期信息增強鏈而言,在當前時間不是神經(jīng)元時鐘激活周期的整數(shù)倍時,將對應的神經(jīng)元狀態(tài)置為0 而不是保持上一時刻的狀態(tài),形成算法上的稀疏結構,保證短期鏈不受長期信息干擾,增強當前輸入的權重,加強噪聲數(shù)據(jù)的淘汰概率。
(3) 將CWRNN 中神經(jīng)元載體從簡單RNN 單元變?yōu)長STM 單元,以此保證在面對較長的時間序列時,加強主干網(wǎng)絡鏈對長期信息的狀態(tài)保持能力,使得模型進一步具備平衡長短期信息的能力。
時間序列預測屬于回歸問題,對于單時序預測問題而言,設x∈R 為觀測變量,在一個時間段{1,2,3,···,t}內,能夠觀測得到單變量時間序列xt=[x1,x2,···,xt]T,預測目標是預測時間序列的下一個值xt+1,預測完全依賴變量自身變化的規(guī)律延續(xù)性[27]。
多元時間序列是多個一元時間序列的復雜組合,多元時序預測中,有時間段 {1,2,3,···,t}內的目標變量序列yt=[y1,y2,···,yt]T,預測目標為yt+1;m個一元序列在該時間段內的觀測結果可以表示為
其中:Xt為外生驅動變量矩陣;表示第m個變量的時序變量序列;表示第m個變量的t時刻的值;m為觀測序列數(shù)量。
多元時間序列預測的基本思想是一方面根據(jù)事物自身發(fā)展的延續(xù)性,統(tǒng)計分析過往的時間序列數(shù)據(jù),實現(xiàn)yt的趨勢預測[28];另一方面,考慮到Xt對yt+1的影響,使用驅動變量的歷史數(shù)據(jù)作為建模輸入以增強預測的精度與可信度。因此,將作為驅動變量,時間序列預測模型如式(2)所示:
其中:F(·) 表示多元時序預測模型對Xt的運算過程;εt+1為t+1時刻模型的預測殘差。由式(2)可知,多元時間序列預測的重點在于如何開發(fā)精確有效的模型使得殘差最小,實現(xiàn)精準預測。
CWTLSTM 的結構如圖1 所示。將LSTM 單元分為若干組,網(wǎng)絡中共有u個LSTM 單元,平均分配給g個擁有不同輸出周期Tgroup={T1,T2,T3,···,Tg} 的單元組,每個組含有k=u/g個單元。
計算過程中,只有在輸入時間步t是Tgroup的整數(shù)倍時,對應的神經(jīng)元才能進入激活狀態(tài),接收當前時刻的輸入xt、上一時刻隱藏層狀態(tài)ht?1,完成神經(jīng)元狀態(tài)的更新與輸出;否則該單元對應的細胞狀態(tài)ct與輸出ht均為0,輸出無法傳遞至下一時間步的運算,稱為未激活狀態(tài)。
如圖1 所示,CWTLSTM 一方面只允許右側分組向左側分組單向地傳遞狀態(tài)信息,另一方面不同組具有不同的激活周期,根據(jù)周期的不同,在指定的時間步上激活并參與運算。最左側滿足Tgroup=1 條件的神經(jīng)單元組為主干網(wǎng)絡,在每個時間步上都能持續(xù)觸發(fā)激活狀態(tài),接受上一時刻網(wǎng)絡中所有神經(jīng)單元的狀態(tài)與當前輸入,能夠保存所有時間尺度上的信息。其余分組的神經(jīng)單元一般設置Tgroup>1 ,構成短期信息增強鏈,只在t是Tgroup整數(shù)倍的時間步上激活,無法保持上一時刻的狀態(tài)數(shù)據(jù),激活時才能向下一時間步傳遞細胞狀態(tài)與輸出。模型中只有Tgroup=1的主干網(wǎng)絡鏈能夠長期存儲歷史信息,而短期信息增強鏈自身的歷史信息流向會被強制切斷,此類神經(jīng)單元組可以視為不包含歷史信息的輸入增強模塊,單向地將信息傳遞至主干網(wǎng)絡鏈。因此,合理設置短期信息增強鏈的數(shù)目與周期能使模型增加近期輸入信息的分配權重,便于捕獲短期信息突變。
圖1 CWTLSTM 結構圖Fig.1 Structure of CWTLSTM
LSTM 單元各部分的計算如下:
式中xt、it、ft、c?t、ot、ct、ht分別表示t時刻的變量輸入、輸入門結果、遺忘門結果、候選細胞狀態(tài)、輸出門結果、細胞狀態(tài)、細胞輸出;Wi、Wf、Wc、Wo分別表示輸入門權重矩陣、遺忘門權重矩陣、細胞更新權重矩陣、輸出門權重矩陣;σ(·)為對應位置的激活函數(shù);b為對應的偏差。
CWTLSTM 在輸入門、遺忘門、細胞更新策略、輸出門這4 個位置同時設立時鐘觸發(fā)策略,對每個門進行調整。權重矩陣Wi、Wf、Wc、Wo均按照周期性激活的特性進行計算,各組的權重子矩陣在不是本組周期整數(shù)倍的時間步上均為 0 矩陣,以此表示未激活細胞的缺省狀態(tài)。以第j組神經(jīng)單元為例,運算規(guī)則如下:
其中:Wij、Wf j、Wcj、Woj分別表示第j組神經(jīng)元的輸入門、遺忘門、細胞更新與輸出門的權重矩陣;Wjq(q∈){1,2表,···,示g}第組j內第q個神經(jīng)元的權重矩陣;為t當前時間步;Tj表示第j組神經(jīng)元的激活周期;表t%T示j=當0前時間步被第t組激j活周期Tj整除,即為tTj的整數(shù)t%倍Tj;≠0表示其他情況。根據(jù)式(3)和式(4)可知:在不考慮各門控單元偏移量bi、bf、bc、bo的情況下,對第j組神經(jīng)單元而言,非周期整數(shù)倍的時間步上其輸出hjt、cjt均為 0 矩陣。
當t%Tgroup≠0 時,ht與ct均為0,該LSTM 神經(jīng)元不參與下一時間步的交互運算,從而形成該時刻該神經(jīng)元在算法上的缺省稀疏。對于一個不向外界傳遞參數(shù)的非激活單元而言,其內部參數(shù)狀態(tài)無法對網(wǎng)絡其他部分造成干擾,因此可以通過給神經(jīng)元的輸出ht與ct賦零值來表達非激活狀態(tài)下的神經(jīng)元特征,以此封鎖該神經(jīng)元向下一時刻網(wǎng)絡的狀態(tài)傳遞,而不必修改數(shù)量龐大的權重矩陣。這樣一方面保證了時間復雜度的降低,從對整個網(wǎng)絡的所有權重矩陣的操作改為對非激活單元輸出值的操作,其執(zhí)行速度上有明顯提升;另一方面也防止了各門控機制的權重在時間步上變化不連續(xù)的情況出現(xiàn),避免了因矩陣不滿秩而導致在梯度計算時出現(xiàn)求導錯誤的危險。
圖2 為分頻規(guī)則為[1,2,1]時的CWTLSTM示例。將神經(jīng)單元分成3 組,分別賦予1、2、1 的激活周期,由于第1 組、第3 組的Tgroup均為1,因此持續(xù)激活始終參與運算,均為主干網(wǎng)絡鏈;第2 組的Tgroup為2,因此只在偶數(shù)時間步時輸出進行運算,而在奇數(shù)步時細胞狀態(tài)與單元輸出均為0,使得下一時間步該神經(jīng)單元在計算輸出時,從本單元接收的狀態(tài)數(shù)值為0,進而使得加權求和時輸入數(shù)據(jù)的權重增加。
圖2 分頻規(guī)則為[1,2,1]的CWTLSTMFig.2 CWTLSTM with frequency division rule [1,2,1]
從數(shù)據(jù)捕獲的角度看,CWTLSTM 存在不同時間步間的稀疏計算,如果主干網(wǎng)絡神經(jīng)單元數(shù)較少,在訓練過程中可能會導致一定的數(shù)據(jù)損失,但是稀疏特性卻能夠保證模型在訓練時不易陷入過擬合狀態(tài)和局部最優(yōu)值,因此在噪聲環(huán)境中能夠保持模型的泛用性與精確度。
圖1 中神經(jīng)單元組被激活時,內部每個單元能夠接受上一時刻同一組內所有單元的細胞狀態(tài)與輸出;但在各個分組間的交互上,每個神經(jīng)單元組只允許神經(jīng)元狀態(tài)h單向地傳給位于其左側的神經(jīng)單元組。同樣,圖2 中示出的各組間的信息交互只能從下向上傳遞,以此保證短期信息增強鏈的信息匯入主干網(wǎng)絡鏈,并將訓練重點放在最上側的主干網(wǎng)絡鏈上。
CWTLSTM 的另一個改進是對LSTM 網(wǎng)絡中狀態(tài)傳遞矩陣 Mask 的調整。在LSTM 網(wǎng)絡中,原始的Mask矩陣為全1 矩陣,表示同一時間步上神經(jīng)單元之間的全連接,每個LSTM 單元獲取上一時刻所有LSTM 單元狀態(tài)。以整個網(wǎng)絡的遺忘門輸出為例,分析Mask傳遞矩陣的作用。對LSTM 網(wǎng)絡整體,數(shù)學表達式為
其中:Wfh為狀態(tài)權重矩陣,表示LSTM 網(wǎng)絡對上一時刻網(wǎng)絡狀態(tài)的響應能力;Wf x為輸入權重矩陣,表示網(wǎng)絡對當前輸入的響應能力;運算符 ? 為哈達瑪乘法,表示符號前后矩陣相同位置元素對應相乘構成新矩陣(C=A?B?cij=aij?bij)。由式(6)可知,LSTM 網(wǎng)絡的 Mask 矩陣為全1 矩陣,每個LSTM 單元接受來自上一時刻的所有LSTM 單元輸出并進行計算。
為實現(xiàn)CWTLSTM 的功能,將CWTLSTM 神經(jīng)元之間的連接矩陣 Mask 劃分為g×g個塊矩陣組成的稀疏掩碼矩陣,狀態(tài)傳遞矩陣 Mask 為塊上三角矩陣,表達式為
其中:Mij表示分組j向分組i的傳遞權重矩陣,大小為k×k(k為分組內的神經(jīng)元數(shù)目),Mij= Ones 為全1 矩陣時,表示分組i能夠接受分組j的神經(jīng)元輸出值hj;Mij= 0 為零子矩陣時,表示對應分組j無法向分組i傳遞神經(jīng)元輸出值hj。
將 Mask 矩陣與網(wǎng)絡各門控機制的單元權重矩陣W·,h對應元素相乘,即可控制CWTLSTM 各個神經(jīng)單元對上一時刻網(wǎng)絡輸出的響應能力。
其中:W·,h(Wi,h、Wf,h、Wc,h、Wo,h)表示CWTLSTM的各門控機制對所有上一時刻隱藏狀態(tài)的權重分配;Wij= 0 矩陣表示分組i對分組j的神經(jīng)元輸出值h賦予的關注權重均為0,其子矩陣均表示正常運算。
如式(9)和圖2 所示,網(wǎng)絡只允許下層分組的神經(jīng)單元向上層分組傳遞狀態(tài)信息,一方面可以避免模型在短期信息增強鏈在未激活時進行無意義的計算,提升運算效率;另一方面也能保證底層神經(jīng)元激活時只受輸入影響,避免其他組狀態(tài)值的影響導致W·h增大,保持神經(jīng)元對當前輸入的強相關性,保證模型增強輸入的作用。
在圖3 的示例中,將CWTLSTM 分為2 組,Tgroup分別為[1, 2],此時CWTLSTM 將主要以分組1 為主要運算模塊,主干網(wǎng)絡同時接受當前輸入、上一時刻的自身神經(jīng)元狀態(tài)Hgroup1與增益網(wǎng)絡的狀態(tài)Hgroup2。Tgroup=2的分組每2 個時間步激活一次,對當前輸入進行運算得到細胞輸出與細胞狀態(tài)后,才向主干網(wǎng)絡傳遞一次本組的運算結果,顯式地增強激活時刻輸入的權重占比。顯而易見,越遠離輸出時間步的輸入,增益對網(wǎng)絡整體的輸出結果影響越小;越靠近輸出時間步的輸入,增益對主干網(wǎng)絡的影響越大,因此,輸入增強鏈主要增強了短期內的信息,稱為短期信息增強鏈。短期信息增強鏈向主干網(wǎng)絡鏈的單向傳遞結構,在主干網(wǎng)絡保留長期信息的基礎上,可以提升對短期信息的捕獲能力。
圖3 短期信息增益說明Fig.3 Description of short-term information gain
CWTLSTM 整體的權重更新方式仍然遵從LSTM網(wǎng)絡反向傳播的訓練規(guī)則,由于 Mask 與W,h始終保持對應位置元素相乘的狀態(tài),因此對W,h訓練更新可以看作是對 Mask?W,h整體的訓練計算。本文使用梯度下降法更新以完成所有參數(shù)的尋優(yōu),關鍵點在于計算所有參數(shù)基于損失函數(shù)的偏導數(shù)[29],步驟如下:
(1) 按照網(wǎng)絡的前饋運算公式(10)得到CWTLSTM在t時刻的輸出值為ht:
已知損失函數(shù)為 Loss ,定義t時刻的狀態(tài)梯度為遺忘門、輸入門、細胞更新、輸出門梯度分別為:
根據(jù)鏈式求導與導數(shù)乘法展開,得到:
(2) 將循環(huán)神經(jīng)網(wǎng)絡展開,通過t時刻的梯度反向計算神經(jīng)元上一時刻的損失函數(shù)對單元輸出的偏導數(shù) δt?1;在LSTM 網(wǎng)絡中存在梯度關系為
由此可以反向推導之前每一時刻的梯度數(shù)值,并可根據(jù)式(11)得到 δf,k、δi,k、δ~c,k、δo,t,便于后續(xù)運算。
(3) 計算得到t時刻每個權重的梯度:
對循環(huán)網(wǎng)絡而言,最終的梯度是各個時刻的梯度之和,由此得到一個樣本的損失函數(shù)對權重矩陣的梯度值:
使用相應的優(yōu)化器來更新權重,向損失函數(shù)梯度小的方向進行迭代,使得 Loss 函數(shù)降低[30]。
同理,可根據(jù)式(11)的前項公式與式(13)中梯度展開方法,推導得到各門控單元的輸入權重矩陣W·x與偏移量b·的計算公式:
在訓練階段,CWTLSTM 根據(jù)式(14)~式(16)在每個迭代周期中利用梯度下降方向作為尋優(yōu)方向,修改權重矩陣(模型的可訓練參數(shù))以減小誤差,不斷地在可行域中找到令損失函數(shù)最小的最優(yōu)解,直至完成完整的模型訓練。
LSTM 的可訓練參數(shù)有W·h、W·x、b·,假設存在u個神經(jīng)單元,數(shù)據(jù)集的輸入維度為d,共有d個特征數(shù)目,則每個單元共有 4u2個狀態(tài)權重參數(shù)、4u×d個輸入狀態(tài)權重參數(shù)與 4u個偏移量參數(shù),故LSTM的空間復雜度為O(4u(u+d+1))。此外LSTM 代碼包中存在不參與訓練的參數(shù)(如Mask 矩陣參數(shù)等模型底層支持變量),種類較多且不便計數(shù),此類參數(shù)記為ot個,則LSTM 總的空間復雜度為O(4u(u+d+1)+ot)。CWTLSTM 的可訓練參數(shù)與LSTM 數(shù)目相同,空間復雜度為O(4u(u+d+1)) ,為實現(xiàn)網(wǎng)絡特有功能,每個神經(jīng)單元增添的參數(shù)有:用以辨別激活時間步的周期參數(shù) period、在非激活狀態(tài)下的輸出htemp=0 與ctemp=0=0 ,共計 3u個參數(shù)。額外參數(shù)量加上LSTM 的原有參數(shù)量,得到CWTLSTM的空間復雜度為O(u(4u+4d+7)+ot)。
LSTM 的底層運算設計非常繁瑣且復雜,假設總體的時間復雜度為O(all)。已知在原始LSTM訓練過程中,狀態(tài)權重矩陣計算的時間復雜度為O(u3) ,輸入權重矩陣相關計算的時間復雜度為O(ud) ,因此必然有 all>4u(u2+d)。在CWTLSTM中,當神經(jīng)元處于非激活狀態(tài)時需要設置臨時輸出htemp=0與ctemp=0,其最大時間復雜度為其中g為神經(jīng)單元組數(shù),可知因此,CWTLSTM 總的時間復雜度為O(all) ,可認為CWTLSTM 與LSTM 的時間復雜度基本相同。
本文首先采用開源的空氣污染數(shù)據(jù)集[31]進行初步的模型性能探討,再利用現(xiàn)場采集的水泥篦冷機數(shù)據(jù)集進行進一步的模型性能分析。
自相關函數(shù)(Auto Correlation Function, ACF)[32]描述了序列的當前值與其過去值之間的相關程度,描述隨機變量X在任意不同時刻之間的相關程 度Rt1,t2[33]。
其中:Xt1、Xt2分別表示時刻X的觀測序列;μt1、μt2分別為Xt1、Xt2的均值;σt1、σt2分別為Xt1、Xt2的標準差。Rt1,t2的數(shù)值越接近1,表示與兩個時刻對應的觀測序列相關性越高。
將CWTLSTM 與VARMAX[34]、SVR[35]、XGBoost[36]、CWRNN[37]、LSTM[38]等基準模型進行比較,觀測本文模型的預測性能。為了量化預測模型的有效性,采用均方根誤差(RMSE)、平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、回歸平方和與總離差平方和之比值(R2)這些分析指標進行數(shù)值驗證,分別如式(18)~式(21)所示。
RMSE、MAE、MAPE 越小,表明預測值與真實值的誤差越小,模型精度越高;R2越大表示預測值與真實值的相關性系數(shù)越高,模型的擬合效果越好。
空氣污染數(shù)據(jù)集采集于意大利城市內嚴重污染地區(qū),記錄了包括一氧化碳、苯、二氧化氮在內共計12 種空氣污染物的濃度,采樣周期為1 h,處理后的有效數(shù)據(jù)總計7 865 條,預測變量為一氧化碳質量濃度。
將該數(shù)據(jù)集數(shù)據(jù)按照0.6∶0.2∶0.2 的比例劃分為訓練集、驗證集、預測集,圖4 分別示出了訓練集、驗證集、預測集在200 個采樣時間步(200 h)的原始數(shù)據(jù)曲線與ACF 曲線。ACF 曲線具有明顯的周期相關特性,而在一個周期的時間長度內,基本只有短期數(shù)據(jù)呈現(xiàn)較高的相關性。在實驗中設定時間步長(Time step)為對照參數(shù),分別設置為10、48(時長為空氣污染數(shù)據(jù)集的兩個顯著周期),比較在該數(shù)據(jù)上短期信息增強能否提供有效的數(shù)據(jù)支持。其余參數(shù)batch 為128,epochs 為200,分頻序列為[1,2,3]。
圖4 一氧化碳質量濃度的原始數(shù)據(jù)曲線與ACF 曲線Fig.4 Original data curves and ACF curves of CO mass concentration
設置XGboost 的最大樹深度為20,弱估計器的數(shù)量(樹的個數(shù))為80;SVR 的參數(shù)為高斯核函數(shù),懲罰系數(shù)(C)為0.5,核參數(shù)gamma 為0.3;LSTM、CWRNN、CWTLSTM 均設置96 個神經(jīng)單元加一層單個神經(jīng)元的全連接層。
對不同模型進行訓練,預測結果見表1,表中的加粗部分表示最優(yōu)指標(取自多次調參后的最優(yōu)結果),前100 個點的預測曲線如圖5 所示。
由表1 可得,當Time step=10 時,CWTLSTM 取得了所有模型中的最好性能;當Time step=48 時,CWTLSTM 的RMSE、MAE、R2均最小,但MAPE 的結果遜于SVR 與XGBoost。觀察圖5 可以看到,SVR 與XGBoost 均有明顯的預測滯后,在明顯的數(shù)據(jù)波動時是使用前一時刻的觀測變量值代替預測值,數(shù)值結果上MAPE 較小,但預測趨勢的跟隨性能較差。CWRNN 與CWTLSTM 的跟隨速度較快,在80 到100 樣本區(qū)間中,CWTLSTM 面對頻繁變化小波動仍然能夠獲得更加精準穩(wěn)定的預測表現(xiàn)。
圖5 空氣污染結果對比 (Time step=48)Fig.5 Comparison of air pollution results(Time step=48)
表1 空氣污染數(shù)據(jù)集上各模型的預測結果對比Table 1 Comparison of prediction results of various models on the air pollution dataset
比較時間步長為10、48 條件下的預測結果,使用長時間序列預測的結果普遍較好,一定程度上證明空氣污染數(shù)據(jù)集合具有長期信息的依賴性。CWTLSTM 在能夠快速響應數(shù)據(jù)變化的同時,也能充分利用整個時間步長上的數(shù)據(jù),使得預測性能有所提升。
篦冷機在水泥生產中占有相當重要的地位,其熱分布是評價水泥生產的能量利用效率重要指標。Geng 等[39]通過對某水泥廠爐排冷卻器的熱量分布計算,計算出了篦冷機換熱系統(tǒng)中二次風、三次風、熟料排出熱和表面散熱分別占系統(tǒng)總熱量的50%、40%、9%和1%,回收熱量具有重要的商業(yè)價值。
篦冷機數(shù)據(jù)集記錄了某水泥生產工廠篦冷機在換熱過程中的實際數(shù)據(jù),采樣頻率為1 min,總計54 個狀態(tài)觀測變量與操作變量,如二次風溫度、三次風溫度、多個位置的風機頻率、一二級活動篦床篦速、生料流量等。目標預測變量為二次風溫度,是衡量水泥生產中廢熱回收率的主要指標[40]。
將篦冷機數(shù)據(jù)集按照0.6∶0.2∶0.2 的比例劃分為訓練集、驗證集、預測集,圖6 示出了訓練集、驗證集、預測集在200 個采樣時間步長(200 min)的原始數(shù)據(jù)曲線和ACF 曲線。觀測二次風溫度的ACF曲線,可得該預測指標沒有顯著的周期特性。以自相關函數(shù)值大于0.3 為標準,當時間步長約小于50 時,該預測序列在所有數(shù)據(jù)子集均具有較高的數(shù)據(jù)相關性(且驗證集與預測集的ACF 曲線在時間步長為50 時有明顯拐點)。在各數(shù)據(jù)子集中,該預測序列在時間步長約20 以內的自相關函數(shù)值均大于0.5,因此在模型比對實驗中分別取時間步長20 與50 作為建模時間步長,以驗證CWTLSTM 的魯棒性及抗噪聲能力。其他參數(shù)設置為:batch 為128,epochs為200,分頻序列為[1,2,3],將總計14 000 條記錄進行最大、最小歸一化處理。
圖6 二次風溫度原始數(shù)據(jù)曲線與ACF 曲線Fig.6 Original data curves and ACF curves of secondary air temperature
設置XGboost 的最大樹深度為30,弱估計器的數(shù)量(樹的個數(shù))為150;SVR 的參數(shù)為高斯核函數(shù),懲罰系數(shù)C 為0.9,核參數(shù)gamma 為0.5;LSTM、CWRNN、CWTLSTM 均設置96 個神經(jīng)單元加一層單個神經(jīng)元的全連接層。
各模型對二次風溫度的預測結果見表2,表中加粗部分表示最優(yōu)指標(取自多次調參后的最優(yōu)結果)。前100 個樣本的預測結果如圖7 所示。
從表2 可知,當時間步長為20、50 時,CWTLSTM的RMSE、MAE、MAPE、R2均最優(yōu)。從圖7 可以看出,VARMAX 的預測差異較大;SVR 有明顯的數(shù)據(jù)滯后;XGBoost、LSTM 與CWRNN 在波峰處的跟隨效果較差;CWTLSTM 在跟蹤和數(shù)據(jù)誤差上都有不錯的表現(xiàn)。
圖7 二次風溫度預測結果對比(Time step=50)Fig.7 Comparison of prediction results of secondary air temperature(Time step=50)
表2 二次風溫度預測結果對比Table 2 Comparison of prediction results of secondary air temperature
由圖4 與圖6 可知,空氣污染數(shù)據(jù)集與篦冷機溫度數(shù)據(jù)集的共通性在于目標變量的短期自相關性較高,但更長時間跨度的數(shù)據(jù)也能具備參考價值,因此,CWTLSTM 接受長輸入時的預測結果比短時間步輸入效果更好。同時CWTLSTM 的預測值對真實值波動的跟隨性能較好,表明CWTLSTM 既可以有效挖掘長期序列的信息特征,也具備增強短期信息的采樣優(yōu)勢,可以快速響應驅動變量的突變。
圖8 為不同時間步長下各模型對二次風溫度的預測RMSE 結果(每個時間步條件下取10 次實驗結果的均值)。當時間步長大于25 后,各個多元時序模型的指標數(shù)據(jù)基本維持不變,該數(shù)據(jù)集中,短期數(shù)據(jù)即可完成精確有效的預測結果;面對時間步較長的輸入時,長期記憶能力較差的CWRNN 影響較小,而LSTM 的效果較差,一定程度證明過多的長期數(shù)據(jù)(無用的歷史工況)對于模型可能會起到干擾的作用。當CWTLSTM 接受長期輸入時,既可以充分利用長期數(shù)據(jù)信息,也能適應短期數(shù)據(jù)變化對結果的影響,從結果上初步證明該模型能保持長短期數(shù)據(jù)的平衡。
圖8 不同時間步長的結果比對Fig.8 Comparison of results of different time step lengths
圖9 示出了實際工業(yè)數(shù)據(jù)集中的批次誤差結果。由圖9(a)可得,訓練集上LSTM 訓練曲線最好,CWRNN 曲線最差,而CWTLSTM 在稀疏分布矩陣的影響下也未顯著降低訓練時的精度;在驗證集上CWTLSTM 的誤差反而小于LSTM 的誤差。生產工況的變化與噪聲干擾會造成訓練集與驗證集數(shù)據(jù)分布的不同,這導致LSTM 網(wǎng)絡出現(xiàn)過擬合情況,使得驗證精度降低;由于CWTLSTM 里稀疏矩陣的設置,加強了CWTLSTM 的噪聲淘汰概率,保證了CWTLSTM的泛化能力。
圖9 不同批次結果比對Fig.9 Comparison of results of different batches
LSTM、CWRNN、CWTLSTM 在10 次測試下的RMSE 對比如圖10 所示。可以看到CWTLSTM 的預測精度明顯優(yōu)于LSTM、CWRNN 模型的預測精度,其最小值和均值均優(yōu)于其他模型,并且RMSE 數(shù)據(jù)波動范圍較小。初步認為,相較于LSTM 原始結構,CWTLSTM 的分頻激活機制能夠有效提高模型的預測精度。
圖10 多組測試的RMSE 對比Fig.10 RMSE comparison for multiple tests
圖11 示出了不同分組頻率分配策略對CWRNN、CWTLSTM 的影響,數(shù)據(jù)為多次實驗的平均RMSE結果。CWRNN 與CWTLSTM 受到分頻特性影響的趨勢基本相同,均對分頻策略有一定依賴,但變化幅度不同。CWRNN 波動較小,源自其內部狀態(tài)數(shù)據(jù)的自保留性,關注長期信息的存儲,在未激活狀態(tài)下仍然有隱藏層狀態(tài)進行狀態(tài)更新,因此分組與分頻對其影響較小;CWTLSTM 在未激活時還會更極端地將所有狀態(tài)置0,對短期信息的依賴較大,因此受分組頻率的影響較大。
從圖11 的結果看,短期激活更合適CWTLSTM的周期分配,建議在1、2、3 等較小自然數(shù)排列中進行選擇,如{1,1,1}、{1,1,2}、{1,1,3}、{1,2}等。當某些分組的頻率分配過于不合理時,如[1,8]中第二分組每8 個時間步才激活一次,輸入增強鏈的觸發(fā)次數(shù)會導致輔助網(wǎng)絡一直缺失,RMSE 數(shù)值較大,所以CWTLSTM 應選擇較小的激活周期作為輸入增強鏈的周期。
圖11 不同分組頻率結果對比Fig.11 Comparison of results of different grouping frequencies
周期為1 的單元組占比不能過小,防止主干網(wǎng)絡鏈在整個網(wǎng)絡模型中的輸出占比不夠,影響模型精度。從{1,1,2}、{1,2,1}、{1,2,3}周期排列的對比中看到,周期分組采用從小到大的排序方式,可以減少下方的短期增強鏈對上方短期增強鏈的狀態(tài)值輸入,防止中間層的狀態(tài)權重矩陣Wh數(shù)值過大,影響神經(jīng)元Wx的權重大小,干擾增強輸入的功能。其中{1,1,2}周期排列的最底層周期為2 的輸入增強鏈,上一時刻的輸出為0,且無其他狀態(tài)輸出能夠傳遞至該神經(jīng)單元組,其輸出完全取決于當前時刻的輸入,因此能夠更好地發(fā)揮短期信息增強的作用。
當分頻策略為[1,1]或者[1,1,1]時,由于沒有稀疏單元,相當于每個神經(jīng)元在每個時間步都處于激活狀態(tài),無法起到增強短期輸入數(shù)據(jù)的作用,因此比其他分頻策略差。區(qū)別在于[1,1]將網(wǎng)絡化為兩個分組,第二分組只能單向傳遞狀態(tài)給第一分組;而[1,1,1]具備3 個分組,第三分組單向地傳遞自身狀態(tài)至第二與第一分組,第二分組單向傳遞狀態(tài)至第一分組。兩者之間存在性能差異,證明組間的單向信息流動結構也會對模型的噪聲淘汰概率造成影響。實驗結果證明,CWTLSTM 的性能受到分組策略的影響,合理分組并設置分組周期對CWTLSTM 模型的性能提升有重要作用。
現(xiàn)有的多元時間序列預測方法無法有效平衡短期突變信息的捕獲與長期記憶信息的存儲,造成預測結果精確度較低。為解決該問題,本文提出了能夠在保持長期信息基礎上增強短期信息捕獲能力的CWTLSTM 模型。在空氣污染公開數(shù)據(jù)集和水泥篦冷機數(shù)據(jù)集的實驗結果可以證明:
(1)CWTLSTM 模型結構能有效增強近期的數(shù)據(jù)輸入,保證對短期突變信息的敏銳捕獲,實現(xiàn)模型在長短期時間序列數(shù)據(jù)上的計算精度。
(2)在算法層面上的稀疏處理使得CWTLSTM具有一定的魯棒性和泛化能力,加強對噪聲的淘汰概率,使得訓練好的模型在不同數(shù)據(jù)分布下能夠穩(wěn)定預測。