基于IGA-SVM的气动调节阀在线故障检测及诊断
2022-08-02张代福赵桂生刘苏州周犊戚知宽周邵萍
张代福,赵桂生,刘苏州,周犊,戚知宽,周邵萍
(1. 华东理工大学,上海 200237;2. 中广核研究院有限公司,广东 深圳 518000;3. 中广核核电运营有限责任公司,广东 深圳 518000)
由于气动调节阀通常处在复杂的工业回路之中,参数众多、故障模式复杂,因此当阀门发生故障时,传统的诊断方法需要停机排查,检修周期长且十分依赖工程经验,造成经济损失较大[1]。得益于智能定位器的普遍使用,气动调节阀许多重要的运行参数可以在线监测和获得,但由于定位器往往用于离线诊断,因此基于历史数据和智能算法的在线诊断方法将逐渐成为气动调节阀故障在线检测及诊断的重要手段[2-4]。支持向量机(Support Vector Machine, SVM)作为一种适用于解决小样本、非线性问题的优秀算法,在机械设备的故障诊断方面得到了研究者的广泛关注[5-7]。许多学者在传统算法的基础上结合优化算法对SVM模型进行参数调优和建模过程的改进,例如基于遗传算法(Genetic Algorithm, GA)优化的SVM分类模型研究[8]、基于粒子群优化算法的故障诊断研究[9]等。
本文结合GA和SVM两种算法的优势,并对传统的遗传算法进行改进,提出一种适用于气动调节阀的IGA-SVM算法。并围绕种群选择、自适应的遗传算子[10]引入、调参优化等,从而得到IGA-SVM算法,提高模型训练效果的同时增进建模效率。
为了验证该算法的有效性,实验选取执行机构膜片破裂、气源漏气、摩擦力过大、定位器PID参数设置不当这四类故障进行实验。测试过程中,结合残差法对故障进行实时在线的检测,并将异常数据投入分类模型进行诊断,最后与传统方法的效果进行对比证明有效性及适用性。
1 故障检测及诊断算法
1.1 基于残差法的故障检测
要实现及时的故障诊断首先要检测到阀门有无故障,残差法是所有基于数据驱动的故障诊断方法的共同基础[11],因此本文选用累计残差法进行气动调节阀的故障检测,实现思路如图1所示。
在气动调节阀的正常运行过程中不断采集每一时刻t下的相关联的状态样本Xi(t),并组成样本矩阵E= [X1(t),X2(t), …,XN(t)],其中Xi(t)代表某一时刻阀门状态参数组成的一条数据样本,如阀杆位移、执行机构内气压等。
当N足够大时,就可以认为历史样本已经包括阀门所有的正常状态数据,将矩阵E记做阀门的正常状态下的样本模型。图中Res为初步残差,Res即为该行样本与正常状态的相似程度指标:
图1 残差法故障检测流程图Fig.1 Residual method fault detection flowchart
将Res计入累计残差Acc,最终得到待测阀门样本的累计残差:
其中,容忍阈值S1和故障阈值S2的设定依据如下:由当前阀门正常状态下采集的一段数据样本作为建模数据,与样本矩阵E计算初步残差Res,基于残差的情况进行选择。由于Res可以表示当前样本与正常状态的相似程度,同时正常状态计算的初步残差通常很小,因此取所有Res的中位数作为容忍阈值S1,取Res的累加和作为故障阈值S2,当一段时间的累计残差Acc超过故障阈值S2,说明已经检测到故障。
1.2 支持向量机和改进遗传算法
本文分别对选择、交叉、变异策略进行改进。
(1)选择策略改进
为了增加子代优秀个体的比例同时又尽可能地保持种群的多样性,本文对传统的选择算子进行改进,引入随机抽样选择(Stochastic universal sampling)保证最小个体扩展,具体选择策略如图2所示。
以种群规模N= 10为例,具体步骤如下:
1) 将原始种群按照适应度值进行排序,取其中前40%适应度值的个体进行复制保留。
2) 取Nsel为0.6 N,将区间[0,1/Nsel)分为N段,按概率取第i段 [i/NNsel,(i+ 1)NNsel],并在此范围内取随机数rand,确定随机抽样种子seed的位置L:
图2 选择操作流程图Fig.2 Select operation flowchart
3) 将原始种群映射到区间连续的片段中,个体片段长度与适应度值成比例,用一组大小等于1/Nsel的等间距指针随机指向上述区间,保留指针指向的个体,第一个指针对应随机种子的位置。
4) 合并Step1和Step3中选择的个体组成规模同样为N的新种群。
(2)交叉与变异策略改进
交叉与变异操作对应自然界中有性繁殖的基因交叉重组以及基因突变的过程,目标是提高种群的适应度。引入种群密度修正自适应的遗传算子[12-13],本文使用的遗传算子计算公式为:
式中p1——交叉或变异概率的上限;
p2——交叉或变异概率的下限;
Fit——当前个体适应度;
Fitavg——群体平均适应度。
设邻域半径r=D/2 N,设稳态区域为[Fitavg-r,Fitavg+r],计算该区域内的个体数量M,对应的种群密度即为ρ=M/N,交叉和变异概率的计算表示为:
采用此种交叉与变异操作可以保证种群的平均适应度能够快速提升,同时可以避免算法的“早熟”。
1.3 基于IGA-SVM的故障诊断算法
IGA-SVM的基本思路为选取SVM多分类模型要优化的超参数并结合IGA算法对参数进行优化。本文选择径向基函数作为SVM的核函数,因此需要优化的参数为径向基函数的参数g以及SVM模型的误差惩罚系数C。其中C代表模型对误差的容忍度,C过大或过小,模型的泛化能力都会变差;g决定了样本映射到新的特征空间后的分布情况,影响训练与预测的速度。经过IGA优化SVM多分类模型进行充分寻优可以使模型训练速度更快并具备优良的泛化能力。
IGA-SVM的基本工作流程如图3所示,算法的主要步骤为:
图3 IGA-SVM算法流程图Fig.3 Flow chart of IGA-SVM algorithm
(1)对要优化的支持向量机参数g和C进行二进制编码,并设定参数搜索范围,作为IGA算法的原始种群。
(2)选取SVM分类模型交叉验证的分类正确率作为种群个体适应度函数,交叉验证分类正确率越大的个体,适应度值越高。
(3)开始种群的迭代过程,根据个体适应度进行选择、交叉、变异操作,生成新的种群。
判断是否满足终止条件,如果不满足则继续进行种群进化迭代,如果满足则将g和C对应的参数解码,此时得到SVM多分类模型的最优参数组合。
2 实验研究
2.1 实验装置
为了验证算法模型的有效性和准确性,本文进行了故障模拟实验,作为算法建模和验证的基础。实验装置原理如图4所示,选用直行程正作用的直通单座结构的气动薄膜式调节阀作为研究对象,配合DN 50的某品牌的定位器进行阀位调节。实验管路中的介质为常温下的水,由立式单级管道循环变频水泵为回路中介质流动提供动力。
实验过程中模拟执行机构膜片漏气、气源漏气、摩擦力过大、执行机构PID参数设置不当四类故障,均在43%左右阀位下进行。采集参数包括设定阀位S、阀杆实际行程T、气源压力p1、执行机构内压力p2和定位器耗气量Q共5个参数,采样频率为4 Hz。
2.2 故障模拟
(1)执行机构膜片破裂故障
执行机构膜片破裂故障通过旋松定位器输出口卡套接头螺母来模拟,包括轻微、中等、严重三种故障强度。三种故障强度对应的故障模拟调节方法如表1所示。
表1 膜片破裂故障预设强度Table 1 Diaphragm rupture failure preset strength
(2)气源漏气
通过调节定位器供气压力接口处过滤减压阀调压量,来模拟气源漏气时导致的供气压力下降现象,调节方法如表2所示。
表2 气源漏气故障预设强度Table 2 Gas source leak fault preset intensity
(3)摩擦力过大
通过增加填料盘根处的压紧螺栓的旋合圈数,增大填料压盖处对填料的压紧力,来模拟阀门摩擦力增大的状态,具体模拟故障的参数设置如表3所示。
表3 摩擦力过大故障预设强度Table 3 Excessive friction fault preset strength
(4)PID参数设置不当
通过调节定位器的比例增益(Proportional Gain)、速度增益(Velocity Gain)和反馈增益(FB Gain,Feedback Gain)来调节控制模块的功能,模拟PID参数设置不当产生的故障现象,不同故障强度下具体参数设置如表4所示。
2.3 实验样本处理
实验模拟得到四类故障各三种强度下的故障数据,共12组数据。记每一时刻的故障样本为向量[S(t),T(t),p1(t),p2(t),Q(t),S(t) -T(t),p1(t) -p2(t)],得到大小为1 200×7的原始样本矩阵,取其中20%作为测试集,80%作为训练集。对样本进行时域特征提取,包括均值、标准差、RMS均方根、方根幅值、峰度以及峭度。取分段步长为8,则长度1 200的样本划分为150段,对7维样本向量分别提取以上特征后,使用主元分析法(Principal Component Analysis-PCA)对数据进行降维,累计贡献率和主成分个数的对应曲线如图5所示。
表4 PID参数设置不当故障预设强度Table 4 Improper PID parameter setting fault %
图5 累计贡献率变化情况Fig.5 Changes in cumulative contribution rate
累计贡献率随主成分个数增加的增速呈明显下降趋势,当主成分个数为11时,累计贡献率就达到91.302%,因此本文取主成分个数为11,将原始数据由150×42的矩阵变为150×12的矩阵,且仍然可以保持90%以上的特征。
3 结果与讨论
3.1 故障强度对故障检测的影响
对实验中的故障数据样本进行故障检测,检测时间为5 min,采样频率为4 Hz,每种故障共计1 200个样本点,取阈值S1为0.08,S2为500,检测结果如图6 ~ 9所示。
图6 PID参数设置不当残差Fig.6 Improper PID parameter setting residual
图8 摩擦力过大残差Fig.8 Excessive friction residual
实验中基于累计残差法的检测方法可以在2 min内检测出实验设计的所有故障,准确率达到100%。对于同一类故障,故障检测时间与故障强度成反比,故障强度越大,累计残差增长速度越快。这是由于故障强度大的样本数据偏离正常状态越多,越容易达到故障阈值。
图8中严重的摩擦力导致阀杆卡住,在275 s左右阀杆实际位置突然改变,导致累计残差在275 s左右时突然跳跃性增长。四类故障当中膜片破裂故障与气源漏气故障最容易检测到,轻度故障可以在15 ~ 30 s左右即可感知到,PID参数不当,故障与摩擦力过大,故障检测相对较慢,但仍然可以在在线诊断中发挥足够的作用,符合预期效果。
3.2 IGA算法参数对故障诊断的影响
本文采取的IGA优化算法参数设置如表5所示。
图7 膜片破裂残差Fig.7 Diaphragm rupture residual
图9 气源漏气残差Fig.9 Air leakage residual
表5 算法参数设置Table 5 Algorithm parameter setting
对SVM模型优化的过程中将分类模型进行k折交叉验证(K-fold Cross Test)。为了提高运算效率,本文将k取4,即将数据集均分成4份,进行4次检验,取平均误差为最终误差,第i次检验时将第i份数据作为测试集,剩余的3份作为训练集。计算交叉验证的正确率作为种群个体的适应度值,直到每份样本都计算得出适应度值,取同一代个体中的最大适应度值作为此代种群的最佳适应度。
图10 核函数对分类准确率的影响Fig.10 The influence of kernel function on classification accuracy
图11 进化代数对分类准确率的影响Fig.11 The effect of evolutionary algebra on classification accuracy
基于以上设定对SVM的四种典型核函数线性核函数、多项式核函数、sigmoid核函数和径向基函数进行对比,模型的训练结果如图10所示。经过测试发现,线性核函数以及sigmoid核函数的准确率较差,多项式核函数对训练样本拟合较好,但在测试样本准确率上表现的最差。综合四种核函数的测试结果发现,由于径向基核函数可以近似地表示任意维度,使用径向基核函数最适用于本次实验数据,模型整体表现最好,符合预期的准确率分类效果。因此本文选用径向基函数作为SVM多分类模型的核函数,将实验的故障数据样本进行测试,IGA-SVM算法结果如图11所示。
由图11可见,在种群进化前期Fitavg和Fitmax均快速提升,在种群前10次迭代时最优个体适应度Fitmax快速由44.8%到89.8%;在迭代11到30次之间分类模型效果缓慢提升,在30代最优个体适应度Fitmax达到93.9%;之后Fitmax基本稳定不变,算法接近收敛。算法经过50次迭代进化,在第39代即达到种群的最优个体适应度,达到94.333 3%,对应SVM多分类模型的准确率达到94.1%。此时径向基函数的参数g的值为0.277 1,惩罚因子C取值为87.912 5。引入测试样本测试训练好的IGA-SVM模型,可以正确分类其中的139个样本,准确率达到92.666 7%。
基于本次实验数据,当SVM选用径向基核函数时,对种群进行30次迭代进化即可取到非常良好的效果,当进化50次时即可稳定获取到最优参数组合。
3.3 结果对比
为了对比IGA-SVM算法的效果,分别选用传统的GA算法以及网格搜索法(Grid Search)对SVM分类模型进行优化。其中使用GA-SVM算法进化种群50次,获得的最高准确率为93.833 3%。引入测试样本测试,可以正确识别出其中137个样本,正确率为91.333 3%。应用网格搜索法对SVM模型进行优化,最优分类正确率为89.333 3%。基于三种方法的径向基函数参数g、惩罚因子C优化结果如表6所 示。
由于网格搜索法在搜索过程中按照固定的间隔进行寻优,可能会导致最优参数组合遗漏,因此从提高模型准确性的角度,不如GA-SVM以及IGA-SVM的表现。从计算速度的角度来看,基于网络搜索法的优化过程只需69.28 s,低于IGA和GA算法,这是由于网格搜索法的SVM寻优限制条件更多,因此搜索速度更快,适合初步调试模型过程中使用。而IGA-SVM相比GA-SVM的速度提高大约20%,综合表现最好。
因此,从实验数据验证结果来看,IGA-SVM的训练速度较传统的GA-SVM方法具有提升,准确率也有所进步,因此证明IGA-SVM算法在准确率以及训练速度上都较传统的GA-SVM算法具有一定优势。
4 结束语
本文以直行程气开式正作用的薄膜式阀门为研究对象,模拟了四类典型故障实验,并以此数据为基础进行了故障的检测和诊断研究,提出了基于IGASVM的故障诊断算法。得出结论:基于残差法的故障检测方法可以有效检测气动调节阀的故障发生,由改进算法优化的SVM分类模型适用于气动调节阀的故障诊断,且效果优于基于网格搜索法和传统遗传算法优化的SVM分类模型。
表6 三种方法测试结果Table 6 Three methods test results