基于支持向量机的发动机健康状态评估*
2023-08-30李弘扬李蕴哲
李弘扬 董 鹏 李蕴哲
(1.海军工程大学教务处 武汉 430033)(2.海军工程大学管理工程与装备经济系 武汉 430033)
1 引言
预测与健康管理主要包括两个部分:健康状态评估(Health Assessment)和剩余寿命预测[1]。发动机健康状态评估是综合运用现有及历史数据对发动机退化状态进行建模,并构建发动机健康指标(Health Indicator,HI)曲线,以评估发动机健康状态或进行故障预警,进而为发动机剩余寿命预测提供关键信息[2~3]。
健康评估算法分为两类:直接构造法、间接构造法[4]。直接构造法基于对原始状态监测所得数据,运用统计分析或对数据进行特征提取等方法,构造出有相关物理意义上的健康指标。但很多设备无法提取出直接相关的物理指标特征[5],导致直接构造法有较大局限性。间接构造法是指通过对传感器数据进行分析和特征提取,对发动机退化过程拟合建模进而构造出不具备直接物理意义的健康指标曲线[6]。健康状况评估的实质是用单维的健康指标曲线代替高维特征,以拟合发动机退化过程,主要包括三个过程:特征提取、特征选择和构造健康指标。利用数据间接构造健康指标在发动机健康评估领域具有很大的潜力。由此,本文提出一种基于支持向量机[7~12]的健康评估方法。
2 基本原理
支持向量机(Support Vector Machines,SVM)是一种以定义于特征空间上最大间隔的线性分类器为基本原型的二分类算法[13~14],基本思路是通过求解可正确区分训练数据集并可几何间隔最大地分离超平面,如图1所示。
图1 支持向量机
其中,支持向量机的分离超平面是ω·x+b=0,几何间隔最大的分离超平面唯一。
支持向量机基本算法:
输入:训练数据集T={(x1,y1),(x2,y2),……,(xn,yn)。xi∈Rn,yi∈{+1,-1},i=1,2,……n。
输出:分离超平面和分类决策函数
1)选择惩罚参数C>0,构造并求解凸二次规划问题:
得到最优解˙:
2)计算权重˙:
选择˙的一个分量满足条件0,计算
3)求分离超平面:
分类决策函数:
3 基于支持向量机的健康评估方法
3.1 发动机健康状态评估总体框架
基于支持向量机的发动机健康状态评估,主要是基于相似性原则,即处于相似退化过程的发动机,其传感器数据也具有相似的数据特征。基于支持向量机的发动机健康状态评估总体框架如图2所示。
图2 发动机健康状态评估总体框架
从运行至失效的发动机提取出历史样本作为训练集,拟合退化过程,训练发动机健康评估算法,运用处于相似工作条件下尚未完全失效的发动机数据组成测试集合,实现发动机的健康评估。
3.2 健康指标构建
1)数据预处理
首先利用z-score 标准化,对传感器数据进行预处理,将不同量级的数据转化为统一的z-score分值进行比较。z-score公式如下式所示。
zij=(xij-xi)/si
其中:zij为标准化后的变量值;xij为实际变量值。
然后根据相关性原则,删去固定变量。
2)健康指标构建
然后将经过标准化的传感器数据融合映射为一维健康指标,通过对各训练单元的健康指标随时间变化的情况进行拟合,得到退化过程。
在进行健康指标构建时,需对训练集及测试集进行数据处理,出于计算方便考虑,离散时间时进行数据处理,整数时间点处采样,其时间间隔为1。假定训练集中共有N 个发动机样本,每个发动机样本共含有m 类传感器数据,运行时间为l。
通常要求健康指标δHI∈[0,1],0 表示发动机失效,1 表示发动机完好。对发动机的寿命分布进行统计,得出发动机完好的指数阈值RH,发动机实际健康指标可表示为
将实际健康指标及N个发动机样本上所有时间点的传感器数据进行线性回归处理,计算发动机健康指标回归参数。各个时间点上的健康指标可以通过下式表示:
式中x=[x1,x2 ,···,xm] 表示m维传感器数据,[α,β]=[α,β1,β2 ,···,βm]表示m+1 维线性回归参数。
然后对各发动机样本健康指标进行拟合,可以得出,健康指标为T=[t1,t2 ,···,tl],ti表示时间为i,发动机样本的健康指标情况。
3.3 健康状态评估
为了实现发动机健康状态评估,本节推导了基于支持向量机的多分类模型。
首先需要对构建的健康指标进行健康状态分类[15~17],健康评估目的在于依据发动机当前及历史数据评估发动机当前所处的健康情况,为下步维修保障决策提供依据[18~19]。各个状态对应的发动机健康状况如表1所示。
表1 发动机健康状态表
1)引入支持向量机的二分类方法
假设需要训练的数据集D=(x1,y1),(x2,y2),……,(xn,yn),其中xi∈Rn,yi∈{+1,-1},i=1,2,……n,构建一个超平面来分割这些发动机样本,超平面的表达式如下:
分类决策函数:
因为发动机传感器数据是一种非常典型地非线性系统,传感器数据集一般无法被线性超平面进行准确分类,故引入核函数替换内积。
选取适当的核函数K(x,z)和惩罚参数C>0,构造并求解凸二次规划问题。
得到最优解˙:
2)计算
选择˙的一个分量满足条件,计算:
分类决策函数:
在这里,我们选用高斯核函数作为发动机健康状态评估支持向量机方法的核函数,因此,分类决策函数可以写为下式。
因为发动机共有三种健康状态,因此,我们需要进一步对非线性支持向量机进行改进,在两分类非线性支持向量机的基础上推到多分类非线性支持向量机。在发动机健康评估问题种,我们采取一对多分类方法。一对多分类针对n 分类问题,共需要n 个支持向量机分类器。因此,在发动机健康评估问题中,针对三种健康状态的评估,共需要三个支持向量机分类器。
4 实验验证
4.1 数据集介绍
实验数据集来自于NASA 的涡扇发动机退化数据集(C-MAPSS),该数据集记录了100台发动机在采样时间产生的数据样本,记录了从健康到故障的性能退化过程。数据集包含一个时间数据,3 个操作模式和21 个传感器数据[20]。具体传感器名称如表2 所示。数据集包括训练集、测试集和测试集标签。
表2 传感器信息表
4.2 数据预处理
对C-MAPSS数据集中发动机传感器数据进行预处理,将不同量级的数据转化为统一量度的Z-Score分数,表3为发动机1号的部分数据的准化结果。
表3 发动机传感器标准化数据表
对21个传感器数据进行数据可视化,如图3~5所示。
图3 传感器数据可视图(1)
图4 传感器数据可视图(2)
图5 传感器数据可视图(3)
可知,其变化规律分为两类:一类T2、P2、Epr、FarB、Nf_dmd、PCNfR_dmd 等始终保持常值,无法反应设备退化趋势,与后续健康指标构建和健康评估无关,因此将这6 个变量删除;另一类随时间变化测量值成上升或下降趋势,能有效反映设备退化趋势。
4.3 健康指标构建
构建健康指标就是将经过标准化的传感器数据融合映射为一维健康指标以拟合各发动机随时间变化的退化过程。
根据NASA 数据集情况,训练集合中共含有100台发动机数据,每台发动机包含15类传感器数据,运行时间长度为l。健康指标δHI∈[0,1],其中0 代表设备失效,1 代表设备完好。实际健康指标为
对100 台发动机上所有时间点的传感器数据及实际健康指标线性回归处理,计算健康指标回归参数。各个时间点上的健康指标可以通过下式表示:
式中x=[x1,x2 ,···,x15] 表示15 维传感器数据,[α,β]=[α,β1,β2 ,···,β15]表示16 维线性回归参数。
然后对每台发动机健康指标进行拟合,最终其健康指标如图6所示。
图6 发动机健康指标
4.4 健康状态评估
1)根据健康指标对应的发动机退化过程,可以将发动机分为三种健康状态,分别为健康状态(0.7,1]、亚健康状态(0.3,0.7]、退化状态[0,0.3)。
2)利用多分类支持向量机对发动机健康状态进行评估。选取14 号发动机作为实验对象,针对276个样本选取20%作为测试集。可以看到分类准确性达到98.1818%(55个测试样本中只有1个样本被误分类),如图7所示。
图7 测试集的实际分类和预测分类图
5 结语
本文基于支持向量机提出解决发动机健康评估中健康指标构建和评估准确率低等问题的方法,并通过数据验证了该方法的可行性。首先,利用发动机传感器数据和多指标融合方法获取发动机健康指标,拟合其退化过程;其次,依据健康指标对应的退化过程,将发动机分为健康状态、亚健康状态、退化状态;最后,利用多分类非线性支持向量机对发动机健康状态进行评估,以14 号发动机作为实验对象对评估方法进行检验,分类准确性可达98.1818%。结果表明,该方法在对发动机健康状态评估时具有较好效果。