基于PARAFAC分析和SVM离心泵故障诊断方法
2022-03-09苗育茁陈汉新
柯 耀,王 琪,苗育茁,黄 浪,陈汉新
(武汉工程大学 机电工程学院,武汉 430205)
离心泵是一个非常复杂的非线性系统,其无故障运行对生产至关重要。针对离心泵故障振动信号的非线性非平稳特征,Soylemezoglu 等[1]根据Mahalanobis-Taguchi系统的相关理论,应用采集到的离心泵信号进行故障特征提取、故障分离与分析,能够成功对离心泵等多种故障部件进行诊断。
离心泵故障诊断过程可视为模式识别的过程,从非平稳的振动信号中提取出故障特征信息是离心泵故障诊断的关键。由于负载、摩擦等非线性因素对振动信号的不同影响,仅在时域和频域对机械设备工作状态进行精确诊断是比较困难的[2]。特别是对于多源信号而言,其特征存在耦合和混叠等现象,张英堂等[3]利用平行因子分析对缸盖振动信号进行盲源分离,提高了故障诊断精度。本文采用多尺度小波分解和平行因子分析(PARAFAC)相结合的方法来提取单源故障信号的时间、频率和空间的特征信息,并采用支持向量机(SVM)作为分类器来对离心泵正常和故障状态进行分类。
本文拟将PARAFAC 方法与SVM 结合起来,建立PARAFAC-SVM 的分类器模型,对离心泵进行故障诊断。即以PARAFAC 分析作为振动信号的预处理器,以SVM作为分类器,提取PARAFAC分解后的时间加载因子和频率加载因子作为分类器的特征参数,对正常和故障的离心泵进行分类。同时,将PARAFAC 方法与小波包分析方法进行比较分析。还将PARAFAC 方法应用于BP 神经网络分类器。实验结果表明,基于PARAFAC 方法的SVM 分类模型具有更好的识别效果。
1 平行因子分析原理
平行因子概念始于心理实验学领域的数据分析,是一种多维低秩分解方法。PARAFAC经常被用于化学统计、无线通信和盲源分离等领域,并取得了良好的效果。本文中以三维数据为例,数据集X∈CI×J×K可以分解为R个秩为1 的三维矩阵之和,如式(1)所示[4]。
其中:ar∈CI,ar∈CJ,ar∈CK,r=1,2,…,R。ο表示张量积。式(2)给出了三维矩阵低秩分解过程,三维矩阵X的秩为R,三维矩阵X可以通过一个立方体表示,本文中的数据矩阵SNe×Nf×Ng是振动信号通过小波变换得到的三维时变频谱阵列Ne,Nf和Ng,分别表示通道数、频率步长和数据点个数,故障诊断中的平行因子模型如图1所示。
图1 多尺度平行因子(PARAFAC)分解模型
此模型的关键问题是寻找矩阵A,B和C,它们的要素是aek,bfk和cgk,每个成分k代表一个原子,相应的向量ak={aek}、bk={bfk}和ck={cgk}是每个原子的空间信号、谱信号和时间信号,公式(2)的分解是由求解来实现,PARAFAC 产生的向量ak(Ne×1)是第k个成分空间向量,向量bk(Nf×1)是频谱的第k个成分,向量ck(Ng×1)是时间信号的第k个成分。此方法的主要优点是频谱分解是唯一的,且保证在最小平方差原则下取得最好的模型。
2 基于IPSO的SVM参数优化
2.1 SVM原理
SVM 是从线性可分情况下的最优分类面提出的[5]。假设训练样本集X={(xi,yi)|i=1,…,N},xi∈Rn,yi∈(-1,1)其中xi是输入指标,yi是输出指标。对于两类分类问题,分类的目的就是寻找一个能将两类样本完全分开的超平面,通过非线性映射可以得到这个超平面:(ω∙x)+b=0,要求其不但能正确区分样本,且使分类间隔最大。求解最优分类超平面可以转化为求解下列优化问题:
其中:ω是超平面的权值向量,b是偏置。c为惩罚因子,是影响SVM 分类性能的重要参数之一,ξi为松弛变量。引入拉格朗日函数,用对偶原理把原优化问题转化为:
式中:αi为拉格朗日乘子,K(xi,xj)为核函数,SVM常用的核函数包括线性核函数、多项式核函数、径向基核函数、Sigmoid核函数等。本文采用具有普适性的径向基核函数(Radial Basis Function,RBF),文献[6]已证明其优越性,其函数表达式为:
式中:g为核参数,控制着高斯核的作用范围,是影响SVM 分类性能的另一个参数。采用径向基核函数可得到决策函数为:
2.2 改进粒子群算法
本文采用一种改进粒子群算法(Improved particle swarm optimization,IPSO)来优化SVM 的超参数,在式(7)、式(8)所示PSO算法的基础上,通过引入新的动态惯性权重和优化粒子速度与位置更新策略来防止算法陷入局部最优,增强SVM 模型泛化性能。
式中:i=1,2,…,m,d=1,2,…,n,其中m为粒子群中粒子的个数,n为解向量空间的维数,c1和c2为两个正常数,r1和r2为两个独立的、介于[0,1]之间的随机数;ωi为动量项系数;pbi表示当前粒子所经历的最优位置;pg表示种群中最好粒子的位置。
对上述基本粒子群算法进行2 个方面的改进后,构成本文的IPSO算法[7]。
1)提出一种IPSO算法,即在迭代中考虑种群其它粒子对于粒子寻优的影响。则让每个粒子的速度根据以下三个因素更新:粒子本身历史最优值pbi、粒子邻域范围内粒子最优值qb和种群的全局最优值pg。
在迭代中,计算每个粒子与其它粒子间的距离,记当前粒子m到任一粒子n之间的距离为lmn,最大距离为lmax,计算比值lmn/lmax。阈值ξ 根据迭代次数而改变,其表达式为:
其中:k为迭代的次数;kmax为最大的迭代次数。当ξ<0.9时,若lmn/lmax<ξ,则认为粒子n在粒子m的邻域内。据此,引入新的学习因子c3和随机数r3可根据以下公式来更新粒子的速度:
若ξ>0.9或若比值lmn/lmax>ξ,则按照式(7)更新粒子速度。
2)标准PSO 算法采用线性降低ωi的方式来减小搜索的步长,并使迭代逐渐收敛到极值点[7],该种方式的缺点是:算发易陷入局部最优。为了克服上述缺点,将ωi以S形函数递减,即ωi动态变化,刚开始进行搜索时,ωi取值大,便于进行全局搜索,在搜索过程接近尾声时,ωi取值变小,有利于进行局部搜索。IPSO算法中权重的表达式为如下:
IPSO 算法的具体步骤如下:
步骤1:设置IPSO 的相关参数,如学习因子、最大迭代次数、种群规模等。
步骤2:初始化粒子个体极值位置pbi=(xi1,xi2,…,xin),对应的极值pbf,全局极值位置pg=(xg1,xg2,…,xgn)和它对应的全局极值pgf。
步骤3:计算所有粒子适应度值pi。
步骤4:比较得到pbi、pbf、pg、pgf。
步骤5:更新粒子的位置,且使其在限定范围内。
若xij(k+1)>xmax,则xij(k+1)=xmax;
若xij(k+1) 其中:xmax、xmin分别为最大位置和最小位置。 步骤6:若达到迭代次数或截止精度,结束迭代;否则返回步骤2。 离心泵是一个非常复杂的非线性系统。造成离心泵故障原因多种多样,本实验选取离心泵叶轮常见故障包括穿孔损伤叶轮F2、外缘磨损叶轮F3和叶片磨损叶轮F4,并与正常叶轮F1进行对比。 为了采集非线性多故障模式特征信号,建立的机械多源动态信号监控系统如图2所示。系统包括振动信号、声信号和流量信号等信号源采集分析系统,电机转速分别为1 200 r/min、1 400 r/min、…、2 800 r/min。系统同步采集了流量、压力、转速、振动等实时信号,通过控制流程回路的流量和压力,模拟流程工业过程机械系统非线性运行状态,形成非线性多故障模式,同步采集多通道信号,获取多源信号。图3和图4分别表示F1和F2两种模式下3个测点X轴方向采集到的多源信号经PARAFAC 分解后的结果。 图2 离心泵试验系统 图3 离心泵正常状态F1多源信号的平行因子分析 图4 离心泵故障状态F2多源信号的平行因子分析 3个测点的X轴振动信号组成三维特征矩阵,经过多尺度平行因子分解,得到通道加载因子(mode1)、频率加载因子(mode2)、时间加载因子(mode3),且每一种加载因子中包含第一、第二和第三成分(component)。 通过实验分析,mode2 和mode3 可以明显表征设备正常或故障状态,利用这一特征建立不同状态的离心泵与其对应的mode2 和mode3 的映射关系。同时分别提取离心泵4 种模式下mode2 和mode3 的第一、第二、第三成分共计6 个特征。根据上述方法,分别测试离心泵4种模式下的振动信号各40组,为后续SVM分类提供依据。 为了测试不同故障特征输入SVM 分类器的分类性能,采用以下两种特征参数作为支持向量机分类器的输入向量,即:(1)小波包分解后的能量;(2)多源信号经PARAFAC分解所提取的特征。SVM输出与离心泵对应状态如表1所示。 表1 离心泵各状态对应的支持向量机输出 根据经验设定SVM 的两个超参数,惩罚因子c=2,10 和核参数g=1,10 进行实验。以参数c=2,g=1为例,进行离心泵故障的识别与分类。在仿真实验中,训练集的样本量为120,测试集的样本量为40。 采集每种模式离心泵的一个测点上X轴振动信号,采样时间10 s,共计90 000 个数据点,经小波包降噪后,将其作为原始数据。将不同状态下的原始数据的小波包能量作为各分类器的输入向量。由于离心泵在不同状态模式下各频带的能量不同,而小波包分解可以将信号分解为原信号在不同频带上的投影,因此可以提取小波包分解后不同频率段上信号的能量作为故障特征向量。采用Daubechies6 对振动信号进行三层小波包分解,得到第三层8 个频带的小波包分解系数,分别重构第三层8 个频带的小波包分解系数以构成8 个新的时间序列,按频率成分由高到低的顺序排列为:c0(t),c1(t),…,c7(t),然后求各分量的总能量Ei。 以能量为元素构造一个特征向量T: 再对特征向量进行归一化处理,令: 则可以得到归一化后的特征向量: 由表2可知,基于小波包能量的SVM 测试集精度都不超过75 %。测试集样本分类结果如图5所示。 图5 基于小波包能量特征的SVM测试集分类图 表2 基于小波包能量的SVM的识别结果 经大量仿真和实验对比分析发现:平行因子分析应用于通道-时间-频率信号时,mode2和mode3与离心泵状态关联度最大,利用这一特征可以建立振动信号分解后mode2和mode3与离心泵各状态间的映射关系,通过mode2和mode3的变化进行诊断。 为验证经PARAFAC 分析所提取的故障特征在SVM 分类器中的分类准确率,根据第3 节实验中所提取离心泵四种模式下mode2 和mode3 的第一、第二、第三成分共计6 个特征。其中测试离心泵四种模式下的振动信号各40组。 在仿真实验中,训练集样本量为120,测试集样本量为40。通过对训练样本进行学习,建立SVM多分类模型。其中以参数c=2,g=1 为例,进行离心泵故障的识别与分类。测试集样本分类结果如图6所示。 图6 基于PARAFAC方法的SVM测试集分类图 由表3显示的识别结果可知,根据经验设定SVM的两个超参数进行故障识别,训练集的分类精度是85.83%,测试集的分类精度是87.5%,分类精度有明显提高。 表3 PARAFAC-SVM的识别结果 由上述不同特征的分类结果可知,以经验设定SVM故障诊断模型超参数,故障诊断模型的分类准确率没有达到应用级的要求。故采用IPSO 算法优化SVM的核函数,使得分类器模型达到最佳。其中IPSO 算法主要参数c1=1.5,c2=2,c3=1.5,控制系数e=8。 采用标准测试函数Ackley 函数来分析比较IPSO算法的合理性,寻优收敛曲线如图7所示。IPSO算法在10 次左右就基本达到全局最优,收敛速度快,且性能比较稳定鲁棒性强。将IPSO算法应用于SVM分类器,测试集分类结果如图8所示。 图7 Ackley函数寻优 图8 基于SVM分类模型分类结果 利用BP 网络对比验证IPSO-SVM 模型的有效性,BP 神经网络的结构为6-5-4。其中设置最大迭代次数为100,学习率为0.01,训练的目标为0.001。其中,训练集样本量为120,测试集样本量为40。测试集分类结果如图9所示。 由图8和图9可知,本文建立的IPSO-SVM分类模型的分类精度高于BP神经网络,能满足应用级的需求,且该模型在有效地提升故障诊断准确率的同时还具有较好的稳定性。 图9 基于BP神经网络模型分类结果 不同类型分类器的诊断结果如表4所示。 表4 5种分类器的故障诊断结果 结果表明故障特征的选择和提取对诊断结果影响很大,正确选择特征参数可以有效提高故障诊断的精度。基于PARAFAC 方法的PSO-SVM 分类器的准确率为92.5%,而IPSO-SVM 分类器的准确率为97.5%,利用BP 神经网络再一次对比验证了IPSO-SVM 模型的有效性。可知PARAFAC 方法在多源信号故障特征提取时的优良性能。 如表4所示,将分类器2 分别与分类器1 和3 对比可知,基于PARAFAC 分析的故障特征提取方法应用于SVM分类器时取得了良好的效果。分类器5与分类器2相比,测试集精度提高了10%。 本文提出了一种基于PARAFAC 的故障特征提取方法,利用其在多源振动信号分解中的优良性能,将其应用于离心泵的故障诊断中,并与IPSO-SVM故障诊断模型相结合,取得了良好的诊断效果,与传统的时域或时频特征提取方法相比,有效提高了故障诊断精度,缩短了诊断时间,且复杂度并没有明显增加。3 实验系统
4 PARAFAC-SVM 在故障诊断中的应用
4.1 基于小波包能量特征提取的故障诊断
4.2 基于PARAFAC的故障特征提取及其故障诊断
4.3 不同特征参数的SVM分类结果比较
5 结语