吉昱瑋, 吳紅蘭
(南京航空航天大學 民航學院,江蘇 南京 211106)
飛機引氣系統是飛機非常重要的系統之一,其主要作用是為飛機的空調系統、客艙增壓系統、發動機啟動系統、除冰系統、水箱和液壓油箱等提供特定溫度和壓力的氣源[1]。如果引氣系統發生故障會導致嚴重的事故后果,最終影響簽派放行導致出現航班延誤甚至航班取消的情況,這種后果會給航空公司造成嚴重的損失。在引氣系統故障檢測方面,航空公司通常是將飛機運行產生的QAR(Quick Access Recorder,快速存取記錄器)數據和航空公司自己設定的閾值作比較,如果處于故障范圍則會采取相應的措施進行檢修,但是這種依靠工程經驗得到的結果有一定的局限性,可能會導致出現過度維修或者故障發現不及時等問題,影響航空公司效益。
為了解決以上問題,文獻[1] 以民機引氣系統為研究對象,使用QAR數據進行引氣系統的健康檢測與診斷;文獻[2]使用RBF(Radial Basis Function)神經網絡模型對A320引氣系統進行故障診斷,識別故障原因;文獻[3] 使用改進符號有向圖(Improved Signed Directed Graph,ISDG)模型的多故障診斷方法對引氣系統做故障診斷;文獻[4] 基于無跡卡爾曼濾波(Unscented Kalman Filter,UKF)算法對飛機引氣溫度控制系統的傳感器和閥門作動器進行故障檢測和隔離;文獻[5] 將基于案例推理(Case-Based Reasoning,CBR)方法應用于飛機引氣系統故障診斷和維修決策支持過程;文獻[6] 使用基于遺傳算法的小波神經網絡對引氣系統進行故障預測。
在故障檢測算法方面,SVM(Support Vector Machines,支持向量機)算法是一種廣泛使用的二分類算法,在模式識別[7]、故障檢測和診斷[8]等方面被廣泛使用。對比傳統的數據分析算法,SVM可以利用較少量的訓練樣本構建具有較強擬合能力和泛化能力的模型[9],適合于引氣系統的故障檢測。本文使用引氣系統QAR數據,基于自適應粒子群算法優化SVM尋找最優參數建立引氣系統故障檢測模型,并使用實際收集到的QAR數據對模型進行驗證。
以空客A320為例,飛機氣源來自于地面氣源車引氣、APU(Auxiliary Power Unit)引氣和發動機引氣。其中,主要來源是發動機引氣。發動機引氣主要來源包括兩部分:9級高壓壓氣機和5級中級壓氣機,如圖1所示。當發動機處于慢車狀態時,發動機轉速低,此時高壓活門開啟,通過9級高壓壓氣機提供壓力為36±4 psi左右的引氣;當飛機進入正常飛行狀態以后,高壓活門關閉,由5級中級壓氣機提供40 ±4 psi左右的引氣。在壓力調節閥以及預冷器的共同作用下,產生合適溫度和壓力的引氣,提供下游用戶使用[10]。
圖1 引氣系統原理
在引氣系統故障檢測過程中,除了需要監控預冷器出口溫度和引氣壓力之外,還需要監控發動機低壓轉子轉速(N1)和高壓轉子轉速(N2)、馬赫數等飛機狀態參數,以及外界大氣參數,如總溫(Total Air Temperature,TAT)、靜溫(Static Air Temperature,SAT)等,具體參數如表1所示。
表1 引氣系統故障檢測參數
為了方便建模,選取對引氣溫度和壓力影響較大的參數作為監測參數進行建模,使用皮爾遜相關系數將相關性較小的變量剔除。皮爾遜相關系數的計算公式如下:
(1)
由表2可知,N11、N12、N21、N22、MACH對左右發動機預冷器出口壓力和溫度的影響較大,故選擇以上參數作為故障檢測的判斷參數。
在確定監控參數之后,選取巡航狀態下左、右機翼防冰開關關閉,左、右空調組件打開時的QAR數據建立故障檢測模型。在進行運算之前,需對風險預警參數集進行歸一化處理,最終使數據的值收斂到[0,1]的范圍,從而提高模型的運算速度和分類精度。數據歸一化的公式如下:
(2)
表2 引氣系統監測參數的相關系數
在進行歸一化以后,需要對數據集劃分為訓練集和測試集,訓練集用于訓練模型,測試集用于檢測模型的訓練效果。在劃分數據集以后,將訓練集數據帶入模型進行訓練,在測試集上檢驗模型的分類效果,從而測試模型的分類能力。
收集引氣系統數據構建數據集,劃分為訓練集和測試集。通過粒子群算法對SVM進行優化尋找最優的C和σ,之后對SVM訓練集進行訓練,使用測試集檢驗故障檢測效果,具體過程如圖2所示。
圖2 引氣系統故障檢測流程
SVM是一種廣泛使用的二分類算法,其核心分類思想是在這組分布中找出一個超平面作為決策邊界,使模型在數據上的分類誤差盡量小,尤其是在未知數據集上的泛化誤差盡量小。為了提高分類準確率和性能,將引氣系統的故障檢測數據集映射到高維空間,找出最優分類面。在多維空間中的線性判別函數的一般表達式為f(x)=wx+b,w為超平面的法向量;b為偏移量,決定超平面與原點的距離。為了尋找最優分類面需要求解如下問題:
(3)
式中,C>0;ξi為松弛變量。對問題(3)進行求解,可以得出最優的w和b為
(4)
式中,α為支持向量。
在核函數的選擇方面,本文選擇高斯核函數(RBF)作為核函數代替向量的內積運算。RBF的表達式如下:
(5)
在使用SVM算法對數據進行分類時,需要使參數C和σ的值達到最優,如果C過大會導致過擬合,最終會導致模型在測試集上的分類預測準確度較差;如果C過小會導致欠擬合,使訓練精度不足。參數σ決定了高斯核函數的效果,它可以很好地表現局部特性[11]。因此,為了找到最優的C和σ值,使用改進的粒子群尋優算法來找到最優的分類參數。
粒子群算法(Particle Swarm Optimization,PSO)的思想是將一個n維空間內的每一個粒子看作是空間中的一個搜索個體,粒子具有速度和位置兩個屬性,每個粒子的初始位置可以看作是該優化問題的初始解,每個粒子的飛行速度會根據最優解的位置不斷發生變化。每個粒子單獨搜尋的最優解叫做個體極值,粒子群中最優的個體極值作為當前全局最優解。粒子群中的粒子不斷迭代,更新速度和位置,最終得到滿足終止條件的最優解。具體步驟如下:
(1) 初始化粒子群。
在一個n維空間內,由m個粒子組成一個種群,記做X={X1,X2,…,Xm},其中Xi表示每個粒子的位置,Xi={xi1,xi2,…,xi3}。由于每個粒子都具有記憶性,在每一次迭代中,粒子群會根據局部最優解Pid和全局最優解Pgd不斷更新自己的位置。
(2) 粒子搜索狀態的更新。
每個粒子具有速度和位置兩個屬性,每個粒子的位置記做Pi={pi1,pi2,…,pim},速度記做Vi={vi1,vi2,…,vim},每個粒子的目前找到的最優位置稱為個體極值Pbest,所有粒子目前找到的最優位置稱為群體極值gbest。其中,pbest=(pi1,pi2,…,pim),gbest=(pg1,pg2,…,pgm),i=1,2,…,m。
(3) 自適應變異。
為了防止陷入局部最優解,需要加入慣性權重ω對算法的搜索功能進行控制。將ω控制在一個范圍,隨著粒子的位置和速度不斷變化,最終使粒子能夠快速收斂取得最優解。ω的計算公式如下:
(6)
式中,ωmax為慣性權重的最大值;ωmin為慣性權重的最小值;t為當前迭代次數。
在引入慣性權重ω以后,粒子的位置和速度計算公式如下:
vid(t+1)=ω×vid(t)+c1r1(pid(t)-xid(t))+
c2r2(pgd(t)-xid(t))
xid(t+1)=xid(t)+vid(t+1)
(7)
式中,ω為慣性權重;d=1,2,…,n為種群維度;i=1,2,…,m為種群規模;t為當前迭代次數;c1和c2為學習因子;r1和r2是(0,1) 之間服從均勻分布的隨機數。
粒子的速度范圍在[-vmax,vmax]之間。
(8)
粒子群中的每個粒子不斷變異,將每次迭代產生的局部最優解Pid和全局最優解Pgd進行比較,如果達到收斂條件則停止搜索,此時將獲得最優解。通過改進粒子群算法最終得出SVM的C和σ值,使分類效果達到最優。
本文通過收集某航空公司機隊A320系列飛機的216組引氣系統QAR數據,其中正常數據153組,故障數據63組,采樣頻率為1 Hz,采樣時間是飛機整個飛行循環。采集巡航狀態下機翼防冰開關關閉、左右空調組件均開啟時的QAR數據來建立故障檢測數據集D(x,y),x為引氣系統預警參數,y為引氣數據樣本類別。在數據集中,x=(N11、N12、N21、N22、MACH、PRESS1、PRESS2、TEMP1、TEMP2),y=+1表示正常樣本,y=-1表示故障樣本,部分經過預處理的數據樣本如表3所示。
表3 引氣數據樣本數據集(部分)
在使用改進粒子群算法優化SVM的過程中,SVM的核函數選擇RBF核函數,使用改進粒子群算法求解,得出最優的C=20.4,σ=0.0145,此時分類準確率為97.93%;在不使用粒子群算法優化時,分類準確率為78.62%。兩種算法的分類準確率對比如表4所示。
表4 兩種算法的分類準確率對比
為了評估模型的泛化能力,本文將未經優化的SVM和經過粒子群優化算法優化的SVM進行比較,通過ROC(Receiver Operating Characteristic)曲線評估SVM分類模型的泛化能力,ROC曲線的橫坐標表示假正率False Positive Rate(FPR),縱坐標表示真正率True Positive Rate(TPR)。FPR和TPR的計算公式如下:
(9)
式中,TP(True Positive)為將正類預測為正類的個數;FN(False Negative)為將正類預測為負類的個數;FP(False Positive)為將負類預測為正類的個數;TN(True Negative)為將負類預測為負類的個數。
圖3為未經粒子群優化的SVM的ROC曲線和經過粒子群優化算法的ROC曲線,可以看出兩條曲線有交叉。為了比較兩種分類方法的性能,可以根據兩條線下面的面積AUC(Area Under Curve)值進行比較。兩種算法的AUC值如表5所示。
圖3 兩種算法的ROC曲線
表5 兩種曲線的AUC值
根據圖3可以得出,經過粒子群尋優算法改進SVM的AUC值更大,分類效果更優。
本文提出了一種使用改進粒子群優化算法尋找SVM最優分類參數來進行飛機引氣系統故障檢測的方法。根據收集到的飛機運行過程中產生的QAR數據進行參數選擇,形成數據集并劃分為訓練集和測試集,通過訓練集對模型進行訓練,得出最優的分類參數,在測試集上驗證SVM的分類精確度。為了驗證模型的泛化能力,引入ROC曲線來評價分類模型的效果,結果表明使用改進粒子群算法優化SVM可以提高對飛機引氣系統進行故障檢測的準確率,而且模型的泛化能力也更高。