戴金玲,許愛強,*,于超,吳陽勇
(1.海軍航空大學,煙臺 264001; 2.中國人民解放軍 92313部隊,濟源 454650)
針對飛機發動機的在線狀態預測屬于早期故障檢測方法,對排除早期故障、降低維護成本、提高系統穩定性和安全性都具有重要意義[1]。
早期用于時間序列預測的支持向量機[2-3]、神經網絡[4-5]以及其他機器學習方法[6],存在收斂速度慢,易陷入局部最優等缺陷。為克服這些缺陷,提出了一種新的神經網絡:極限學習機(Extreme Learning Machine,ELM)[7-9],其輸入權值和隱含層偏置值隨機生成且在訓練中保持不變,僅需采用線性回歸的方法確定輸出權值。核極限學習機(Kernel ELM,KELM)[10]模型則將極端學習機與核方法相結合,進一步解決了極限學習機需要確定隱含層個數的問題,且具有更好的泛化性能。
基于核方法處理非線性問題的優勢,文獻[11]提出了基于核的增量ELM(Kernel Based Incremental ELM,KB-IELM),該方法由于吸收了所有樣本數據,其網絡結構大小與訓練樣本數相等,導致模型膨脹的問題。為解決這一問題,文獻[12]將在線序列極限學習機[13](Online Sequential ELM,OS-ELM)擴展到了核在線序列極限學習機(Kernel OS-ELM,KOS-ELM),通過設置閾值進行在線稀疏。文獻[14-15]引入了滑動時間窗的概念,降低了模型復雜度并提高了泛化性能。文獻[16-17]分別通過瞬時信息測量和積累一致性測量的方法選擇有價值的樣本、舍棄冗余信息,從而構造并更新模型。文獻[18]在文獻[16]的基礎上引入了時變的正則化因子,應對模型在不同區域的結構風險。文獻[19]引入了遺忘因子,實現模型對樣本動態變化的有效跟蹤,并極大提升了在線預測的精度與穩定性。
以上在線預測方法均架于單變量自身的歷史時間序列信息。而事實上,一個系統的各變量間是相互影響、不可剝離的因素,因此對于變量的預測不僅要考慮變量本身的歷史狀態,也要考慮相關變量的狀態。當前國內外已有關于多變量狀態預測的研究,比如文獻[20]將ELM 與最小二乘回歸(PLSR)結合提出一種混合變量選擇算法;文獻[21]則將ELM與多核學習算法結合,利用多核的非同源數據融合能力實現更準確的預測,然而這些方法的耗時均較長,不符合在線預測的要求。因此有必要對多變量在線預測方法進行研究。
由于多變量時間序列的在線預測中,各個變量選擇的稀疏字典是不一樣的,因此以多變量相空間重構序列為輸入向量、單變量為目標變量進行預測,可得到最符合目標變量變化規律的字典。本文首先通過設置時間延遲與嵌入維度,將多變量時間序列進行相空間重構;考慮到核自適應濾波(Kernel Adaptive Filtering,KAF)的收斂性和低復雜度、OS-ELM公式與遞歸最小二乘法(Recursive Least Square,RLS)公式的共通之處,以及KELM的運算速度優勢[12],受文獻[22-23]啟發,本文利用屬于KAF算法的核RLS(Kernel RLS,KRLS)方法處理內核,并給出了理論推導;為消除冗余數據并增強模型泛化能力,本文采用最佳線性近似(Approximate Linear Dependency,ALD)準則對給定的測試序列執行構造性稀疏準則,將本文模型表示為KRLSELM。通過實例分析表明,相比單變量在線預測,本文的多變量在線預測可得到更高的預測精度和穩定性,且同樣具有較高的時效性。
假設有一M 維多變量時間序列X1,X2,…,XN,其中Xi=(x1,i,x2,i,…,xM,i),i=1,2,…,N。對于多變量時間序列進行相空間重構可得


令預測模型的輸出序列為向量Yn=[y1n,y2n,…,yMn]=[x1(n+1),x2(n+1),…,xM(n+1)],其中yin=xi(n+1)=Fi(v(n)),i=1,2,…,M 分別表示多變量序列中維度為M 時的輸出預測值。式(3)中,延遲時間τi,i=1,2,…,M 和嵌入維度di確定后,重構相空間內的多變量時間序列即可用于建模預測。
將滿足等式約束條件的核極限學習機優化問題定義為

式中:β為連接隱含層與輸出層的輸出權值;yi為期望輸出值;ξi為樣本xi對應的誤差值;C為正則化參數;n為樣本個數。由KKT條件,可得輸出權值β的計算公式為

式中:H=[h(x1),h(x2),…,h(xn)]T為極限學習機隱含層輸出矩陣;Yn=[y1,y2,…,yM]T為輸入樣本對應的輸出目標值向量;I為單位矩陣。
相應的核極限學習機的輸出形式可寫為

考慮到核函數的映射與極限學習機中的隱層節點映射h(x)的相似性,將h(x)擴展為未知的特征映射,構建核極端學習機(Extreme Learning Machine with Kernels,KELM)模型。應用Mercer條件定義核矩陣為Ω =HHT,其中Ω(i,j)=h(xi)hT(xj)=k(xi,xj),當前時刻的核估計向量為kn=[k(·,x1),k(·,x2),…,k(·,xn)]。
遞歸最小二乘法(RLS)通過迭代更新權重向量來進行時間序列預測,其結構如圖1所示,設n時刻x(n)為輸入樣本,y(n)為輸出目標值,w(n)為權重系數,RLS的輸出為

圖1 RLS結構Fig.1 Structure of RLS


式中:H(n)=[h(1),h(2),…,h(n)]表示一個特征矩陣,令Ω(n)=H(n)HT(n)。式(11)的后半部分可通過矩陣求逆引理得到,轉化為該形式的原因如下:①H(i)TH(i)中的每個元素可以通過核函數簡化計算;②權重被明確表示為輸入數據的一個線性組合:w(n)=H(n)β(n),由式(11)可得β(n)=[λI+H(n)TH(n)]-1y(n);③為了避免復雜的求逆運算,可以通過迭代方法來計算β(n),經過數學推導得β(n)的迭代過程為[23]

文獻[23,25]對KRLS收斂性進行了完整推導和分析,在這種情況下,KRLS的收斂性是等價的。算法流程如下所示,其中算法的參數即為KELM中的核函數k(xi,xj)和正則化參數C,最終返回權重β(n)即為式(5)輸出權重。KRLSELM算法流程如下:
步驟1 初始化Q(1)=(λ+k(x(1),x(1)))-1,β(1)=Q(1)y(1)。
步驟2 新樣本(x(n),y(n))到達,更新參數:

步驟3 更新參數:

步驟4 返回β(n)。


由第1節和第2節,將本文模型步驟總結如下:
步驟1 對多變量時間序列進行重構,設定各個維度的時滯τi和嵌入維度di,并得到輸入向量x(n+1)和相應某一預測維度的目標值y(n+1)。
步驟2 初始化模型的參數,初始化字典Dic1={x(1),y(1)},核函數的類別,核參數為σ,正則化因子C,閾值δ,令Q(1)=(C+k(x(1),x(1)))-1,β(1)=Q(1)y(1)。
步驟3 當新樣本(xn,yn)到達后,判斷式(20)是否成立,若dis2≥δ,則執行步驟4;若dis2<δ,則執行步驟6。
步驟4 更新字典,Dicn=Dicn-1∪{x(n),y(n)},加入新樣本。使用式(16)、式(17)更新Q(n)和β(n)。

步驟6 令Dicn=Dicn-1,β(n)=β(n-1)。使用式(6),式(14)計算估計值^yn和誤差值e(n),返回步驟3。
從計算的角度來看,OS-ELM 算法的時間復雜度與P×P矩陣求逆相關,其中P為字典的成員個數,因此介于O(P2)和O(P3)之間。由KRLSELM算法顯然可得,本文模型的時間復雜度在迭代過程中為O(n2)階,且經過稀疏化準則,這種復雜度還可以降低。
為了驗證算法的有效性,將本文模型應用于以Lorenz混沌時間序列預測和某型飛機發動機飛參數據進行實驗分析。實驗通過訓練時間和測試時間指標來度量計算復雜度,通過均方根誤差(Root Mean Square Error,RMSE)來度量預測精度,以及最大絕對預測誤差(Maximal Absolute Prediction Error,MAPE)、絕對預測誤差(APE)和平均相對誤差率(Mean Relative Error Rate,MRPE)來度量預測穩定性。

本節首先驗證算法對Lorenz混沌時間序列預測的有效性。Lorenz混沌方程是一組三元微分方程,其表達式為

取a=10,b=28,c=8/3,初始值為(x(1),y(1),z(1))=(10,1,0),利用4階Runge-Kutta算法積分,取3個變量在時間為(4001,6400)的延遲時間為τ1=τ2=τ3=2/s,嵌入維度為m1=m2=m3=6,即重構向量維度為18,方程產生混沌時間序列如圖2所示。相空間重構產生1200組數據,每組數據的前1000組作為訓練樣本,后200組為測試樣本。其中x(t)、y(t)、z(t)表示Lorenz混沌時間序列在t時刻的值。
經過仿真對比,當Lorenz混沌時間序列的參數設置如表1所示時,可獲得各方法下最佳預測結果如表2所示。其中第2列表示以圖2中的Lorenz-(x)為預測目標,分別以單變量x(即重構向量[1~6])、變量x和y(即重構向量[1~12])以及變量x、y、z(即重構向量[1~18])為輸入變量進行仿真實驗,并將各方法中每項指標的最優值加粗顯示。由表2可見:

表1 Lorenz混沌時間序列實驗參數設置Table 1 Experimental parameter setting for Lorenz chaotic time series

表2 Lorenz混沌時間序列預測結果Table 2 Results of Lor enz chaotic time ser ies prediction

圖2 Lorenz混沌時間序列Fig.2 Lorenz chaotic time series
1)對比各方法的測試效果發現,對比KBIELM、NOS-KELM 和FF-OSKELM,KRLSELM 將各方法的最優預測精度提高了30.38%、93.56%和26.67%。FF-OSKELM 與KB-IELM 與本文模型具有同等數量級的預測精度與穩定性,NOSKELM則最低,驗證了本文模型的有效性。
2)對比不同的變量輸入組合發現,預測穩定性最高的均為多變量輸入;除了KB-IELM方法以外,各個方法中預測精度最高的均為多變量輸入,驗證了本文所提多變量時間序列預測的性能。其中KRLSELM的預測精度及預測穩定性均隨著輸入變量數的增加而提高;方法NOS-KELM 與FFOSKELM則在輸入變量為“xy”時具有最高的預測精度。
3)對比不同方法的消耗時間可見,除了KBIELM以外,各方法時間花費均在10-4s的數量級上,達到了在線預測的要求,其差異可基本忽略。
表2中各方法下預測精度最佳的預測結果(粗體部分),即各方法的最佳整體預測曲線如圖3(a)所示,圖3(b)所示為圖3(a)中框出來的局部放大曲線,由圖中可以得到:根據整體預測曲線中可見,所有的方法基本均能有效進行目標跟蹤,大體達到預測的效果;根據局部放大曲線中可見,FF-OSKELM 與KB-IELM 的預測精度相比NOS-KELM方法更高,其中KRLSELM 的預測曲線與真實曲線最為貼近,進一步驗證了表2中的結論。
圖3中各方法的絕對預測誤差如圖4所示。由圖中可知,NOS-KELM 的絕對預測誤差(APE)遠遠高于其他方法;與KRLSELM 相比,KB-IELM與FF-OSKELM的絕對預測誤差變化趨勢大體一致,但在預測步數為40左右時均遇到了較大的波動,因此其穩定性低于KRLSELM。

圖3 Lorenz混沌時間序列預測曲線Fig.3 Prediction curve of Lorenz chaotic time series

圖4 Lorenz混沌時間序列預測誤差Fig.4 Prediction error of Lorenz chaotic time series
圖5為圖3各方法在訓練過程中的訓練樣本數隨訓練步數的變化曲線圖。圖中可見:①KRLSELM方法使用的訓練樣本不到總樣本數1/10,驗證了其具有較好的稀疏效果;②FF-OSKELM與NOS-KELM的訓練樣本數穩定在150左右,是經過稀疏化之后的結果,但仍然低于KRLSELM;③由于KB-IELM 沒有稀疏化的過程,使用了所有的樣本,其訓練樣本數與訓練步數呈現線性相關關系,這也解釋了表2中該方法時間消耗最大的原因。

圖5 Lorenz混沌時間序列訓練樣本數Fig.5 Number of training samples for Lorenz chaotic time series learning
各方法的學習曲線由預測過程中的RMSE表征,如圖6所示。其中,NOS-KELM的收斂性明顯遠低于其他方法。隨著預測步數的增加,KBIELM、FF-OSKELM 和KRLSELM 均約在50個樣本處開始收斂,學習曲線趨于平滑;其中KRLSELM能夠收斂到更加精確的階段,穩定性最高,驗證了該方法的性能。

圖6 Lorenz混沌時間序列學習曲線Fig.6 Learning curve of Lorenz chaotic time series
本節將驗證本文模型對某型飛機發動機狀態在線預測的有效性。以某型教練機的發動機為例,選取渦輪后溫度以及低壓轉子轉速、油門桿角位移、高壓轉子轉速為監測項目,并分別標記為變量1、2、3、4。
取該機型飛行參數系統某一架次的原始數據,數據采樣每隔1 s進行一次,每個變量取非平穩狀態下的250個樣本,設置延遲時間為τ1=τ2=τ3=τ4=1,嵌入維度為m1=m2=m3=m4=6,則得到244組新樣本。由于是其他樣本4倍的數量級,將其乘以1/4做處理,得到經過處理的非平穩時間序列,變化曲線如圖7所示。飛行參數包括發動機系統參數、液壓系統參數、燃油系統參數、飛行姿態控制系統參數等,而數據采集系統已根據相關性分析方法對各個分系統進行了劃分,例如,航速、高度、升降率屬于飛行姿態控制系統參數;應急系統壓力屬于液壓系統參數;剩余油量、燃油分耗率屬于燃油系統參數;油門桿位移量、高低壓轉子轉速,渦輪后溫度屬于發動機系統參數等。因此本文以發動機飛行參數系統為例對發動機狀態進行預測,發動機系統共有4個可采集的與發動機狀態相關的參數,由圖7可見,其變化趨勢一致,因此具有一定的相關關系。實驗將前194組樣本作為訓練數據,后50組為測試樣本。

圖7 某教練機飛行參數樣本曲線Fig.7 Flight parameter sample curves of a trainer engine
經過仿真對比,當飛行參數的設置如表3所示時,可獲得最優性能。以低壓轉子轉速(變量2)為預測對象,則輸入變量組合排列后共有8種空間重構變量。飛參的預測仿真結果如表4所示,其中標粗部分為各方法下的最優預測結果。

表3 飛行參數設置Table 3 Experimental par ameters setting for flight parameters prediction

表4 飛行參數預測仿真結果Table 4 Simulation results of flight parameters prediction
由表4可見:
1)對比所有方法的預測結果可以發現,相比KB-IELM、NOS-KELM 和FF-OSKELM,KRLSELM將各方法的最優預測精度提高了89.26%、40.03%和14.31%。同時,幾乎在所有輸入變量組合下,KRLSELM均具有最高的預測精度和穩定性,進一步驗證了本文模型的有效性。
2)對比所有方法的測試時間發現,由于樣本數量較小,各輸入變量組合的時間消耗均在10-3s的數量級以下,滿足了飛機發動機在線預測的要求。
3)對比各算法下不同輸入變量組合的預測結果發現,相比多變量輸入,單變量的預測精度和穩定性幾乎都是最低的,驗證了多變量的考慮對單變量預測的重要意義;KB-IELM 在輸入組合為變量“123”時的預測精度為最優,FF-OSKELM 與NOS-KELM在輸入組合為變量“12”時為最優,而KRLSELM則在輸入為變量“124”時為最優,因此預測精度與輸入變量數不存在線性相關關系,隨著輸入變量數的增長,預測精度會達到一個極值點再下降。
4)對比預測精度與穩定性的關系,輸入變量“23”在FF-OSKELM 方法下具有最優的測試精度,但其穩定性指標MRPE卻并非最優;而在其他輸入組合下可見,最優的預測精度也相應的穩定性也最優,因此預測精度與穩定性不存在一定的相關關系。
如圖8所示為KRLSELM方法中4種變量組合的飛行參數預測曲線,圖8(a)為整體預測曲線圖,其中框出的部分即為圖8(b)中的局部放大預測圖。圖中可見:①各個變量組合大體上都能跟蹤預測目標;②局部圖中,顯然變量“2”的目標跟蹤效果遠不如其他組合變量的跟蹤效果,且穩定性差。如圖9所示為4種變量組合預測的APE曲線圖,顯然輸入為變量“12”和變量“124”的預測結果相比另外2種輸入穩定性更高。根據圖9中各變量輸入下的APE,顯然變量“12”和變量“124”的預測結果波動更小,變量“2”的波動最大,進一步驗證了表4中的結論。

圖8 KRLSELM方法的飛行參數預測曲線Fig.8 Flight parameter prediction curves by KRLSELM

圖9 KRLSELM預測的APEFig.9 APE curves predicted by KRLSELM
如圖10所示為KRLSELM 方法的飛參訓練樣本數與訓練步數的關系圖。由圖可知,訓練樣本數最高與最低的都沒有達到最優預測結果,這是因為輸入變量“1234”在稀疏過程中發生了過擬合,而輸入變量“2”吸收的訓練樣本不夠導致了欠采樣。因此,稀疏性與吸收訓練樣本數并沒有線性相關的關系。訓練樣本數在增長過程中存在一個極值點,使得方法的稀疏性達到最高。

圖10 KRLSELM訓練樣本數Fig.10 Training sample numbers of KRLSELM
KRLSELM方法的學習曲線如圖11所示,預測步數達到10時,預測曲線開始收斂。與表2結論一致,輸入為變量“2”時的預測效果最差,其學習曲線的收斂效果也最差;當輸入組合的預測效果最優時,對應的學習曲線也最為平滑,收斂效果最好。

圖11 KRLSELM學習曲線Fig.11 Learning curves of KRLSELM
本文考慮了非平穩時間序列預測中多個變量對于單變量預測的影響,采用空間重構方法將多變量間的時間相關性轉化為空間相關性,提出KRLS與ELM 結合對目標變量進行預測,通過ALD算法設置閾值對模型進行稀疏化,并應用于某教練機的發動機狀態在線預測中,實驗結果如下:
1)KB-IELM、FF-OSKELM 與NOS-KELM 均能對變量進行有效預測,且除KB-IELM 方法外,其他方法都達到了在線預測的要求。
2)滿足在線預測條件的前提下,相比KBIELM、FF-OSKELM 與 NOS-KELM,本文模型KRLSELM 將平均預測均方根減小了90.61%、58.14%和25.77%,將平均相對誤差率減少了99.61%、75.03%和28.59%,擁有更高的預測精度和預測穩定性。
3)對比不同輸入組合變量的預測結果,單變量輸入的預測精度幾乎都是最低的,在多變量輸入組合下獲得最優的測試精度及穩定性,驗證了多變量的考慮對于單變量預測的意義。