皮 駿, 黃江博, 黃 磊, 高樹偉, 劉光才
(中國民航大學(xué)通用航空學(xué)院 天津,300300)
當(dāng)航空發(fā)動機(jī)的排氣溫度超過一定的值時,將嚴(yán)重影響航空發(fā)動機(jī)的正常工作和飛機(jī)的安全飛行,因此對其進(jìn)行準(zhǔn)確的預(yù)測,有助于判別發(fā)動機(jī)的性能狀態(tài),同時為預(yù)防和排除故障提供了充分的決策時間[1-4]。
由于航空發(fā)動機(jī)是一個復(fù)雜的非線性系統(tǒng),排氣溫度又受各種因素影響,所以航空發(fā)動機(jī)的排氣溫度具有多變性[5],并且各種預(yù)測算法的本身參數(shù)多,初始值設(shè)定不確定,使之預(yù)測難度加大。國內(nèi)外許多學(xué)者對其進(jìn)行了研究,Ilbas等[6]利用人工神經(jīng)網(wǎng)絡(luò)對渦輪廢氣進(jìn)行了估算。Flores等[7]把神經(jīng)網(wǎng)絡(luò)用于時間序列預(yù)測[7]。Yilmaz[8]利用排氣溫度與其他發(fā)動機(jī)性能參數(shù)之間的關(guān)系對排氣溫度進(jìn)行了評估。宋云雪等[9]通過多元線性回歸對航空發(fā)動機(jī)排氣溫度進(jìn)行預(yù)測。由于航空發(fā)動機(jī)的復(fù)雜性,許多參數(shù)難以與排氣溫度成嚴(yán)格意義上的線性相關(guān)。史永勝等[10]在多元線性的基礎(chǔ)上又引入偏最小二乘方法對排氣溫度進(jìn)行預(yù)測。王強(qiáng)等[11]利用灰色理論對航空發(fā)動機(jī)狀態(tài)監(jiān)控的實時數(shù)據(jù)進(jìn)行預(yù)測分析。丁剛等[12]把BP神經(jīng)網(wǎng)絡(luò)、過程神經(jīng)網(wǎng)絡(luò)以及自適應(yīng)神經(jīng)網(wǎng)絡(luò)引入排氣溫度預(yù)測。于廣濱等[13]把支持過程向量機(jī)引入航空發(fā)動機(jī)排氣溫度預(yù)測。但是在支持向量預(yù)測過程中,其結(jié)果的好壞直接由核函數(shù)的參數(shù)與懲罰系數(shù)的選取而決定,如果初始參數(shù)選取不當(dāng),則預(yù)測結(jié)果將不會很理想。
針對支持向量機(jī)初始參數(shù)值選取問題,Zhou等[14]提出運用量子粒子群(quantum behaved particle swarm optimization,簡稱QPSO)算法對支持向量機(jī)參數(shù)進(jìn)行尋優(yōu),以量子粒子群的最優(yōu)解作為支持向量機(jī)的初始參數(shù),用以提高支持向量機(jī)的預(yù)測精度,但是由于量子粒子群算法與標(biāo)準(zhǔn)PSO算法一樣,都存在陷入局部最優(yōu)、以及訓(xùn)練后期的早熟問題,尋優(yōu)效果并不明顯。因此,結(jié)合黃璇等[15]提出的改進(jìn)粒子群算法的思想,將對量子粒子群算法進(jìn)行改進(jìn),用以搜索最優(yōu)支持向量回歸機(jī)的核函數(shù)參數(shù)及懲罰因子,并將優(yōu)化過的支持向量回歸機(jī)用于航空發(fā)動機(jī)排氣溫度預(yù)測。
設(shè)訓(xùn)練樣本為{(x1,y1),(x2,y2),…,(xk,yk)}?Rn×R通過某一非線性函數(shù)K(x)映射到大于n維的高維空間中,ωT為各個空間對輸出影響的權(quán)值,則回歸函數(shù)可以構(gòu)建為
f(x)=ωTK(xi)+b
(1)
假設(shè)所有的訓(xùn)練樣本可在精度為ε條件下考慮到誤差進(jìn)行擬合,誤差以引入松弛變量ξi與ξ*表示
(2)
則回歸估計問題可轉(zhuǎn)化為在約束條件(2)下的最小誤差問題
(3)
其中:C為懲罰因子。
引入Lagrange函數(shù),即
根據(jù)Wolfe對偶定理,對其再進(jìn)行二次優(yōu)化,轉(zhuǎn)化為對偶問題,即
(4)
約束條件為
其中:K(xi,yi)為核函數(shù)。
求解上述最優(yōu)模型,可得回歸函數(shù)為
(5)
核函數(shù)一般有4大類:
a.多項式函數(shù)k(x,xi)=(x·xi+1)d;
c.多層感知器函數(shù)
K(x,xi)=tanh[κ(x·xi)+υ];
d.B樣條函數(shù)K(x,xi)=B2p+1(x-xi)。
其中徑向基(radial basis function,簡稱RBF)核函數(shù)局部性較強(qiáng),對于特定范圍內(nèi)的數(shù)據(jù)具有較強(qiáng)的插值能力。航空發(fā)動機(jī)排氣溫度預(yù)測是建立在部分歷史數(shù)據(jù)的基礎(chǔ)上,這些數(shù)據(jù)在特定的范圍內(nèi)波動,并且航空發(fā)動機(jī)排氣溫度預(yù)測需要描述數(shù)據(jù)的變化趨勢以及接下來短時間內(nèi)的預(yù)測值,因此徑向基核函數(shù)相較其他核函數(shù)更適合于航空發(fā)動機(jī)排氣溫度的預(yù)測。
利用SVR對航空發(fā)動機(jī)排氣溫度進(jìn)行預(yù)測時,則需對式(3)中的C以及RBF核函數(shù)的參數(shù)σ兩個參數(shù)利用改進(jìn)量子粒子群優(yōu)化算法進(jìn)行尋優(yōu),使預(yù)測結(jié)果更理想。
標(biāo)準(zhǔn)的粒子群優(yōu)化算法無法百分之百保證搜索到全局最優(yōu)解,全局搜索能力不完美,在此基礎(chǔ)上,Sun等[16]提出了量子粒子群優(yōu)化算法(QPSO),在量子力學(xué)原理中,速度則毫無意義,粒子的位置只根據(jù)波函數(shù)來確定。因此與常規(guī)的粒子群相比,QPSO可控制的參數(shù)少,具有算法簡單,搜索速度快,尋優(yōu)能力強(qiáng)等特點。
假設(shè)在D維搜索空間中,粒子群規(guī)模為N,粒子i經(jīng)過t次更新后,其位置在第j維空間勢能最小的位置為xij(k)。
xij(t)=φij(t)Pij(t)+[1-φij(t)]Pgj(t)
(6)
其中:i∈[1,N],j∈[1,D];φij(t)為均勻分布在[0,1]的隨機(jī)數(shù);Pi為個體最優(yōu);Pg為全局最優(yōu)。
利用蒙特卡洛的方法,對其進(jìn)行計算粒子i在迭代k+1次后在j維空間所處的位置為
xij(t+1)=xij(t)±β|Pmbest-
xij(t)|ln[1/φij(t)]
(7)
其中:β為壓縮-擴(kuò)展系數(shù),Pmbest為平均最優(yōu)位置。
Pmbest的表達(dá)式為
(8)
則更新的方程式如下
(9)
其中:f(*)為適應(yīng)度函數(shù)。
量子粒子群與常規(guī)的PSO算法一樣,也存在過早的收斂問題,并且在迭代次數(shù)達(dá)到一定值后,其多樣性也會減少,使得局部尋優(yōu)能力變差,因此在量子粒子群的基礎(chǔ)上對其進(jìn)行粒子聚集程度判定、動態(tài)參數(shù)以及動態(tài)壓縮-擴(kuò)展系數(shù)操作。
2.2.1 算法改進(jìn)判斷準(zhǔn)則
針對粒子過早收斂問題,引入概率統(tǒng)計中方差的含義,對粒子過早收斂進(jìn)行判定,由于粒子迭代次數(shù)到達(dá)后期后,其適應(yīng)度值都趨于全局最優(yōu)值,因此對粒子適應(yīng)度方差進(jìn)行計算,判定粒子是否達(dá)到過早收斂
(10)
其中:fi為粒子i的適應(yīng)度值;favg為粒子的平均適應(yīng)度值;N為種群規(guī)模。
2.2.2 進(jìn)化因子
隨著迭代次數(shù)的增加,粒子的適應(yīng)度值越來越接近,則粒子適應(yīng)度值方差也會越來越小,當(dāng)粒子的適應(yīng)度值小于某一特定的值時,則認(rèn)為迭代進(jìn)入后期的過早收斂階段。為了避免這一階段,在此條件下,對粒子平均最優(yōu)位置引入進(jìn)化因子,表達(dá)式為
ηt=1+c1[Ct(0,1)+c2Nt(0,1)]
(11)
其中:ηt為粒子最優(yōu)平均值的進(jìn)化因子;Ct(0,1)為以柯西分布在[0,1]產(chǎn)生的隨機(jī)數(shù);Nt(0,1)為以高斯分布在[0,1]在產(chǎn)生的隨機(jī)數(shù);c1,c2為擾動因子。
進(jìn)行動態(tài)操作如下
(12)
其中:c1max,c1min分別為c1的最大值與最小值;c2max,c2min分別為c2的最大值與最小值;tmax為更新次數(shù)的最大值。
(13)
2.2.3 動態(tài)壓縮-擴(kuò)展系數(shù)
壓縮-擴(kuò)展系數(shù)與標(biāo)準(zhǔn)粒子群中的慣性權(quán)值有著共同的作用,對于粒子的計算有著重要的作用,在此借鑒動態(tài)權(quán)值的思想,也對壓縮-擴(kuò)壓系數(shù)進(jìn)行動態(tài)調(diào)節(jié),操作如下
(14)
其中:βmax與βmin分別為β的最大值與最小值。
在迭代次數(shù)較少時,β與βmax大小相近,確保了算法的全局搜索能力;隨著迭代次數(shù)增大,β以非線性遞減,確保了局部的搜索能力,因此靈活調(diào)整了局部搜索與全局搜索能力的動態(tài)平衡。
現(xiàn)以A319飛機(jī)的一個飛行循環(huán)數(shù)據(jù)為例,其中飛行循環(huán)時長為2 h,以1 min的時間間隔選取80組數(shù)據(jù),由于數(shù)據(jù)較多則展示部分原始數(shù)據(jù),如表1所示。同時以IQPSO-SVR建立航空發(fā)動機(jī)排氣溫度預(yù)測模型,首先需要進(jìn)行相關(guān)性分析來確定入選模型的相關(guān)參數(shù),然后建立參數(shù)與航空發(fā)動機(jī)排氣溫度關(guān)系模型,并根據(jù)參選模型中性能參數(shù)的作用大小對當(dāng)前個體的狀態(tài)進(jìn)行分析和預(yù)測。利用SPSS軟件,計算各個參數(shù)的overall等檢驗量的P值,選取小于0.05檢驗標(biāo)準(zhǔn)的性能參數(shù)分別為:低壓壓氣機(jī)轉(zhuǎn)速N1、高壓壓氣機(jī)轉(zhuǎn)速N2、發(fā)動機(jī)排氣溫度CEGT、燃油流量Ff、高壓壓氣機(jī)出口溫度T3以及時間t,則建立預(yù)測模型為
CEGT=f(t,N1,N2,Ff,T3)
(15)
其中:f(*)為式(5)的回歸函數(shù)。
表1 原始數(shù)據(jù)
航空發(fā)動機(jī)排氣溫度以及相關(guān)的性能參數(shù)在飛機(jī)飛行過程中波動幅度較大,同時為滿足計算上的物理意義,則需在模型進(jìn)行訓(xùn)練與預(yù)測之前對其進(jìn)行如下歸一化處理
(16)
其中:xmax,xmin分別為輸入樣本xi的最大值、最小值;x為歸一化處理后得到的數(shù)值。
在對SVR的參數(shù)進(jìn)行尋優(yōu)時,在此以預(yù)測誤差作為粒子群算法的尋優(yōu)目標(biāo),則適應(yīng)度函數(shù)為
(17)
其中:M為預(yù)測數(shù)量;yi為SVR預(yù)測值;di為實際值。
文中選取平均相對誤差作為預(yù)測結(jié)果的評價標(biāo)準(zhǔn),即
其中:M為預(yù)測數(shù)量;yi為SVR預(yù)測值;di為實際值;MAPE為絕對百分比誤差。
利用改進(jìn)的QPSO對SVR進(jìn)行優(yōu)化,并對航空發(fā)動機(jī)的排氣溫度進(jìn)行預(yù)測,其預(yù)測流程如圖1所示。
圖1 IQPSO-SVR預(yù)測流程圖Fig.1 IQPSO-SVR prediction flow chart
QAPSO-SVR算法實現(xiàn)步驟如下:
1) 確定支持向量回歸機(jī)的核函數(shù)、各個參數(shù)初始化;
2) 對于改進(jìn)量子粒子群的初始值進(jìn)行設(shè)置,包括:最大迭代次數(shù)、種群規(guī)模、空間維數(shù)以及參數(shù)初始化;
3) 構(gòu)建SVR結(jié)構(gòu),以粒子代表c與g,進(jìn)行搜索;
4) 對群體中每個個體進(jìn)行適應(yīng)度評價,適應(yīng)度值定義為: 將預(yù)測的誤差作為改進(jìn)QPSO 的適應(yīng)度;
5) 根據(jù)適應(yīng)度函數(shù),計算適應(yīng)度值,再根據(jù)適應(yīng)度值更新個體最優(yōu)位置和群體最優(yōu)位置;
6) 在式(14)的基礎(chǔ)上,對慣性權(quán)值進(jìn)行動態(tài)調(diào)整,根據(jù)量子粒子群中的位置更新方式對其進(jìn)行更新;
7) 以粒子適應(yīng)度為標(biāo)準(zhǔn),判斷是否滿足收斂條件或者是否達(dá)到最大進(jìn)化次數(shù),是則進(jìn)入步驟8,否則返回步驟4;
8) 計算適應(yīng)度方差,并與設(shè)定值比較,是則進(jìn)入下一步,否則返回步驟4;
9) 根據(jù)式(11)計算進(jìn)化因子,并帶入式(12)計算Pmbest,并返回步驟6;
10) 待PSO尋找最優(yōu)解后,應(yīng)用最優(yōu)解作為支持向量回歸機(jī)的初始值并對航空發(fā)動機(jī)的排氣溫度進(jìn)行預(yù)測。
筆者運用Matlab R2012a ,編程實現(xiàn)IQPSO-SVR的航空發(fā)動機(jī)排氣溫度預(yù)測模型。模型訓(xùn)練中共選取80組數(shù)據(jù),前60組作為訓(xùn)練樣本,后20組作為驗證集。原始數(shù)據(jù)需在歸一化處理后注入IQPSO-SVR中。設(shè)置種群規(guī)模為20個,算法迭代進(jìn)化次數(shù)為200,c1=2.05,c2=2.05,Vmax=1,Vmin=-1,wmax=0.9,wmin=0.4。在SVR學(xué)習(xí)過程中,都采用默認(rèn)值,在PSO-SVR以及IQPSO-SVR學(xué)習(xí)過程中,c,σ作為粒子群尋優(yōu)后最優(yōu)解以外,其余值也為默認(rèn)值。為驗證IQPSO-SVR在航空發(fā)動機(jī)排氣溫度預(yù)測的有效性,同時另采用PSO-SVR與SVR來進(jìn)行預(yù)測,與其對比。
經(jīng)過全部訓(xùn)練集數(shù)據(jù)訓(xùn)練后的3種方法對全部測試數(shù)據(jù)集進(jìn)行測試,圖2為3種方法在訓(xùn)練60組時,EGT的預(yù)測值與真實值對比 ,從圖中可以看出3種模型對排氣溫度預(yù)測的變化趨勢與真實值大致相同。圖3為各個模型對CEGT預(yù)測的絕對誤差,圖2與圖3中橫坐標(biāo)為預(yù)測樣本序列(無量綱)。從圖中可以看出,3種算法都能可以對CEGT進(jìn)行較好的預(yù)測,平均相對誤差大致都在10%以內(nèi)。3種算法對航空發(fā)動機(jī)排氣溫度預(yù)測的平均相對誤差都小于7.66%,其中IQPSO-SVR的預(yù)測誤差要小于另外兩種算法,QPSO-SVR預(yù)測誤差明顯比SVR偏差小。但是由于粒子群的隨機(jī)性,難免在預(yù)測中出現(xiàn)像圖3中樣本4那種預(yù)測誤差大于未優(yōu)化的SVR,因此,在實際工程應(yīng)用優(yōu)化的SVR預(yù)測時,預(yù)測結(jié)果以SVR的預(yù)測結(jié)果為標(biāo)準(zhǔn),誤差大于標(biāo)準(zhǔn)值則選SVR的結(jié)果為優(yōu)化結(jié)果。
圖2 CEGT預(yù)測值Fig.2 The CEGT predictive value
圖3 預(yù)測誤差Fig.3 The errors predictive value
在實際航空發(fā)動機(jī)排氣溫度預(yù)測中,數(shù)據(jù)噪聲往往不可避免,噪聲強(qiáng)度的變化對航空發(fā)動機(jī)排氣溫度預(yù)測影響較大,為了研究IQPSO-SVR的抗噪聲能力,在以上的基礎(chǔ)上分別又在3%,5%的噪聲強(qiáng)度下,運用3種模型分別對其進(jìn)行排氣溫度預(yù)測,預(yù)測結(jié)果的平均絕對誤差如表2。
表2 預(yù)測結(jié)果比較
從表2中可以看出,隨著噪聲強(qiáng)度的增加,IQPSO-SVR和SVR,QPSO-SVR一樣,絕對誤差平均值隨著噪聲強(qiáng)度的增加而增加。噪聲強(qiáng)度分別在0%,3%,5%時,IQPSO-SVR的航空發(fā)動機(jī)排氣溫度預(yù)測絕對誤差平均值最小。因此可認(rèn)為IQPSO-SVR相較SVR與QPSO-SVR,預(yù)測準(zhǔn)確度更高,抗噪能力更強(qiáng)。
1) SVR,QPSO-SVR,IQPSO-SVR三種方法都可以對航空發(fā)動機(jī)的排氣溫度進(jìn)行準(zhǔn)確的預(yù)測,在不添加噪聲的情況下,三者相對平均誤差都小于7.66%,其中IQPSO-SVR預(yù)測偏差最小。
2) 在各個噪聲強(qiáng)度中,IQPSO-SVR的預(yù)測偏差最小,因此其抗噪能力相較SVR與QPSO-SVR更強(qiáng),SVR的抗噪能力最差。
3) 為使IQPSO-SVR在航空發(fā)動機(jī)排氣溫度預(yù)測的誤差更小,文中只對核函數(shù)參數(shù)以及懲罰因子進(jìn)行了優(yōu)化,并未對SVR的其他參數(shù)進(jìn)行優(yōu)化,因此SVR的預(yù)測準(zhǔn)確度還有提升的空間。