基于SVM的飞机引气系统故障检测方法研究
2021-04-07吉昱玮吴红兰
吉昱玮, 吴红兰
(南京航空航天大学 民航学院,江苏 南京 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数据对模型进行验证。
1 引气系统预警数据处理
1.1 飞机引气系统原理
以空客A320为例,飞机气源来自于地面气源车引气、APU(Auxiliary Power Unit)引气和发动机引气。其中,主要来源是发动机引气。发动机引气主要来源包括两部分:9级高压压气机和5级中级压气机,如图1所示。当发动机处于慢车状态时,发动机转速低,此时高压活门开启,通过9级高压压气机提供压力为36±4 psi左右的引气;当飞机进入正常飞行状态以后,高压活门关闭,由5级中级压气机提供40 ±4 psi左右的引气。在压力调节阀以及预冷器的共同作用下,产生合适温度和压力的引气,提供下游用户使用[10]。
图1 引气系统原理
1.2 故障检测参数的选取
在引气系统故障检测过程中,除了需要监控预冷器出口温度和引气压力之外,还需要监控发动机低压转子转速(N1)和高压转子转速(N2)、马赫数等飞机状态参数,以及外界大气参数,如总温(Total Air Temperature,TAT)、静温(Static Air Temperature,SAT)等,具体参数如表1所示。
表1 引气系统故障检测参数
为了方便建模,选取对引气温度和压力影响较大的参数作为监测参数进行建模,使用皮尔逊相关系数将相关性较小的变量剔除。皮尔逊相关系数的计算公式如下:
(1)
由表2可知,N11、N12、N21、N22、MACH对左右发动机预冷器出口压力和温度的影响较大,故选择以上参数作为故障检测的判断参数。
1.3 数据预处理
在确定监控参数之后,选取巡航状态下左、右机翼防冰开关关闭,左、右空调组件打开时的QAR数据建立故障检测模型。在进行运算之前,需对风险预警参数集进行归一化处理,最终使数据的值收敛到[0,1]的范围,从而提高模型的运算速度和分类精度。数据归一化的公式如下:
(2)
表2 引气系统监测参数的相关系数
在进行归一化以后,需要对数据集划分为训练集和测试集,训练集用于训练模型,测试集用于检测模型的训练效果。在划分数据集以后,将训练集数据带入模型进行训练,在测试集上检验模型的分类效果,从而测试模型的分类能力。
2 模型方法
收集引气系统数据构建数据集,划分为训练集和测试集。通过粒子群算法对SVM进行优化寻找最优的C和σ,之后对SVM训练集进行训练,使用测试集检验故障检测效果,具体过程如图2所示。
图2 引气系统故障检测流程
2.1 SVM分类算法
SVM是一种广泛使用的二分类算法,其核心分类思想是在这组分布中找出一个超平面作为决策边界,使模型在数据上的分类误差尽量小,尤其是在未知数据集上的泛化误差尽量小。为了提高分类准确率和性能,将引气系统的故障检测数据集映射到高维空间,找出最优分类面。在多维空间中的线性判别函数的一般表达式为f(x)=wx+b,w为超平面的法向量;b为偏移量,决定超平面与原点的距离。为了寻找最优分类面需要求解如下问题:
(3)
式中,C>0;ξi为松弛变量。对问题(3)进行求解,可以得出最优的w和b为
(4)
式中,α为支持向量。
在核函数的选择方面,本文选择高斯核函数(RBF)作为核函数代替向量的内积运算。RBF的表达式如下:
(5)
在使用SVM算法对数据进行分类时,需要使参数C和σ的值达到最优,如果C过大会导致过拟合,最终会导致模型在测试集上的分类预测准确度较差;如果C过小会导致欠拟合,使训练精度不足。参数σ决定了高斯核函数的效果,它可以很好地表现局部特性[11]。因此,为了找到最优的C和σ值,使用改进的粒子群寻优算法来找到最优的分类参数。
2.2 改进粒子群算法优化SVM
粒子群算法(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和σ值,使分类效果达到最优。
3 案例验证
本文通过收集某航空公司机队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值更大,分类效果更优。
4 结束语
本文提出了一种使用改进粒子群优化算法寻找SVM最优分类参数来进行飞机引气系统故障检测的方法。根据收集到的飞机运行过程中产生的QAR数据进行参数选择,形成数据集并划分为训练集和测试集,通过训练集对模型进行训练,得出最优的分类参数,在测试集上验证SVM的分类精确度。为了验证模型的泛化能力,引入ROC曲线来评价分类模型的效果,结果表明使用改进粒子群算法优化SVM可以提高对飞机引气系统进行故障检测的准确率,而且模型的泛化能力也更高。