陳 聰, 李樂樂, 陳 灝, 朱 達(dá), 候 磊
(1.中國民航大學(xué)航空工程學(xué)院,天津 300300; 2.北京航空航天大學(xué)能源與動(dòng)力工程學(xué)院,北京 100191)
當(dāng)今,隨著中國航空業(yè)的蓬勃發(fā)展與智能計(jì)算的興起,如何將飛機(jī)狀態(tài)監(jiān)控、故障預(yù)測(cè)與大數(shù)據(jù)挖掘技術(shù)相結(jié)合成為研究的熱門課題。鑒于中國現(xiàn)役的民航客機(jī)主力機(jī)型為B737NG,其硬件設(shè)備較為陳舊,故在分析預(yù)測(cè)方面,仍以快速存取記錄器(quick access recorder, QAR)數(shù)據(jù)分析為主要手段。
在QAR數(shù)據(jù)分析利用方面,陳聰?shù)萚1]通過MATLAB-Simulink建立飛機(jī)燃油流量預(yù)測(cè)模型,但在下降階段預(yù)測(cè)效果略差;巴塔西等[2]詳細(xì)描述了基于QAR數(shù)據(jù)的故障預(yù)測(cè)系統(tǒng)的實(shí)現(xiàn)方法,但該方法對(duì)于非平穩(wěn)趨勢(shì)數(shù)據(jù)預(yù)測(cè)較差;曹惠玲等[3]基于QAR數(shù)據(jù),對(duì)PW4056發(fā)動(dòng)機(jī)燃油流量進(jìn)行分析并提出了預(yù)測(cè)模型,但該模型在飛機(jī)降落階段預(yù)測(cè)精度有所不足;Jiao等[4]利用QAR數(shù)據(jù)對(duì)民用客機(jī)近階段進(jìn)行研究,提出了減少進(jìn)近段事故發(fā)生的具體措施;陳聰?shù)萚5]基于QAR數(shù)據(jù)利用熵權(quán)法對(duì)飛機(jī)燃油流量進(jìn)行預(yù)測(cè),預(yù)測(cè)效果較好,并建立了BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型。
通過以上研究可知,目前利用QAR數(shù)據(jù)對(duì)飛機(jī)燃油流量預(yù)測(cè)與故障分析時(shí),若利用較傳統(tǒng)的分析方法,其預(yù)測(cè)精度在飛機(jī)平穩(wěn)飛行階段(巡航)較好,但在不穩(wěn)定飛行階段(起飛、爬升、進(jìn)近、降落)預(yù)測(cè)精度就會(huì)下降。為了實(shí)現(xiàn)飛機(jī)燃油流量的快速、精確預(yù)測(cè),將最小二乘回歸(partial least squares, PLS)降維算法與改進(jìn)的Elman神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出一種基于偏PLS和粒子群算法(particle swarm optimization,PSO)優(yōu)化的Elman神經(jīng)網(wǎng)絡(luò)燃油流量灰色預(yù)測(cè)模型。
神經(jīng)網(wǎng)絡(luò)(neural network,NN)是一種非線性的自適應(yīng)信息處理系統(tǒng)[6]。它受生物神經(jīng)網(wǎng)絡(luò)啟發(fā),將生物對(duì)信息的處理過程,應(yīng)用到計(jì)算機(jī)智能計(jì)算的網(wǎng)絡(luò)系統(tǒng)。當(dāng)神經(jīng)網(wǎng)絡(luò)處理非線性、大規(guī)模數(shù)據(jù)時(shí),它能通過大量樣本進(jìn)行訓(xùn)練,得到非常理想的計(jì)算結(jié)果,但由于算法自身結(jié)構(gòu)原因,在處理樣本特征信息方面,神經(jīng)網(wǎng)絡(luò)仍有不足。例如:當(dāng)數(shù)據(jù)維度比較高時(shí),神經(jīng)網(wǎng)絡(luò)往往不能把握其主要特征信息,從而把關(guān)聯(lián)性不大、甚至沒有關(guān)聯(lián)性的特征數(shù)據(jù)計(jì)算進(jìn)去。這不僅會(huì)影響計(jì)算響應(yīng)時(shí)間、占用計(jì)算空間,而且對(duì)最終計(jì)算精度產(chǎn)生一定影響,進(jìn)而增加了數(shù)據(jù)管理的難度。Elman神經(jīng)網(wǎng)絡(luò)是在傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上發(fā)展的新型神經(jīng)網(wǎng)絡(luò)[7],在傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了局部記憶單元,從而實(shí)現(xiàn)對(duì)信息的動(dòng)態(tài)處理。但BP神經(jīng)網(wǎng)絡(luò)的一些固有缺陷,依舊無法克服。例如:容易陷入局部最優(yōu)解、學(xué)習(xí)率固定、隱含層神經(jīng)元數(shù)量難以確定等問題。這些問題不僅使Elman神經(jīng)網(wǎng)絡(luò)計(jì)算效率低,而且還會(huì)出現(xiàn)過度擬合或訓(xùn)練不足等問題,最終影響計(jì)算精度。
圖1 研究流程Fig.1 Research process
飛機(jī)燃油流量(fuel flow,F(xiàn)F)是飛機(jī)燃油系統(tǒng)的一個(gè)重要參數(shù),它不僅是衡量飛機(jī)當(dāng)前運(yùn)行狀態(tài)是否處于安全的一個(gè)指標(biāo),更是預(yù)測(cè)飛機(jī)未來飛行狀態(tài)的一個(gè)重要參數(shù)[8]。目前,對(duì)預(yù)測(cè)燃油流量研究主要集中在灰色預(yù)測(cè)、數(shù)值分析[9]兩個(gè)方面。灰色預(yù)測(cè)方法是在給定部分信息條件下對(duì)燃油流量進(jìn)行預(yù)測(cè),這種預(yù)測(cè)方式簡(jiǎn)單、快捷。數(shù)值分析是已知飛機(jī)各種數(shù)據(jù)的條件下,對(duì)飛機(jī)燃油流量進(jìn)行精確計(jì)算,這種方法復(fù)雜、精確。
現(xiàn)擬采用基于PLS與PSO算法優(yōu)化的Elman神經(jīng)網(wǎng)絡(luò)灰色預(yù)測(cè)模型對(duì)飛機(jī)燃油流量進(jìn)行預(yù)測(cè)。較傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)飛機(jī)燃油流量預(yù)測(cè)模型,主要在以下三個(gè)方面進(jìn)行優(yōu)化:
(1)針對(duì)傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)不能把握輸入數(shù)據(jù)主要特征信息的問題,利用PLS算法對(duì)輸入數(shù)據(jù)進(jìn)行降維處理,實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的初步優(yōu)化。
(2)在處理Elman神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)解、學(xué)習(xí)率固定、隱含層神經(jīng)元數(shù)量難以確定的問題方面,利用改進(jìn)的PSO算法對(duì)Elman初始參數(shù)進(jìn)行確定,以期實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的二次優(yōu)化。
(3)建立PLS-PSO-Elman預(yù)測(cè)模型目的是實(shí)現(xiàn)飛機(jī)燃油流量的精確預(yù)測(cè),還將其與故障分析相結(jié)合,實(shí)現(xiàn)對(duì)飛機(jī)運(yùn)行狀態(tài)的監(jiān)控。
為了使研究過程清晰明了,將模型建立過程分為三個(gè)部分:數(shù)據(jù)預(yù)處理、PLS降維、神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化,如圖1所示。
影響飛機(jī)燃油流量的因素眾多,它不僅包括飛機(jī)自身因素,如:發(fā)動(dòng)機(jī)轉(zhuǎn)速、飛行馬赫數(shù)等,還有一些外部因素,如:飛行高度、風(fēng)速等。這些飛行數(shù)據(jù)大都記錄在飛機(jī)快速存取記錄器(QAR)中。QAR是一種監(jiān)控、記錄飛行參數(shù)的一種機(jī)載設(shè)備,它為飛機(jī)維護(hù)、維修提供了數(shù)據(jù)支持,由于飛機(jī)需要記錄的數(shù)據(jù)量大、數(shù)據(jù)種類多,造成了QAR數(shù)據(jù)的利用干擾多、任意性強(qiáng)、有許多不確定因素的特點(diǎn),所以在進(jìn)行樣本參數(shù)選取之前,需要對(duì)QAR數(shù)據(jù)進(jìn)行預(yù)篩選。由于樣本類別不可知,需要對(duì)樣本進(jìn)行抽樣檢測(cè)彼此之間相關(guān)性強(qiáng)弱,計(jì)算公式為
(1)
式(1)中:rxy為樣本相關(guān)系數(shù);Sxy為樣本協(xié)方差;Sx為X樣本的標(biāo)準(zhǔn)差,Sy為Y樣本的標(biāo)準(zhǔn)差;Sxy、Sx、Sy計(jì)算公式為
(2)
(3)
(4)
通過對(duì)大量數(shù)據(jù)相關(guān)性分析發(fā)現(xiàn),與燃油流量(FF)相關(guān)性較強(qiáng)的(皮爾遜相關(guān)系數(shù)在0.5~1)有發(fā)動(dòng)機(jī)高壓轉(zhuǎn)子轉(zhuǎn)速(N1)、發(fā)動(dòng)機(jī)低壓轉(zhuǎn)子轉(zhuǎn)速(N2)、油門桿角度(TLA)、排氣溫度(EGT)這4項(xiàng)參數(shù),分析結(jié)果如表1所示。
表1 相關(guān)性分析對(duì)比數(shù)據(jù)
分析表1可知,飛行馬赫數(shù)(Ma)與飛行高度(H)雖然與燃油流量相關(guān)性不高,但與高壓壓氣機(jī)轉(zhuǎn)子轉(zhuǎn)速、發(fā)動(dòng)機(jī)低壓壓氣機(jī)轉(zhuǎn)子轉(zhuǎn)速、油門桿角度、排氣溫度相關(guān)性較強(qiáng),考慮外部因素對(duì)燃油流量的影響,將飛行馬赫數(shù)與飛行高度也作為影響因素考慮進(jìn)去,至此QAR數(shù)據(jù)初步篩選完成。
去噪,原用于圖像成形技術(shù),它是指在圖形數(shù)字化傳輸過程中,由于受到外界干擾造成圖像出現(xiàn)噪點(diǎn),為了避免該現(xiàn)象的發(fā)生而采取的一系列去除噪點(diǎn)的措施。現(xiàn)如今,隨著去噪技術(shù)的不斷成熟,在應(yīng)用方面也得到進(jìn)一步拓展。由于傳感器自身因素或環(huán)境因素的影響,在將數(shù)據(jù)載入、傳輸、記錄過程中,不可避免的會(huì)產(chǎn)生一些噪點(diǎn),這些噪點(diǎn)會(huì)通過影響神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程,最終影響整個(gè)網(wǎng)絡(luò)的精度。所以,必須對(duì)原始數(shù)據(jù)進(jìn)行去噪預(yù)處理。常見的去噪方法有標(biāo)準(zhǔn)差去噪、分箱去噪、dbscan去噪、小波去噪[10]。標(biāo)準(zhǔn)差去噪適用于呈正態(tài)分布型數(shù)據(jù);分箱去噪適用于呈偏態(tài)分布型數(shù)據(jù);dbscan去噪則適用于大場(chǎng)景亂點(diǎn)去噪;而小波去噪則是近年來發(fā)展起來的一種數(shù)據(jù)處理方式,其特點(diǎn)是在數(shù)據(jù)去噪后還能保留數(shù)據(jù)的數(shù)字特征[11]??紤]機(jī)載數(shù)據(jù)量大、數(shù)據(jù)記錄間隔不統(tǒng)一、特征性強(qiáng)等特點(diǎn),擬采用小波去噪對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。小波去噪的原理如圖2所示。
含噪模型可以表示為
S(k)=f(k)+εe(k)
(5)
式(5)中:k=1,2,…,n,f(k)為有效信號(hào);e(k)為噪聲;ε為噪聲系數(shù)的標(biāo)準(zhǔn)差;S(k)為含噪信號(hào)。
一般來說,信號(hào)分為三類:低頻信號(hào)、平穩(wěn)信號(hào)、高頻信號(hào)。通常將高頻信號(hào)作為噪聲處理。小波去噪步驟如下。
第一步將高頻信號(hào)進(jìn)行分解,分解層數(shù)為N。
第二步將小波分解的從第一層到第N層選擇一個(gè)閾值進(jìn)行量化,這一步是小波去噪的核心。
第三步對(duì)處理后的信號(hào)進(jìn)行重構(gòu),在重構(gòu)之前需要選擇一個(gè)合適的閾值函數(shù)。
每一次分解后信號(hào)均分為高頻信號(hào)和低頻信號(hào),然后將信號(hào)中的噪聲(高頻部分)進(jìn)行過濾,接著進(jìn)行下一輪的重組,如圖3所示。
圖2 小波去噪原理Fig.2 Wavelet de-noising principle
圖3 信號(hào)5層分解圖Fig.3 Five-layer decomposition diagram of signal
最終得到信號(hào)為
S=A5+D5+D4+D3+D2+D1
(6)
在不改變數(shù)據(jù)特征的基礎(chǔ)上對(duì)QAR數(shù)據(jù)進(jìn)行去噪處理,去噪后的數(shù)據(jù)如圖4所示。
由圖4可知,原始數(shù)據(jù)在去噪后,一些噪點(diǎn)已被過濾除去,在不改變?cè)紨?shù)據(jù)整體趨勢(shì)的基礎(chǔ)上,數(shù)據(jù)曲線變得平滑、過度自然。
圖4 小波去噪對(duì)比圖Fig.4 Comparison of wavelet denoising
降維是通過現(xiàn)有的特征函數(shù)構(gòu)造低維函數(shù)空間的過程,將多維數(shù)據(jù)中最有用的信息映射到低維特征向量上,降維的基本過程如下:
假設(shè)一個(gè)n維向量X為
X={x1,x2,…,xn}T
(7)
通過映射f將其映射到m維向量L上
L={y1,y2,…,yn}T,m (8) 向量L應(yīng)當(dāng)包含向量X的最多信息,因此 L=f(X) (9) 1.3.1 PLS降維 偏最小二乘回歸法集成了相關(guān)分析法、主成分分析法、線性回歸法的優(yōu)點(diǎn),是最小二乘法的進(jìn)一步發(fā)展,旨在解決變量具有高維度,且變量之間還存在多重相關(guān)性的問題[12]。由于QAR數(shù)據(jù)類別較多、數(shù)據(jù)之間關(guān)聯(lián)性不明顯,難以通過具體公式進(jìn)行計(jì)算,故滿足PLS降維的適用范圍。PLS降維的基本原理是在減少變量X的同時(shí),把因變量Y的相關(guān)因素也考慮進(jìn)去,其基本過程如下: 給定一個(gè)具有n個(gè)特征變量的樣本,分別用x1,x2,…,xn表示,并使用p個(gè)因變量,分別用y1,y2,…,yn表示,將矩陣X分解為 X=TPT+E (10) 式(10)中:T為得分矩陣;P為負(fù)載矩陣;E為殘差矩陣。矩陣乘法TPT可以表示為得分矢量ti與負(fù)載矢量pi的乘積之和。式(10)還可以表示為 (11) 同樣,將矩陣Y分解為 Y=UQT+F (12) 類似地,Y也可表示為 (13) 提取得分向量t和u分別形成矩陣X和Y,它們線性相關(guān)。X與Y都盡可能地?cái)y帶著特征變量和因變量最大的變異信息,并且使它們之間的協(xié)方差達(dá)到最大值。因此,建立的回歸方程為 uj=bkti (14) 式(14)中:bk為回歸系數(shù),其矩陣形式為 Y=BX (15) 式(15)中:B為系數(shù)矩陣,即 B=W(PTW)-1QT (16) 式(16)中:W為權(quán)重矩陣。 每次提取主成分后,ti、ui都會(huì)根據(jù)X、Y的殘差信息進(jìn)行調(diào)整,直到殘差矩陣的元素絕對(duì)值接近零為止。當(dāng)精度滿足要求時(shí),迭代停止。 PLS所建立的回歸方程并不需要使用所有成分,只需前l(fā)個(gè)成分即可(0≤l≤n)。一般情況下,通過交叉驗(yàn)證法來計(jì)算預(yù)測(cè)殘差平方之和來確定所提取向量的個(gè)數(shù),以達(dá)到降維的目的[13]。 Elman神經(jīng)網(wǎng)絡(luò)是一種基于BP神經(jīng)網(wǎng)絡(luò)改進(jìn)的局部回歸模型,它在網(wǎng)絡(luò)結(jié)構(gòu)上與BP神經(jīng)網(wǎng)絡(luò)有很多相似之處,例如,它們都具有三層結(jié)構(gòu):輸入層、隱含層、輸出層;并都通過輸出對(duì)輸入的反饋?zhàn)饔谜{(diào)節(jié)連接權(quán)重從而不斷優(yōu)化網(wǎng)絡(luò)。但在反饋過程中,Elman神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)較為不同的是它的隱含層中存在一個(gè)承接層,承接層能把上個(gè)狀態(tài)的隱含層狀態(tài)同當(dāng)前時(shí)刻的隱含層輸入一起作為網(wǎng)絡(luò)隱含層輸入進(jìn)行狀態(tài)反饋,承接層的存在使Elman神經(jīng)網(wǎng)絡(luò)對(duì)歷史數(shù)據(jù)具有敏感性,它的這種特性使其具有動(dòng)態(tài)反饋功能。其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖5所示。 圖5 Elman神經(jīng)網(wǎng)絡(luò)原理圖Fig.5 Schematic of Elman neural network 假設(shè)一個(gè)Elman神經(jīng)網(wǎng)絡(luò)具有n個(gè)輸入,m個(gè)輸出,隱含層和承接層神經(jīng)元的數(shù)量為r,輸入層到隱含層的連接權(quán)重層用w1表示;承接層與隱含層的連接權(quán)重用w2表示,隱含層與輸出層的連接權(quán)重用w3表示;u=k-1表示Elman神經(jīng)網(wǎng)絡(luò)的輸入;x(k)表示隱藏的輸出層;xc(k)表示承接層的輸出;y(k)表示神經(jīng)的輸出網(wǎng)絡(luò)。從而有 x(k)=f{w2xc(k)+w1[u(k-1)]} (17) 把去噪后的六組數(shù)據(jù)作為輸入?yún)?shù)即設(shè)置輸入層參數(shù)為六維,現(xiàn)使用標(biāo)準(zhǔn)的Elman神經(jīng)網(wǎng)絡(luò)建立預(yù)測(cè)模型,設(shè)置訓(xùn)練誤差判斷公式為 (18) 粒子群算法是在早期針對(duì)鳥類捕食研究過程中提出的一種局部尋優(yōu)算法[14],粒子群算法的基本思想是通過設(shè)計(jì)一種粒子模擬鳥群中的鳥,粒子擁有兩種基本屬性:速度和位置。粒子的速度代表粒子移動(dòng)速度的快慢,位置代表粒子移動(dòng)的方向。每個(gè)粒子在自己搜索范圍中尋找局部最優(yōu)解,粒子群之間通過分享信息來尋找全局最優(yōu)解。其尋優(yōu)過程推導(dǎo)如下:首先對(duì)粒子群進(jìn)行初始化,在完成初始化后即可對(duì)粒子速度和位置進(jìn)行更新迭代。 粒子當(dāng)前速度與位置為 vi=vi+c1rand(pb-xi)+c2rand(gb-xi), i=1,2,…,n (19) xi=xi+vi,i=1,2,…,n (20) 式中:vi為粒子速度;rand為介于0~1的隨機(jī)數(shù);xi為粒子當(dāng)前位置;c1、c2為學(xué)習(xí)因子;pb、gb為在此時(shí)刻個(gè)體的最優(yōu)解與此時(shí)刻所有個(gè)體的最優(yōu)解。 算法通過vi、xi記憶上次速度與位置,通過c1rand(pb-xi)項(xiàng)尋找當(dāng)前粒子的最優(yōu)解,通過c2rand(gb-xi)項(xiàng)反映粒子群的最優(yōu)解位置。 為了使PSO算法應(yīng)用更為廣泛,通常需要對(duì)PSO算法進(jìn)行改進(jìn),引入慣性因子w,則式(19)更新為 vi=viw+c1rand(pb-xi)+c2rand(gb-xi),i=1,2,…,n (21) 式(21)中:w為非負(fù)值,其值越大,算法全局尋優(yōu)能力越強(qiáng),局部尋優(yōu)能力越弱;其值越小,算法全局尋優(yōu)能力越弱,局部尋優(yōu)能力越強(qiáng);慣性因子可采用靜態(tài)和動(dòng)態(tài)兩種形式,通常情況下,其值設(shè)置成動(dòng)態(tài)的形式,動(dòng)態(tài)的慣性因子通過影響算法的全局搜索能力與局部搜索能力,進(jìn)一步拓展PSO算法在實(shí)際方面的應(yīng)用。目前,慣性因子多采用線性遞減權(quán)值的策略進(jìn)行變化,其變化公式為 (22) 式(22)中:w(k)為第k次迭代權(quán)重;Gmax為最大迭代次數(shù);wini為初始慣性權(quán)重;wend為迭代至最大進(jìn)化代數(shù)時(shí)的慣性權(quán)重。 Elman神經(jīng)網(wǎng)絡(luò)雖然在傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上增加了一個(gè)承接層作為延遲算子后使網(wǎng)絡(luò)系統(tǒng)能夠適應(yīng)時(shí)變特性,但其仍具有傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的一些固有缺陷,例如:容易陷入局部最優(yōu)解、學(xué)習(xí)率固定、隱含層神經(jīng)元數(shù)量難以確定等問題。針對(duì)這些問題,需要對(duì)網(wǎng)絡(luò)參數(shù)初始進(jìn)行預(yù)設(shè),以達(dá)到優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)的目的。 Elman神經(jīng)網(wǎng)絡(luò)需要預(yù)設(shè)的基本參數(shù)有隱含層神經(jīng)元數(shù)量、連接權(quán)值、閾值。運(yùn)用PSO算法計(jì)算最佳基本參數(shù)之前需要對(duì)種群進(jìn)行初始化,在初始化之后,需要更具個(gè)體適應(yīng)度進(jìn)行迭代,然后根據(jù)判定條件判斷是否跳出迭代,最后得出最佳基本參數(shù)。 其適應(yīng)度計(jì)算函數(shù)為 (23) 式(23)中:Pi為當(dāng)前權(quán)值、閾值、神經(jīng)元數(shù)量所得的神經(jīng)網(wǎng)絡(luò)對(duì)燃油流量預(yù)測(cè)所得到的結(jié)果;ri為真實(shí)燃油流量數(shù)值。 為了使PSO算法更好地與Elman算法結(jié)合,需要對(duì)傳統(tǒng)的PSO算法進(jìn)行改進(jìn),傳統(tǒng)的PSO算法存在容易陷入局部最優(yōu)、粒子過早成熟的問題[15],針對(duì)此問題,提出了在粒子的速度更新之前對(duì)歷史粒子最佳位置信息進(jìn)行更新的策略,此時(shí)速度更新公式更新為 v(i+1)=-xi+pb+wvi+f(t) (1-2ri) (24) x(i+1)=pb+wvi+f(t)(1-2ri) (25) (26) 式中:xi為歷史粒子位置的最優(yōu)解;wvi為維持粒子的運(yùn)動(dòng)方向;ri為0~1的隨機(jī)數(shù);x(i+1)為目前最佳位置;f(t)為適應(yīng)度函;ns為歷史最佳位置的更新成功次數(shù);nf為其更新失敗次數(shù)。初始狀態(tài)下ns與nf均設(shè)置成0,若位置更新一直成功,則ns為n,當(dāng)其更新失敗時(shí),ns立即刷新為0,這樣對(duì)ns進(jìn)行設(shè)計(jì)是為了讓函數(shù)對(duì)失敗次數(shù)更新加快,最終結(jié)果趨于最優(yōu),但若遇到失敗次數(shù)過多的情況,會(huì)導(dǎo)致算法難以得出最優(yōu)結(jié)果,為了解決此問題,在算法尋優(yōu)過程中,需要對(duì)s和f的值進(jìn)行動(dòng)態(tài)更新。 在BP神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行改進(jìn)的Elman神經(jīng)網(wǎng)絡(luò)在處理高維度復(fù)雜數(shù)據(jù)問題時(shí),由于自變量與因變量之間關(guān)系交錯(cuò)復(fù)雜,而且自變量之間存在相互影響,這些因素最終會(huì)導(dǎo)致Elman神經(jīng)網(wǎng)絡(luò)出現(xiàn)訓(xùn)練失敗或者過度擬合的問題。針對(duì)這一問題,首先運(yùn)用PLS算法對(duì)預(yù)選數(shù)據(jù)進(jìn)行降維處理,在獲得低維度數(shù)據(jù)的基礎(chǔ)上把數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集。運(yùn)用低維測(cè)試集訓(xùn)練網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)神經(jīng)網(wǎng)絡(luò)的初次優(yōu)化,然后通過實(shí)驗(yàn)集運(yùn)用PSO算法確定最佳連接權(quán)值、閾值、最佳神經(jīng)元數(shù)量,最后運(yùn)用測(cè)試集檢驗(yàn)網(wǎng)絡(luò)的精確性。最佳連接權(quán)值、閾值、神經(jīng)元數(shù)量的得到可以看作是對(duì)神經(jīng)網(wǎng)絡(luò)的第二次優(yōu)化,Elman算法經(jīng)過兩次連續(xù)優(yōu)化不僅使最終得到的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更加合理,而且使網(wǎng)絡(luò)預(yù)測(cè)精度也得到了進(jìn)一步提高。 3.1.1 數(shù)據(jù)設(shè)置 原始數(shù)據(jù)由于量度不同、分布差異難以通約,為了確保算法中所利用數(shù)據(jù)的質(zhì)量,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。將使用數(shù)據(jù)標(biāo)準(zhǔn)化的方法對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,處理后數(shù)據(jù)將按照N(0,1)進(jìn)行分配。數(shù)據(jù)標(biāo)準(zhǔn)化的公式為 (27) 3.1.2 PLS算法參數(shù)設(shè)置 由于每個(gè)航班都是分階段(起飛、爬升、巡航、降落、進(jìn)近)完成的,若不對(duì)航班進(jìn)行階段劃分直接使用PLS算法對(duì)航班數(shù)據(jù)進(jìn)行降維處理,將會(huì)出現(xiàn)PLS算法所提取的特征向量對(duì)某一航段數(shù)據(jù)解釋力較強(qiáng)、某一航段數(shù)據(jù)解釋力不強(qiáng)的問題,如圖6所示。 圖6 PLS算法預(yù)測(cè)值與實(shí)際值比較Fig.6 Comparison of predicted and actual values of PLS algorithm 從圖6中看出,不劃分航段直接運(yùn)用PLS進(jìn)行降維處理,造成所提取的特征值對(duì)中間段數(shù)據(jù)有很好的解釋力,預(yù)測(cè)結(jié)果基本吻合,但前段與后段數(shù)據(jù)解釋力很差,預(yù)測(cè)結(jié)果與真實(shí)值有很大出入,為了解決此問題,需要對(duì)航段進(jìn)行劃分。 飛機(jī)航段劃分的方法大致分為兩種,按數(shù)據(jù)幀劃分和按QAR數(shù)據(jù)中地速、空地電門及高度進(jìn)行劃分[16],目前,航空公司大都采用前一種劃分方法,鑒于數(shù)據(jù)獲取的局限性,采用較為傳統(tǒng)的按QAR數(shù)據(jù)中地速、空地電門及高度進(jìn)行劃分的方法。 在航班劃分完成后,即可按航段對(duì)數(shù)據(jù)進(jìn)行降維回歸處理,其預(yù)測(cè)效果與實(shí)際值比較如圖7所示。 圖7 分航段劃分后PLS預(yù)測(cè)值與實(shí)際值比較Fig.7 Comparison of prediction and actual values of PLS algorithm after segmentation 由圖7可知,在航段劃分完成后預(yù)測(cè)精度大大提高,此時(shí)所提取的主成分可用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)。 PLS算法中的殘差平方和由K-Fold 交叉驗(yàn)證的方法進(jìn)行確定。這種方法可以有效避免學(xué)習(xí)過度或?qū)W習(xí)不足的問題,使其計(jì)算結(jié)果更具有說服力[17]。 3.1.3 粒子群算法參數(shù)設(shè)置 粒子群算法的參數(shù)與2.3節(jié)相同。 綜上所述,新算法的實(shí)現(xiàn)步驟如下: 第一步對(duì)數(shù)據(jù)集進(jìn)行預(yù)選,預(yù)選后利用小波去噪,去除數(shù)據(jù)中的噪點(diǎn)。 第二步根據(jù)式(27)對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,分別得到標(biāo)準(zhǔn)化后的自變量數(shù)據(jù)集X和因變量數(shù)據(jù)集Y。 第三步從矩陣X、Y提取第一對(duì)得分向量t1、u1,并使t1、u1相關(guān)度達(dá)到最大值。 第四步建立偏最小二乘回歸方程,分別實(shí)施X對(duì)t1的回歸以及Y對(duì)u1的回歸。 第五步使用殘差誤差矩陣E、F代替矩陣X、Y,重復(fù)第二步和第三步,直到殘差矩陣的絕對(duì)值接近零。 第六步使用交叉驗(yàn)證的方法確定所提取成分的殘差平方和。 第七步獲得降維后的矩陣X、Y,并將其作為新樣本。 第八步將新樣本分為訓(xùn)練集和測(cè)試集。 第九步根據(jù)第3.4節(jié)設(shè)置Elman神經(jīng)網(wǎng)絡(luò),建立PSO-Elman算法。 第十步利用PSO算法計(jì)算訓(xùn)練集的適應(yīng)度,根據(jù)循環(huán)判斷條件判斷是否跳出循環(huán),結(jié)束循環(huán)后得到最佳神經(jīng)網(wǎng)絡(luò)連接權(quán)重、閾值和隱含層神經(jīng)元數(shù)量。 第十一步在獲得最佳的Elman神經(jīng)網(wǎng)絡(luò)后,停止PSO算法的優(yōu)化,然后使用優(yōu)化后的神經(jīng)網(wǎng)絡(luò)進(jìn)行模擬仿真。 為了驗(yàn)證PLS-PSO-Elman算法較傳統(tǒng)單一優(yōu)化算法的優(yōu)越性,將PLS-PSO-Elman與PSO-Elman算法作對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)將從收斂速度、預(yù)測(cè)精度角度作對(duì)比,其中收斂速度運(yùn)用達(dá)到相同訓(xùn)練次數(shù)時(shí),算法所達(dá)到的精度作為指標(biāo);預(yù)測(cè)精度則用預(yù)測(cè)同一組數(shù)據(jù),預(yù)測(cè)結(jié)果與實(shí)際結(jié)果之間的誤差大小作為指標(biāo)。 為了說明算法具有普適性,排除偶然因素的影響,將從某航空公司所提供的十幾組數(shù)據(jù)中,抽取短程航班、中程航班、遠(yuǎn)程航班各一組,分別對(duì)其作對(duì)比實(shí)驗(yàn)。 實(shí)驗(yàn)一短程航班。 由圖8可知,對(duì)于短程航班,在經(jīng)PLS優(yōu)化后,在訓(xùn)練次數(shù)同時(shí)達(dá)到1 000次后,PLS-PSO-Elman算法均方差為0.000 405 3,較PSO-Elman算法均方差0.000 517 2低,即訓(xùn)練效率更高。 由圖9可知,對(duì)于短程航班,PLS-PSO-Elman算法與PSO-Elman算法均有很好的精度,都將誤差值控制在4%之內(nèi),但就整體誤差大小而言,經(jīng)PLS優(yōu)化的PSO-Elman算法誤差較PSO-Elman算法更小,控制在3%之內(nèi)。 圖8 短程航班對(duì)比實(shí)驗(yàn)Fig.8 Short-haul flight comparison experiment 圖9 短程航班誤差對(duì)比曲線Fig.9 Error comparison curve of short flight 實(shí)驗(yàn)二中程航班。 由圖10可知,對(duì)于中程航班,PSO-Elman算法訓(xùn)練1 000次時(shí),其均方差為0.001 087,PLS-PSO-Elman算法在訓(xùn)練516次時(shí)均方差為0.000 903 2,提前收斂于目標(biāo)值,即訓(xùn)練效率較高。 圖10 中程航班對(duì)比實(shí)驗(yàn)Fig.10 Mid-range flight comparison experiment 圖11 中程航班誤差對(duì)比曲線Fig.11 Error comparison curve of middle flight 由圖11可知,對(duì)于中程航班,PSO-Elman算法誤差值整體保持在4%之內(nèi),但有些區(qū)域(8 000~10 000 ks)誤差值超過6%,PLS-PSO-Elman算法誤差值較為平穩(wěn),除航班前段(0~1 500 ks)誤差在4%之內(nèi)外,其他區(qū)域誤差均能保持在2%之內(nèi)。 實(shí)驗(yàn)三遠(yuǎn)程航班。 由圖12可知,PSO-Elman算法在訓(xùn)練次數(shù)達(dá)到1 000次時(shí),其均方差為0.000 851 7,PLS-PSO-Elman算法均方差為0.000 657 6,雖然二者相差較小,但PLS-PSO-Elman算法仍比PSO-Elman算法訓(xùn)練速度稍快,效率更高。 圖12 遠(yuǎn)程航班對(duì)比試驗(yàn)Fig.12 Long-distance flight comparison experiment 由圖13可知,PSO-Elman算法在前中半段(0~14 000 ks)誤差均能保持在2%之內(nèi),但在后段(14 000~16 000 ks)誤差較大,有部分區(qū)域超過5%以上。PLS-PSO-Elman算法誤差值均除初始段(0~1 500 ks)維持在5%以內(nèi),其他時(shí)間段誤差值絕大部分均能維持在1%之內(nèi)。 圖13 遠(yuǎn)程航班誤差對(duì)比曲線Fig.13 Error comparison curve of long flight 通過上述三個(gè)實(shí)驗(yàn)可以看出,新算法較傳統(tǒng)優(yōu)化算法有著明顯的優(yōu)越性,這不僅表現(xiàn)在算法效率更高,而且新算法的預(yù)測(cè)精度更好。 至此,基于PLS與PSO優(yōu)化的Elman神經(jīng)網(wǎng)絡(luò)飛機(jī)燃油流量預(yù)測(cè)模型已經(jīng)建立,為了闡述其實(shí)用價(jià)值,分別對(duì)三個(gè)航班進(jìn)行燃油流量預(yù)測(cè),并對(duì)預(yù)測(cè)結(jié)果進(jìn)行分析,如圖14所示。 由圖14(a)與圖14(b)可知,航班1是遠(yuǎn)程航班,PLS-PSO-Elman算法對(duì)整個(gè)航段預(yù)測(cè)值與真實(shí)值都無太大出入,除前段(0~2 000 ks)與尾段(14 000~16 000 ks)預(yù)測(cè)值與真實(shí)值誤差超過5%以外,其他時(shí)間段誤差均能維持在5%以內(nèi)。前端與尾端屬于飛機(jī)爬升與降落階段,這兩個(gè)階段預(yù)測(cè)精度不高可能是由于飛機(jī)運(yùn)行狀態(tài)出現(xiàn)故障,也有可能是外部環(huán)境的作用。其具體原因單純從燃油流量預(yù)測(cè)結(jié)果無法得出,需要對(duì)這兩個(gè)時(shí)間節(jié)點(diǎn)的QAR數(shù)據(jù)進(jìn)行分析。此時(shí)新算法所建立的神經(jīng)網(wǎng)絡(luò)為飛機(jī)故障分析提供了依據(jù)。 由圖14(c)與圖14(d)可知,航班2是短程航班,新算法所建立的預(yù)測(cè)模型所預(yù)測(cè)的結(jié)果與真實(shí)值基本吻合,整個(gè)航段誤差均保持在1%之內(nèi),由此可以推測(cè)此航段飛機(jī)燃油系統(tǒng)運(yùn)行基本正常,此時(shí)新算法為判斷飛機(jī)運(yùn)行狀態(tài)提供依據(jù)。 由圖14(e)可知,航班3是中程航班,此航班數(shù)據(jù)是在試車臺(tái)上獲得,此時(shí)試車臺(tái)正模擬鳥擊場(chǎng)景,由圖14(f)誤差分析可知,預(yù)測(cè)值與觀測(cè)值相差甚大,此時(shí)可認(rèn)為飛機(jī)燃油系統(tǒng)出現(xiàn)故障,需要采取緊急措施。 由以上三組預(yù)測(cè)分析可知,新算法所建立的飛機(jī)燃油預(yù)測(cè)模型實(shí)用性很強(qiáng),在此模型基礎(chǔ)之上,可在試車臺(tái)上進(jìn)行各種模擬故障實(shí)驗(yàn),獲得不同的故障數(shù)據(jù),為模型設(shè)置不同的誤差閾值,根據(jù)誤差的大小,預(yù)測(cè)相應(yīng)的故障類型,建立飛機(jī)故障分析數(shù)據(jù)庫,從而進(jìn)一步拓展模型應(yīng)用范圍。 通過驗(yàn)證與分析,PLS-PSO-Elman算法所建立的燃油流量預(yù)測(cè)模型運(yùn)算效率和預(yù)測(cè)精度均比基于傳統(tǒng)PSO算法優(yōu)化的Elman神經(jīng)網(wǎng)絡(luò)高,可用于飛機(jī)燃油流量預(yù)測(cè)。此外,由航班1、航班2、航班3預(yù)測(cè)結(jié)果顯示,飛機(jī)在起飛與降落航段燃油流量預(yù)測(cè)值與實(shí)際值較其他航段偏差較大,造成這種現(xiàn)象的原因有很多,比如:在飛機(jī)起飛與降落期間易受外界環(huán)境因素影響、飛機(jī)起飛與降落期間燃油流量由最小值在一瞬間飆升最大值或由平均值驟然下降至最小值存在范圍波動(dòng)。 圖14 航班1、航班2、航班3的預(yù)測(cè)曲線和預(yù)測(cè)誤差Fig.4 The Prediction curve and forecast error of the first flight, second flight and third flight 由航班3預(yù)測(cè)結(jié)果可以看出,模型在飛機(jī)出現(xiàn)故障時(shí),可通過預(yù)測(cè)值與實(shí)際值之間的偏差大小,判斷飛機(jī)所處狀態(tài)、甚至故障類型。在判斷故障類型方面,此模型仍存在不足之處,例如:模型未建立足夠的故障數(shù)據(jù)庫,不能對(duì)故障類型進(jìn)行很好的識(shí)別。造成此缺陷的原因是模型訓(xùn)練數(shù)據(jù)不足,在此方面模型仍需進(jìn)一步改進(jìn)。但通過諸多實(shí)驗(yàn)可以看出,模型的預(yù)測(cè)精度較高,實(shí)用價(jià)值很強(qiáng),值得進(jìn)一步推廣、應(yīng)用。2 構(gòu)造PSO-Elman算法
2.1 Elman神經(jīng)網(wǎng)絡(luò)
2.2 PSO算法
2.3 構(gòu)造PSO-Elman算法
3 PLS-PSO-Elman算法的構(gòu)建
3.1 新算法的參數(shù)設(shè)置
3.2 優(yōu)化算法實(shí)現(xiàn)的基本步驟
4 仿真與驗(yàn)證
4.1 實(shí)驗(yàn)準(zhǔn)備
4.2 對(duì)比實(shí)驗(yàn)
5 飛機(jī)燃油流量預(yù)測(cè)與分析
5.1 航班1
5.2 航班2
5.3 航班3
6 結(jié)論