孟 忍, 董學(xué)平, 甘 敏
(1.合肥工業(yè)大學(xué) 電氣與自動化工程學(xué)院,安徽 合肥 230009; 2.福州大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 福州 350108)
水泥工業(yè)是我國國民經(jīng)濟(jì)建設(shè)的重要基礎(chǔ)材料產(chǎn)業(yè)。因?yàn)榉纸鉅t運(yùn)行狀況的關(guān)鍵性能指標(biāo)是分解爐出口溫度,所以對分解爐出口溫度的研究具有重要意義[1]。近年來,有很多學(xué)者對分解爐出口溫度的預(yù)測方法進(jìn)行研究。文獻(xiàn)[2]提出一種出口溫度預(yù)測模型基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的方法,進(jìn)行實(shí)驗(yàn)并驗(yàn)證其效果;文獻(xiàn)[3]提出一種基于遞推最小二乘和ARMAX的分解爐溫度預(yù)測模型。上述2種方法使用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的方法對分解爐出口溫度進(jìn)行預(yù)測,因?yàn)椴痪邆鋸倪^去和將來的數(shù)據(jù)中學(xué)習(xí)信息的能力,所以影響分解爐出口溫度的預(yù)測精度。
上述研究都只在其風(fēng)、料、煤等主要傳統(tǒng)經(jīng)驗(yàn)的基礎(chǔ)上進(jìn)行研究,具有很大的局限性。因此將數(shù)據(jù)篩選方法與神經(jīng)網(wǎng)絡(luò)算法相結(jié)合的方法,能夠較為準(zhǔn)確地把握分解爐出口溫度特性。文獻(xiàn)[4]將核主成分分析(kernel principal component analysis,KPCA)非線性降維應(yīng)用于財(cái)務(wù)危機(jī)預(yù)警模型的建立,并進(jìn)行實(shí)驗(yàn)驗(yàn)證其效果,表明KPCA在處理非線性數(shù)據(jù)方面具有較好的能力;因此文獻(xiàn)[5]應(yīng)用注意力機(jī)制的長短期記憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)建立PM2.5預(yù)測模型的方法,并驗(yàn)證其效果;文獻(xiàn)[6]應(yīng)用雙向長短斯記憶(bidirectional long short-term memory,BiLSTM)神經(jīng)網(wǎng)絡(luò)構(gòu)建剎車片壽命預(yù)測模型,通過對比實(shí)驗(yàn)驗(yàn)證了模型的優(yōu)越性。上述方法均體現(xiàn)了神經(jīng)網(wǎng)絡(luò)的優(yōu)越性,但是由于分解爐出口溫度具有非線性、多干擾、大時(shí)滯等特性,僅把神經(jīng)網(wǎng)絡(luò)的方法運(yùn)用于分解爐出口溫度的預(yù)測方面,忽略了出口溫度變化的非線性特征,影響了預(yù)測精度。
本文提出一種基于KPCA結(jié)合BiLSTM的分解爐出口溫度預(yù)測模型。引入KPCA可有效地提取變量的非線性特征,篩選出包含主要信息的主成分,降低影響因素的變量維度;然后將降維所得的主元作為BiLSTM神經(jīng)網(wǎng)絡(luò)的輸入,通過分析不同隱含層和神經(jīng)元個(gè)數(shù)對模型的影響,建立分解爐出口溫度預(yù)測模型,并進(jìn)行實(shí)驗(yàn)確定模型精度,從而完成對出口溫度的預(yù)測。通過仿真實(shí)驗(yàn)證明,基于KPCA-BiLSTM的分解爐出口溫度預(yù)測模型具有良好的預(yù)測精度。
模式識別中線性特征的提取和數(shù)據(jù)表示一般用主成分分析(principal component analysis,PCA),當(dāng)訓(xùn)練數(shù)據(jù)集中的樣本數(shù)量相對少時(shí),較難獲得準(zhǔn)確的協(xié)方差矩陣,并且通常用于非線性數(shù)據(jù)處理時(shí)無法獲得最佳的預(yù)期效果[7]。作為減少非線性特征維數(shù)的算法,KPCA使用核的思想以線性方式將非線性樣本空間映射到高維特征空間,然后進(jìn)行線性降維。在解決提取非線性特征的問題方面,KPCA具有比PCA更好的效果,利用核函數(shù)可以有效地保留原始數(shù)據(jù)的特征,并最大限度地提取數(shù)據(jù)中包含的非線性信息[8]。KPCA具有以下特點(diǎn):原始數(shù)據(jù)通過非線性映射函數(shù)映射到高維空間,并且空間中的所有樣本都可以線性表示空間中的任何向量。
PCA是一種線性主成分分析方法,對于原始數(shù)據(jù)構(gòu)成的矩陣,首先進(jìn)行標(biāo)準(zhǔn)化處理得到新的樣本集xk(k=1,2,3,…,m;xk∈Rn),再對新的樣本集計(jì)算其協(xié)方差矩陣,即
(1)
然后求得矩陣C的特征值和特征向量。
KPCA是PCA的非線性間接擴(kuò)展[9]。KPCA首先對樣本xk進(jìn)行非線性變換φ(xk),將其映射到高維特征空間F,此時(shí)協(xié)方差矩陣為:
(2)
上述矩陣的特征值λ和特征向量V滿足以下條件:
λV-CV=0
(3)
引入非線性函數(shù)φ(xk),可得:
λφ(xk)V-φ(xk)CV=0
(4)
(4)式中的特征向量V可由φ(xi)線性表示,即
(5)
將(2)式、(4)式代入(3)式,并引入核函數(shù)Kij=K(xi,xj)=φ(xi)φ(xj),簡化后得:
mλα-Kα=0
(6)
其中,α為核矩陣K的特征向量。對于任意樣本,在特征空間F中主元φ(x)上的投影為:
(7)
(8)
其中:L為m×m階單位矩陣,其系數(shù)為1/m。
LSTM是目前應(yīng)用比較廣泛,并得到高度認(rèn)可的神經(jīng)網(wǎng)絡(luò),它可以克服循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)中梯度消失的問題[10]。因?yàn)槠渚哂歇?dú)特的設(shè)計(jì)結(jié)構(gòu),所以LSTM適合處理和預(yù)測時(shí)間間隔長且時(shí)間序列延遲的重要事件。LSTM的單元結(jié)構(gòu)由4個(gè)部分組成,每個(gè)部分之間存在交互,分別為遺忘門、輸入門、信息更新和輸出門,LSTM內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 LSTM內(nèi)部結(jié)構(gòu)
LSTM內(nèi)部結(jié)構(gòu)的第1部分為遺忘門,如圖1中①所示,即通過sigmoid函數(shù)從上一個(gè)時(shí)刻的輸出和本時(shí)刻的輸入值中丟棄部分信息,其表達(dá)式為:
ft=σ(Wf[ht-1,xt]+bf)
(9)
第2部分為輸入門,如圖1中②所示,該部分的功能是確定需要更新哪些信息,并通過sigmoid和tanh函數(shù)進(jìn)行過濾,需要更新的信息表達(dá)式如下。
經(jīng)過σ函數(shù)過濾后可得:
it=σ(Wi[ht-1,xt]+bi)
(10)
經(jīng)過tanh 函數(shù)過濾后可得:
Ct′=tanh(Wc[ht-1,xt]+bc)
(11)
第3部分為信息更新,如圖1中③所示,它將遺忘門和上一時(shí)間點(diǎn)的信息更新值相乘并與輸出門的2個(gè)值的乘積相加,細(xì)胞狀態(tài)的更新公式為:
Ct=ftCt-1+itCt′
(12)
第4部分為輸出門,如圖1中④所示,該輸出值是基于以上的3個(gè)步驟。首先利用sigmoid函數(shù)選擇部分輸入門的信息;然后利用tanh函數(shù)功能用于選擇和過濾更新后的信息;最后將2個(gè)選定的信息相乘以獲得此時(shí)的細(xì)胞輸出值,其表達(dá)式如下。
經(jīng)過σ函數(shù)過濾后可得:
ot=σ(Wo[ht-1,xt]+bo)
(13)
ht=ottanh(Ct)
(14)
其中:σ為sigmoid激活函數(shù);xt為時(shí)刻t的輸入值;ht-1為t-1時(shí)刻的輸出值;Ct為細(xì)胞信息更新值;Wc、Wi、Wo、Wf分別為細(xì)胞狀態(tài)、輸入門、輸出門和遺忘門;bc、bi、bo、bf分別為細(xì)胞狀態(tài)、輸入門、輸出門、遺忘門的偏置值。
本文選取神經(jīng)網(wǎng)絡(luò)中常用的sigmoid 函數(shù)作為σ函數(shù),其表達(dá)式為:
s(x)=1/(1+e-x)
(15)
LSTM具有以非常長的時(shí)間間隔和時(shí)間序列中的延時(shí)來處理和預(yù)測大型事件的特征,但是它只能根據(jù)過去的數(shù)據(jù)預(yù)測信息,BiLSTM具有能夠從過去和將來的數(shù)據(jù)中學(xué)習(xí)信息的能力,BiLSTM的結(jié)構(gòu)示意圖如圖2所示,圖2從上到下依次為輸入層、前向?qū)印⒑笙驅(qū)雍洼敵鰧?BiLSTM 的基本思想是每個(gè)學(xué)習(xí)序列分別作為長短期記憶神經(jīng)網(wǎng)絡(luò)的向前和向后的2個(gè)神經(jīng)網(wǎng)絡(luò),并且這2個(gè)層分別連接到輸入層和輸出層。輸出值整合了過去(前向)和未來(反向)的信息,分析了不同隱含層和神經(jīng)元數(shù)量對模型的影響,建立了分解爐出口溫度預(yù)測模型,并進(jìn)行仿真實(shí)驗(yàn)以確定模型的準(zhǔn)確性。
圖2 BiLSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在BiLSTM中的每一個(gè)時(shí)間點(diǎn)都有8個(gè)唯一的權(quán)重值被重復(fù)使用,并且每個(gè)值對應(yīng)的8個(gè)權(quán)重值在前隱藏層和后隱藏層中,輸入的權(quán)重值(w1,w4)前向隱藏層到前向隱藏層(w2,w3)、后向隱藏層到后向隱藏層(w6,w7)、前向隱藏層和后向隱藏層到輸出層(w5,w8)。尤其要注意的是前向隱藏層和后向隱藏層之間沒有進(jìn)行信息傳遞,這樣可以避免2個(gè)隱藏層的相鄰2個(gè)時(shí)間點(diǎn)之間形成死循環(huán)。其計(jì)算方式為:在前向?qū)訌?時(shí)刻到t時(shí)刻正向計(jì)算1次,得到并保存每個(gè)時(shí)間點(diǎn)向前隱藏層的輸出;在后向?qū)友刂鴷r(shí)刻t到時(shí)刻1反向計(jì)算1次,得到保存每個(gè)時(shí)間點(diǎn)向后隱藏層的輸出;最后在每個(gè)時(shí)間點(diǎn)結(jié)合前向?qū)雍秃笙驅(qū)拥南鄳?yīng)時(shí)刻輸出的結(jié)果得到最終的輸出,數(shù)學(xué)表達(dá)式為:
ht′=f(w1xt+w2Ct-1′+w3ht-1′)
(16)
ht=f(w4xt+w6Ct-1+w7ht-1)
(17)
ot=g(w5ht′+w8ht)
(18)
模擬數(shù)據(jù)取自于實(shí)際生產(chǎn)的水泥數(shù)據(jù)。在變量選擇方面,大多數(shù)研究者[11-12]圍繞三次風(fēng)溫、分解爐喂料量、分解爐喂煤量這3個(gè)主要變量對分解爐出口溫度進(jìn)行研究。因?yàn)榉纸鉅t內(nèi)部結(jié)構(gòu)復(fù)雜且變量眾多,所以難以依靠經(jīng)驗(yàn)法選取變量來全面概括分解爐的內(nèi)部規(guī)律。結(jié)合分解爐結(jié)構(gòu)與工況,選取包含分解爐喂料量、分解爐喂煤量、三次風(fēng)壓和出口壓力等在內(nèi)的22個(gè)變量用來對分解爐出口溫度進(jìn)行分析,并選用KPCA數(shù)據(jù)降維的方法對22個(gè)變量進(jìn)行參數(shù)估計(jì),用來篩選相關(guān)變量。
KPCA進(jìn)行自變量的降維,使用Python編程實(shí)現(xiàn),下面對其關(guān)鍵步驟進(jìn)行說明。
(1)數(shù)據(jù)預(yù)處理。首先對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,處理后均值為0,方差為1。
(2)采用高斯徑向基核函數(shù),求核矩陣。高斯徑向基核函數(shù)為:
(19)
其中:x為空間中任一點(diǎn);xc為核函數(shù)中心;σ為函數(shù)的寬度參數(shù),控制函數(shù)的徑向作用范圍。
(3)對矩陣進(jìn)行中心化,得到一個(gè)新的矩陣。
(4)特征值分解。找到協(xié)方差矩陣的特征向量和特征值,將對角線矩陣與主對角線上的特征值轉(zhuǎn)換為特征值的列向量,并按降序排列特征值。
(5)對主元的貢獻(xiàn)率進(jìn)行確定。計(jì)算每個(gè)特征值的貢獻(xiàn)率以及累計(jì)貢獻(xiàn)率,并將主元所在特征值向量中的序號記錄下來,同時(shí)保存主元序號以及主元的個(gè)數(shù)。
(6)計(jì)算每個(gè)主元向量以及各主元所對應(yīng)的特征向量,并構(gòu)建主元矩陣。經(jīng)過KPCA 降維處理之后,分解爐出口溫度的影響因素由22維降至4維,累計(jì)貢獻(xiàn)率達(dá)到90%以上。KPCA對前4個(gè)主成分的單個(gè)貢獻(xiàn)率及累計(jì)貢獻(xiàn)率見表1所列。
表1 KPCA對22個(gè)影響因素的處理結(jié)果 %
為了更好地驗(yàn)證KPCA在數(shù)據(jù)篩選方面的優(yōu)越性,引入用PCA數(shù)據(jù)篩選方法處理主成分的單個(gè)貢獻(xiàn)率及累計(jì)貢獻(xiàn)率,見表2所列。
表2 PCA對22個(gè)影響因素的處理結(jié)果 %
因?yàn)榉纸鉅t出口溫度具有非線性、強(qiáng)耦合性、多干擾、大時(shí)滯等特征,所以PCA只能進(jìn)行線性變化,在非線性數(shù)據(jù)處理時(shí)往往得不到較好的期望效果;而KPCA可以進(jìn)行非線性變化,能將原數(shù)據(jù)通過引入隱性非線性映射函數(shù)映射到高維空間,然后對此空間執(zhí)行算法進(jìn)行線性降維,對數(shù)據(jù)的篩選效果更好。實(shí)驗(yàn)結(jié)果表明,KPCA對主成分的累計(jì)貢獻(xiàn)率要高于PCA。
為了得到精確的預(yù)測結(jié)果,使用KPCA數(shù)據(jù)降維與BiLSTM神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,從而給出KPCA-BiLSTM的組合模型。KPCA-BiLSTM組合模型的整體流程如圖3所示。
圖3 KPCA-BiLSTM模型的整體流程
仿真實(shí)驗(yàn)采用某公司6 000 t/d水泥生產(chǎn)線的生產(chǎn)數(shù)據(jù),利用所測得的1 100組數(shù)據(jù)進(jìn)行分析預(yù)測,其中:900組作為訓(xùn)練集;200組作為測試集。由于數(shù)據(jù)包含溫度、壓強(qiáng)等不同量綱的變量,需要將輸入變量進(jìn)行歸一化處理,計(jì)算公式為:
(20)
為進(jìn)一步驗(yàn)證KPCA-BiLSTM分解爐出口溫度預(yù)測模型的準(zhǔn)確性,將經(jīng)過歸一化處理和KPCA篩選后得到的數(shù)據(jù)作為BiLSTM神經(jīng)網(wǎng)絡(luò)的輸入,將得到的預(yù)測值與真實(shí)值進(jìn)行對比,通過對比不同的神經(jīng)網(wǎng)絡(luò)算法在分解爐出口溫度預(yù)測的精度,來驗(yàn)證KPCA-BiLSTM模型的有效性。為進(jìn)一步驗(yàn)證模型的準(zhǔn)確性,選取平均絕對百分比誤差(mean absolute percentage error,MAPE)和均方根誤差(root mean square error,RMSE)作為評價(jià)指標(biāo)對模型的預(yù)測精度進(jìn)行定量分析。計(jì)算公式為:
(21)
(22)
其中:n為測試樣本數(shù);yt為測試樣本實(shí)際值;yp為模型預(yù)測值。
選取1 100組數(shù)據(jù),選取其中200組作為測試集,利用前文2.1節(jié)KPCA得到的降維結(jié)果作為神經(jīng)網(wǎng)絡(luò)的輸入,將BiLSTM的時(shí)間步數(shù)設(shè)置為3,優(yōu)化算法選擇隨機(jī)梯度下降的Adam函數(shù),得到預(yù)測值與真實(shí)值的變化趨勢如圖4所示。從圖4可以看出,KPCA-BiLSTM模型在真實(shí)溫度波動較大的情況下仍可以實(shí)現(xiàn)較好的預(yù)測,預(yù)測結(jié)果最接近真實(shí)值。同時(shí)在40~60、80~140、125~150溫度波動范圍較大的預(yù)測點(diǎn)和在25~50溫度變化較快的預(yù)測點(diǎn)范圍內(nèi),使用KPCA-BiLSTM模型也能實(shí)現(xiàn)較好的預(yù)測效果。
圖4 KPCA-BiLSTM組合模型擬合曲線
為了更全面地評價(jià)模型的有效性與優(yōu)越性,分別引入不進(jìn)行數(shù)據(jù)降維的BiLSTM模型,以及用PCA和KPCA進(jìn)行數(shù)據(jù)降維后的KPCA-LSTM組合模型,PCA-BiLSTM組合模型與KPCA-BiLSTM組合模型進(jìn)行對比,最終預(yù)測值和真實(shí)值的MAPE和RMSE對比結(jié)果見表3所列。
表3 預(yù)測結(jié)果誤差對比
從表3可以看出,KPCA-BiLSTM組合模型具有最好的預(yù)測性能。相較于PCA-BiLSTM模型,KPCA-BiLSTM模型的MAPE降低了0.014,RMSE降低了0.068;相較于KPCA-LSTM模型,KPCA-BiLSTM模型的MAPE降低了0.071,RMSE降低了0.437;相較于BiLSTM模型,KPCA-BiLSTM模型的MAPE降低了0.197,RMSE降低了1.575。因此,本文提出的預(yù)測模型是可行的。
使用不同預(yù)測模型處理變量的預(yù)測結(jié)果如圖5所示。
圖5 不同預(yù)測模型下的預(yù)測值與真實(shí)值
從圖5可以看出,僅使用BiLSTM神經(jīng)網(wǎng)絡(luò)預(yù)測的結(jié)果整體上與實(shí)際值偏差較大,尤其是在溫度劇烈變化的預(yù)測點(diǎn)處,預(yù)測結(jié)果均大于真實(shí)值。使用KPCA-LSTM組合預(yù)測模型,因?yàn)長STM只具備處理和預(yù)測時(shí)間序列中間隔和延遲比較長的事件,不具備利用過去和未來數(shù)據(jù)的信息進(jìn)行學(xué)習(xí)的能力,所以在經(jīng)過KPCA降維處理后,預(yù)測效果會有提前上升和滯后下降的過程。對比PCA-BiLSTM模型和KPCA-BiLSTM模型,因?yàn)锽iLSTM具有對過去和未來信息學(xué)習(xí)的能力,所以相比較而言都有較好的預(yù)測精度。因?yàn)镻CA只能進(jìn)行線性變化,在非線性數(shù)據(jù)處理時(shí)往往得不到較好的期望效果,而KPCA可以進(jìn)行非線性變化,所以能將原數(shù)據(jù)通過引入隱性非線性映射函數(shù)映射到高維空間,然后對此空間執(zhí)行算法進(jìn)行線性降維,對數(shù)據(jù)的篩選效果更好。從圖5還可以看出,KPCA-BiLSTM模型的擬合效果更優(yōu)于PCA-BiLSTM模型的擬合效果。由此可見,基于KPCA-BiLSTM模型的分解爐溫度預(yù)測不僅在總體上提高了分解爐溫度預(yù)測的精度,而且在各個(gè)預(yù)測點(diǎn)的值與真實(shí)值的差值相對較小。
由于分解爐出口溫度具有非線性、強(qiáng)耦合性、多干擾、大時(shí)滯等特征,因此本文提出了使用KPCA進(jìn)行變量篩選從而來降低影響分解爐出口溫度數(shù)據(jù)的維度,在此基礎(chǔ)上引入BiLSTM神經(jīng)網(wǎng)絡(luò),提出一種基于KPCA-BiLSTM的組合預(yù)測模型。同時(shí)與BiLSTM、KPCA-LSTM、PCA-BiLSTM等組合模型進(jìn)行對比分析,得到KPCA-BiLSTM組合模型能夠精確地預(yù)測分解爐的出口溫度,有效地提高了預(yù)測精度。