优化变分模态分解与集成机器学习的风力机滚动轴承故障分类研究
2023-09-18梁武科骆嘉旺
白 亮, 张 银,2, 梁武科*,, 骆嘉旺
(1.西安理工大学 水利水电学院,西安 710048,E-mail:1276530159@qq.com;2.特变电工股份有限公司新疆变压器厂,新疆 昌吉 830011)
滚动轴承是风力发电设备中最重要且易损坏的零件之一,轴承状态的好坏直接影响着风力机的安全稳定运行,因此,对风力机滚动轴承的状态检测和故障分类尤为重要。
近年来深度学习与模态分解在轴承故障诊断和分类领域展现出巨大潜力,众多学者和专家进行了大量的实验研究,提出了不同的诊断方法和诊断技术。文献[1]采用经验模态分解瞬时相位法分解振动信号,应用特征信号对齿轮箱轴承故障诊断。文献[2]利用变分模态分解(VMD)方法抑制噪声和杂波,并且重构信号,验证了VMD的宽带混沌雷达生命信号探测方法。文献[3]提出了一种自适应多元变分模态分解方法,对电动机轴承故障频率进行特诊提取和诊断。文献[4]提出了变分模态分解与趋势滤波结合的滚动轴承故障诊断方法。文献[5]将EMD和随机森林算法结合,通过分步对滚动轴承进行故障诊断。文献[6]提出了集合经验模态分解与核主成分分析结合的电机轴承故障诊断方法。文献[7]研究多尺度极差熵和专家森林的轴承故障诊断方法。文献[8]将形态滤波和自适应变分模态分解相结合,对滚动轴承进行故障诊断研究。文献[9]提出了生成对抗网络的深层无监督神经网络模型,完成对滚动轴承的故障诊断。在文献[10]中,引入了改进变分模态分解与去干扰包络谱特征因子相结合算法,对不同故障程度的轴承内圈、外圈故障进行故障诊断。文献[11]提出多变工况归一化卷积神经网络(CNN)的滚动轴承智能故障诊断方法,利用辛辛那提轴承数据对模型进行验证。文献[12]提出了一种基于堆栈稀疏自编码和支持向量机的滚动轴承故障诊断方法,建立了无监督学习轴承故障诊断模型。文献[13]采用鲁棒局部均值分解和同步提取小波变换方法对变转速轴承实验,研究其故障特征频率曲线,对滚动轴承进行故障诊断。文献[14]采用小波滤波算法对滚动轴承的振动微弱信号进行特征提取,建立了轴承故障预测模型。文献[15]结合多域信息融合与改进残差密集网络进行深度学习,建立了轴承故障诊断模型。文献[16-17]采用混合模型预测滚动轴承使用寿命,验证了预测算法的鲁棒性。文献[18]基于长短期记忆网络建立了轴承故障诊断模型。文献[19]提出一种基于深度距离度量学习的滚动轴承智能故障诊断方法,采用深度卷积神经网络训练模型。文献[20]提出了变分模态分解和层次时间记忆的水轮机轴承异常检测方法。文献[21]采用无监督机器学习方法对风力机轴承进行故障检测与诊断。但现有研究对于VMD分解超参数很多没有进行优化处理,对于现有故障类型没有分类,只是单纯的进行故障诊断。
因此本文针对于轴承振动信号信噪比低,环境噪声大,难以提取真实的故障频率和解决端点效应和模态混叠等问题,将VMD与鲸鱼算法(WOA)结合,以最小包络熵为适应度函数,对分解层数k与惩罚因子α进行寻优处理,提取特征信号,建立极限梯度提升(XGBoost)分类模型,对轴承故障类型识别分类,通过数值模拟信号和实际试验数据验证本方法的优越性和可行性。
1 基本理论
1.1 VMD算法
本文利用变分模态分解算法(VMD)对采集的多源信号数据分别进行分解。VMD是一种时频分析方法,能够将信号一次性分解成多个单分量调幅调频信号,采用非完全递归的处理方法,与EMD分解算法相比,能够有效避免模态混叠和端点效应等问题。
VMD算法是将信号f(t)分解为K个模态函数uk,分解得到的每个本征模态函数具有固定的中心频率ωk和频带宽度,而且使得每个本征模态函数的估计带宽之和最小。其建立的约束变分模型表达式如下式:
(1)
(2)
式中:δ(t)为冲击函数,K为信号分解得到的本征模态数量;uk为信号U分解得到的第k个本征模态分量;j为旋转算子;ωk为第k个本征模态函数的中心频率,Hz。
引入惩罚因子α和拉格朗日乘子λ(t)将上述等式约束变分问题等效为一个无约束变分问题。惩罚因子α是为了降低高斯噪声干扰,保证在强噪声下信号重构精度,拉格朗日乘子λ(t)保证约束条件的严格性,因此得到增广拉格朗日表达式为:
(3)
利用乘子交替方向算法(ADMM)求解转变后的无约束变分方程,通过不断更新迭代uk,ωk,λ,得到增广拉格朗日鞍点即为所求问题最优解。由于傅里叶变换的等效性,因此利用Parseval定理在频域内求解,本征模态uk、中心频率ωk和拉格朗日乘子λ(t)通过式(4)(5)(6)进行更行。
(4)
(5)
(6)
式中,f(w)是f(t)的傅里叶变换;τ为更新参数;ωk,n+1为当前本征模态函数的中心频率。扩展拉格朗日鞍点收敛约束如下所示:
(7)
式中:ε为一正极小给定值,属于计算精度。
VMD算法步骤如下:
① 初始化{uk},{ωk},{λk}和n=0;
②n=n+1,进入循环;
③ 根据公式(4)(5)(6)进行更新,直至分解个数达到K;
④ 若满足鞍点收敛条件,停止循环;否则进入步骤②继续循环。
VMD信号分解流程如图1所示。
▲图1 VMD分解流程图
1.2 WOA优化算法
WOA算法源自于自然界座头鲸群体捕食行为的模拟,通过鲸鱼群体包围、追捕、攻击猎物等实现优化搜索。算法开始先在搜索空间中随机产生N头鲸鱼个体组成初始种群,然后在进化过中群体根据当前最优鲸鱼个体或随机选取一个鲸鱼个体更新各自的位置。最后根据随机产生的数p决定鲸鱼个体进行螺旋或包围运动,通过循环迭代直至找到最优解。鲸鱼收缩包围机制位置更新公式为:
D=|C·X*(t)-X(t)|
(8)
X(t+1)=X*(t)-A·D
(9)
式中:t为当前迭代次数;X*为猎物位置;A和C为系数向量,A和C可定义为:
A=2a·r1-a
(10)
C=2·r2
(11)
式中:r1和r2为[0,1]之间的随机向量;a为收敛因子,它随着迭代次数增加,从2线性地减小到0,即
(12)
式中:tmax为最大迭代次数。
螺旋更新位置方法中,模拟鲸鱼螺旋式运动以捕获猎物,其公式如下:
(13)
D′=|Xp(t)-X(t)|
(14)
式中:D′为第i只鲸鱼与猎物之间的距离;b为用于限定对数螺旋形状的常数;l为[-1,1]之间的常数。为了模拟该行为,在优化过程中,选择收缩包围机制与螺旋位置更新,概率p均为0.5。
鲸鱼优化算法流程如图2所示。
▲图2 WOA算法流程图
WOA-VMD详细过程如图3。其中,kmax为最大迭代次数。
1.3 VMD虚假分量剔除
VMD分解得到的各本征模态分量频率是严格由高到底排序,随着频率的衰减,各模态能量也随之衰减。基于能量衰减法,比较各分解模态能量是否符合能量衰减趋势,从而剔除虚假分量。能量比公式为:
(15)
式中:EIMFi为第i分量的能量,EX为原始信号能量,εi为能量比。
剔除步骤如下:
① 根据VMD分解理论,各模态能量逐渐递减。
② 设定能量波动阈值。根据Huang正交性指标,设定εi阈值为0.05。当εi<0.05且不符合条件1时,此分量为虚假分量;若εi>0.05但不符合条件1,则需要考虑工频干扰。
▲图3 WOA-VMD流程图
1.4 WOA-VMD与XGBoost结合特征识别
XGBoost是基于Boosting基本思想将多个弱学习器通过一定的方法整合成一个强学习器,弱评估器一般为决策树,算法对样本xi输出的结果H(xi)为:
(16)
式中:K为总共建立的二叉树总量fk(xi)为第k个弱评估器上样本xi的输出结果。
对于第k次迭代,则有:
Hk(xi)=Hk-1(xi)+ηfk(xi)
(17)
式中:η为学习率。
对于上述建立的第一个弱评估器有:
H1(xi)=H0(xi)+ηf1(xi)
(18)
式中:H0(x0)为:
(19)
式中:yi为样本真实标签;M为又放回抽样的总样本量;C为样本真实标签的均值。
与传统梯度提升树相比,XGBoost并不是向着损失函数最小的方向运行,而是向着目标函数最小化的方向运行。XGBoost目标函数是针对每一棵树,对于任意树fk,目标函数由两部分组成,其一为可微的损失函数,用来评估模型预测值与真实值之间的损失或误差,它控制模型的经验风险;另一部分为模型的复杂度,正则化项倾向于选择简单模型,避免过拟合,目标函数Obj为:
(20)
(21)
式中:第一项通过叶子节点数及其系数控制树的复杂度,值越大则目标函数越大,从而抑制模型的复杂度;第二项为二范数正则项,用于控制叶子节点的权重分数。
对于目标函数引入泰勒公式近似,其泰勒展开式为:
(22)
式中:gi为损失函数的一阶偏导数;hi为损失函数的二阶偏导数。gi、hi分别如下:
(23)
(24)
目标函数中的第一项为常数项,不影响优化结果,因此对上(22)式进一步简化,则转化为
(25)
式中:ωj为叶子节点权重;λ为依照叶子权重的大小对目标函数施加的惩罚系数;λ为依照叶子总量对目标函数施加的惩罚系数。
式(25)中,fk(xi)实质是一个树模型,每个样本必定会划分到该模型的某个叶子节点上,因此,可以将式(25)改写为:
(26)
式中:Ij为叶子节点j的样本集,即落在叶子节点j的所有样本。fk(xi)将样本划分到叶子节点,计算得到该叶子节点的分数ω,因此当i∈Ij时,可以用ωj代替fk(xi)。
(27)
由上式可知,叶子权重不仅与损失函数一阶、二阶偏导数有关,同时还与正则系数λ有关。正则系数可以起到缩小叶子节点权重,从而防止过拟合。
(28)
(29)
式(28)、(29)可以作为评价一个树模型的评价函数,评分越小,表示该树模型越好,相反树模型越差。
本文所提出的WOA-VMD-XGBoost流程图如4所示。首先对各参数进行初始化, 不同组合[k,α]对应的VMD分解的各本征模态分量的平均包络熵。经过优化空间寻找最小平均包络熵,保存最佳分解参数k*和α*。由最佳参数分解得到的本征模态分量进行极限梯度提升(XGBoost)建模,XGBoost树模型通过CART实现集成学习,通过算法优化,可以显著提高模型训练精度,最终识别故障类型。
▲图4 WOA-VMD-XGBoost流程图
2 实验与分析
2.1 仿真WOA-VMD信号分解
采用仿真信号对WOA-VMD算法进行实验验证,采样频率为40 kHz。信号采样点为2 000,仿真信号x(t)由8个基本信号组成,内圈固有频率,外圈固有频率,二倍频,四倍频,高频干扰信号以及噪声信号,nnoise是SNR为15的高斯白噪声信号。信号时域图如图5所示。
x(t)=1.25cos(2π×29.75)+0.74cos(2π×45.25)+
sin(2π×117.8)+0.45exp(-90.5)sin(2π×226.25)+
sin(2π×1 000)+0.75cos(2π×2 500)+
0.65cos(2π×5 000)+nnoise(t)
(30)
式中:nnoise为信噪比为15的高斯白噪声。
采用WOA-VMD算法对仿真信号进行分解,WOA与VMD初始化参数如表1所示。优化收敛过程如图6所示。当迭代至21次时,各分量包络熵和最小,此时得到最佳分解参数,各本征模态分量时频图如图7所示。由图可以看出本算法能够很好的识别出仿真信号各模态。
表1 WOA-VMD参数设置
▲图5 仿真信号时域图
▲图6 仿真信号收敛过程
▲图7 仿真信号频域图
2.2 实测信号分析
为了有效验证所提方法的合理性和有效性,采用实验轴承数据进行验证,该数据包含了轴承不同故障下的振动加速度数据。实验轴承型号为ER16K,轴承节径38.52 mm,滚子数为9,滚珠直径为7.94 mm。实验选取的轴承健康状况有正常、外圈缺陷、内圈缺陷、滚动体缺陷等四类轴承。轴承转速为500 r/min,内圈故障固有频率为45.25 Hz,外圈故障固有频率为29.75 Hz。石英加速度计采集轴承振动信号,采样频率为200 kHz,采样时间持续10 s,数据采集平台如图8所示。图9为实验数据时频图。
▲图8 实验数据采集
▲图9 实验信号时频图
从时域图发现,内圈故障振动辐值较大,且存在周期性;结合频域信号可看出内圈故障信号频率跨度较宽,信号噪声较大;外圈故障和滚动体故障信号振幅较低,噪声相对较小,信号比较平滑;正常轴承的振动信号频率范围窄,振动辐值最低。由于四种故障信号与正常信号存在模态混叠,时频图中无法看出明显的特征信号。对此,利用WOA-VMD优化算法对四种信号进行模态分解,验证WOA-VMD算法对信号分解和本征模态提取能力。
由时频图分析可知,原始数据存在一定噪声,会影响信号特征提取,因此采用相邻平均法分别对各类故障和正常信号进行光滑处理,降噪后的信号噪声较低,波形比较完整且光滑,信号表现出强烈的周期性,正常信号降噪后的时频图如图10所,WOA-VMD优化算法对降噪后信号模态分解,参数优化过程如图11所示,当迭代至第12步时,信号分解包络熵最小,此后分解信号包络熵几乎不变,此时VMD最佳分解参数为k=10,α=9 900。
▲图11 WOA-VMD收敛过程
根据此参数对原始信号分解。正常轴承振动信号模态分解时频图,从时域图看,周期性信号主要集中在前6个模态信号中,且信号能量值逐项递减。结合频域图,前两个模态分量存在一定的频域宽度,其他模态分量频带宽度较小,能够有效提取信号特征。利用能量波动法,求取每个IMF分量能量比,结果如图12所示。由图12可知,前六个IMF分量能量逐渐递减符合分解条件1,IMF7出现能量比反弹,需要考虑工频干预。后三个分量能量比均小于能量波动阈值,可认为是虚假分量,剔除此分量,因此正常轴承振动信号含有6个分量。利用此分量对信号进行重构,信号重构图如图14所示,6个分量能够很好的复现原始信号。由于篇幅有限,本文只展示了正常信号的特征提取与信号重构。
▲图12 降噪后WOA-VMD分解时频图
▲图13 正常信号能量柱状图
▲图14 信号重构图
利用上述方法分别对内圈故障、外圈故障以及滚动体故障信号分解与重构,每种信号分解分量占比图如图15所示,本图能够明显看出随着故障类型的改变,信号一倍频能量比在衰减,滚动体衰减最多;与正常轴承振动信号二倍频相比,故障轴承的二倍频能量比在增加,且滚动体故障二倍频能量比增加最多,且滚动体二倍频能量超过一倍频能量,这一显著特征能够很好的识别出此类故障。
▲图15 能量波动柱状图
对于内外圈故障信号与正常轴承振动信号需要建立多类分类器,本文建立集成学习XGBoost模型,对上述四类信号进行分类。对上述四类特征信号分别添加标签1、2、3、4,见表2。
2.3 可视化分析
每种故障类型选择120 000组样本数据,每组数据含有6个特征,共有480 000组样本,按比例6∶2∶2划分为训练集、验证集与测试集,交叉熵作为损失函数,模型训练过程如图16所示,迭代至第60次时,模型分类准确率达到95%以上,此时训练集交叉熵为0,测试交叉熵为0.185 6。验证集分类结果如图17所示。从图可以发现集成分类器有较好的分类效果,分类后每类故障分步间距明显增大,类内分布紧凑,故障类型之间存在分界线,能够明显的区分故障类型。
▲图16 XGBoost训练过程
▲图17 验证集分类结果
3 结论
本文提出一种WOA-VMD与XGBoost结合的滚动轴承故障诊断方法。利用WOA-VMD算法对四类轴承信号进行分解,本优化算法可以有效解决模态混叠和端点效应。对于分解后的信号采用能量波动法进行特征选取与信号重构,特征信号能够很好的重构原始信号。对于提取的特征信号建立了XGBoost集成学习模型分类器。主要结论如下:
(1) 滚动体发生故障时,能量主要集中在2倍频波形。根据这一样现象能够区分此类故障。
(2) 随着故障点的改变,振动信号的高频频率在衰减。
(3) 优化算法分解得到的特征信号经过XGBoost模型训练,能够对四类信号进行分类,分类效果良好。具有一定的实际应用价值。