APP下载

多模型融合下的滚动轴承故障诊断方法

2022-07-04龙,周

噪声与振动控制 2022年3期
关键词:分类器预处理故障诊断

张 龙,周 俊

(上海工程技术大学 机械与汽车工程学院,上海 201620)

滚动轴承在工业生产机械设备中扮演着不可或缺的角色,也是最常见、最易受损的部件之一,在变负载条件下,其运行状态复杂多变,一旦发生故障,轻则影响机械设备的正常运行,重则引起严重的安全事故,并造成巨大的经济损失及人员伤亡。因此对滚动轴承的质量检测、状态监测和故障诊断具有十分重大的意义[1-2]。

随着机器学习研究的不断深入,基于人工智能的数据驱动方法成为故障诊断领域研究的热点。工业生产迫切需要融合智能传感网络、智能诊断算法和智能决策预示的智能诊断系统[3]。徐统等[4]采用变分模态分解(Variational Mode Decomposition,VMD)将滚动轴承信号分解成若干个本征模态函数(Intrinsic Mode Function,IMF),然后分别计算原始信号和每个IMF 分量的K-L值,选择较小K-L值的两个IMF分量进一步计算其瞬时能量并组成特征向量,最后结合概率神经网络(Probabilistic Neural Network,PNN)建立故障诊断模型;袁宪锋等[5]利用栈式稀疏自编码网络(Stacked Sparse Auto Encoder,SSAE)来提取轴承信号中的故障特征,再利用改进的灰狼智能优化算法(Improved Grey Wolf Optimization,IGWO)实现对支持向量机(Support Vector Machine,SVM)的参数优化,最后基于优化后的SVM 完成对轴承故障特征的分类识别;尹爱军等[6]先提取轴承振动信号的小波包能量,构建融合特征矩阵,再利用高斯过程隐变量模型(Gauss Process Latent Variables Model,GP-LVM)提取其隐变量,最后利用K-最近邻分类算法(K-Nearest Neighbor,KNN)进行故障识别;黄大荣等[7]利用线性判别分析(Linear Discriminant Analysis,LDA)对轴承多重故障的无量纲指标数据进行线性映射降维处理,通过拉格朗日极值法获得最佳投影向量,最后将处理后的样本作为BP 神经网络(Back Propagation)的输入样本,实现对轴承多重故障的分类。

上述几种关于轴承的故障诊断研究方法均只采用了单一的分类器模型,这样不利于模型诊断性能得到进一步的提升。为了得到一个泛化能力更强、鲁棒性更好的诊断模型,本文提出一种基于WELCH 算法的多模型融合的滚动轴承故障诊断方法。首先用WELCH功率谱算法对原始振动信号进行预处理,然后将LDA、SVM、KNN 和PNN 四种分类器与Stacking算法相结合构造Stacking-SVM集成模型;最后验证该集成模型在不同电机转速下的诊断性能及抗噪性测试。

1 理论基础

1.1 WELCH功率谱算法

WELCH 功率谱是一种有效且实用的经典的谱估计运算,具有很好的信号分析能力。主要通过窗函数在被分析数据串上滑动截取数据并进行交叠,使数据中被截取的段数增加,并且对每一段被截取的数据都进行求取功率谱转换并平均后叠加,从而使得转换后的信号数据更加平滑。这样不仅降低了谱估计方差,还减少了对信号分辨率的破坏,对信号所蕴藏的信息进行有效的保留,且计算量相对较小,对故障特征的提取相对平稳[8-9]。

WELCH 算法进行功率谱转换主要由参数及窗函数的确定、数据分段、部分重叠几个步骤组成[10]。

其中:x(n)的长度为N,被分成了L段,每一段包含M个数据,ω(n)为窗函数,为归一化因子,它的存在使得功率谱估计是渐近无偏估计。

1.2 集成学习——Stacking算法

Stacking算法是一种著名的集成学习算法,也可以看作是一种特殊的集成策略。首先将原始数据集按比例分为训练集和测试集,再用训练集结合交叉验证训练出初级学习器,然后生成一个新的数据集用来训练元级学习器。在这个新的数据集中,初级学习器的输出结果被当作样本的输入特征,而初始样本的标记仍被当作样本标签。Stacking 算法原理如图1所示。

图1 Stacking算法

2 集成学习模型

集成学习是将不同的模型通过一定的结合策略组成一个元模型,可有效解决单一模型效率低、泛化能力差的问题。参与集成的模型可以是单一的模型分类器,也可以是多种不同的分类器模型。本文则采用LDA、SVM、KNN和PNN四种不同的分类器通过结合Stacking 算法进行集成,同时选取不同的元分类器进行对比选择最优的Stacking 集成学习模型。

2.1 基分类器

线性判别分析(LDA),又称Fisher判别分析,是一种有监督学习的分类和降维方法,既可以用来提取样本特征,又可以用来进行样本分类识别。首先给定训练集样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别[11]。

支持向量机(SVM)是机器学习算法中应用很广的一种分类算法。首先给定一个训练样本集D={ (x1,y1),(x2,y2),…,(xm,ym)},y∈{ -1,1 },在包含训练集D的样本空间中,我们需要找到一个划分超平面,将不同种类的样本数据区分开,并使其间隔最大化[12]。

在样本空间中,划分超平面可由下面的线性方程来描述:

其中:ωT为权重向量,b为位移项。

K近邻算法(KNN)是通过计算待分类样本及其最近的k个样本间距作为诊断指标,对待测样本进行分类。KNN无需估计参数及训练,适用于多分类问题[13]。样本间距计算式为:

式中:xi,yi——样本点在多维空间中的坐标。

概率神经网络(PNN)是由径向基函数网络(Radial Basis Function Network,RBF)发展而来的一种前馈型神经网络,其理论依据是贝叶斯最小风险准则(即贝叶斯决策理论)。与其他类型的神经网络相比,其优势在于结构相对简单,训练简洁,是一种应用广泛的人工神经网络。PNN 的层次模型由输入层、模式层、求和层和输出层组成[14]。

2.2 Stacking集成模型

首先将已知故障状态的滚动轴承的原始振动信号通过WELCH 算法进行预处理,然后从功率谱中提取相关特征参数,作为输入样本向量,将训练集结合5折交叉验证分别训练LDA、SVM、KNN和PNN4种分类器,将其对应的输出结果进行重组得到一个新的含有四种特征的数据集,再训练元分类器;同时将测试集对单个分类器的输出结果进行累加取平均值,作为新的测试集输入到元分类器中进行测试。图2为基于WELCH算法的Stacking集成模型。

图2 基于WELCH算法的Stacking集成学习模型

3 实验结果与分析

3.1 数据介绍

数据集来自Case Western Reserve University 轴承数据中心。选取了电机转速为1 730 r/min、1 750 r/min、1 772 r/min、1 797 r/min,采样频率为12 kHz下的驱动端滚动轴承数据,分成10 种故障类型,分别为正常状态以及内圈、外圈和滚动体故障直径分别为0.18 mm、0.36 mm、0.53 mm下的故障。每个样本包含1 200个采样点,其中每一种故障状态都选取了100个样本,总共1 000个样本数据。每种故障类型选取90个样本作为训练集,共900个,剩余的作为测试集,共100个。表1为转速为1 772 r/min下的实验数据集。图3 为滚动轴承正常状态下的振动波形图。

图3 正常状态下的振动波形图

表1 实验数据集

3.2 特征提取

将滚动轴承的原始振动信号通过WELCH算法进行预处理,选取采样点数为1 200,FFT 点数为600,采用矩形窗,窗函数长度设置为100,重叠样本数为25。图4 为正常状态下的轴承信号经WELCH算法预处理后的功率谱。从功率谱中获得峭度Xku、偏度Xsk、波形因子XS、峰值因子XC、脉冲因子XZ和裕度因子XL六个参数,作为输入。部分相关数据见表2。

表2 部分特征向量数据

图4 WELCH算法预处理后的功率谱

信号处理方法的不同对于故障特征提取具有很大的影响,选取合适的信号处理方法可以增强故障特征,进而可以大大提升故障诊断准确率。本文选取周期图法、希尔伯特变换(Hilbert)、傅里叶变换(FFT)和WELCH功率谱算法进行实验对比,并选用SVM作为该实验的故障诊断模型。诊断结果如图5所示。

图5 不同预处理方法下的诊断准确率

当对轴承的原始振动信号使用不同的信号处理方法,均能达到提高故障诊断准确率的效果。经WELCH算法预处理后的故障信号在SVM下能达到95%的诊断准确率,高于其余三种信号处理方法,最大相差了11%。因此,对原始信号有必要选用一定的信号处理方法用来增强不同信号的故障特征;但是,不同的信号处理方法各有优势,选取合适且优异的方法将更有利于故障特征的识别。

3.3 故障识别

Stacking 集成模型第一层采用LDA、SVM、KNN和PNN作为基分类器,首先分别对这四种单一分类器进行实验,其诊断结果如表3 所示。未进行预处理的数据的故障诊断准确率仅在76%~90%之间,波动幅度较大,且准确率相对较低,不能对故障进行很好的识别。经WELCH算法预处理后的故障诊断准确率明显优于未进行预处理的数据,故障诊断准确率能达到91%~97%,有了很大的提升。由于各个分类器的诊断机理不同,诊断结果存在较大差异,但采用WELCH算法预处理后,各个分类器均能对轴承故障有着一定的识别能力。

表3 基分类器故障诊断准确率

Stacking 集成模型第一层选用该四种单一分类器的二种或三种,第二层选用SVM分类器作为元分类器进行实验,其诊断结果如表4 所示。当选择部分分类器进行结合时,即Stacking 集成模型第二层的数据集样本特征会相对减少,这会影响最终的诊断准确率。因此,在条件允许的情况下,应尽量多地选择分类精度较好的分类器进行结合,增加样本的特征数,以此来提升模型的诊断性能。

表4 不同分类器个数的集成模型诊断性能

Stacking 集成模型第二层分别采用各个单一分类器进行对比实验,选择诊断性能最优的一个集成模型,其诊断结果如表5所示。

表5 不同结构的Stacking集成模型的诊断性能

当Stacking 集成模型选用SVM 分类器作为第二层的时候,该集成模型的整体性能有了一定的提升;选择其余3种分类器作为元分类器时,该集成模型的诊断性能有所下降,在选用KNN 时,诊断准确率仅有93%。因此,选用这种结构简单、发展成熟的SVM分类器作为Stacking集成模型的第2层有利于提高模型的整体性能,诊断准确率为98%。图6为4种基分类器和Stacking-SVM集成模型对不同故障类型的诊断准确率。

图6 不同模型下的诊断性能

3.4 不同工况下实验测试

本文提出的Stacking-SVM 集成模型针对的是电机转速为1 772 r/min 下的滚动轴承的故障诊断,为验证该模型是否在其他电机转速下一样具有良好的诊断性能,故设定以下实验。将电机转速为1 730 r/min,1 750 r/min,1 772 r/min 和1 797 r/min 下的轴承数据分别用该集成模型进行实验。诊断结果如图7所示。

结合图7和表6可知,该集成模型对于不同电机转速下的故障诊断效果相对均衡,诊断准确率分别为98 %、98 %、98 %和92 %。仅在电机转速为1 797 r/min,滚动体故障直径在0.36 mm 的情况下,诊断准确率较低,出现了较多的预测错误。分析其原因,可能与滚动体本身的工作原理有关,在转速稍高的情况下,导致所采集的振动数据不规则且具有随机性,从而导致诊断准确率偏低。但在大部分情况下,该Stacking-SVM集成模型还是能很好的识别不同电机转速下的故障类型,诊断性能稳定且具有一定的适应性和泛化能力。

图7 不同电机转速下的诊断性能

表6 不同电机转速下的诊断准确率/(%)

3.5 噪声实验测试

为验证该Stacking-SVM 集成模型在噪声条件下的诊断性能,在电机转速为1 772 r/min的工况下,给每类故障的原始信号中分别加入信噪比(signalto-noise ratio,SNR)为-8 dB~8 dB 的高斯白噪声构成带有噪声的数据集。实验结果如表7所示。

表7 不同信噪比下的模型诊断结果

SNR的定义如下:

式中:Ps——原始信号能量大小;

Pn——噪声信号能量大小。

由表7 可知,该Stacking-SVM 集成模型具有一定的抗噪性,随着SNR 值的减少,也就是说随着噪声干扰的增强,故障诊断准确率也在不断下降,但下降幅度相对平缓。在SNR=-6 dB 时也能达到70%的准确率,但是当SNR达到-8 dB时,诊断准确率仅有61%。因此当工作环境中背景噪声过于强大时,则不能完全依靠诊断模型自身的抗噪性能,对于所采集的原始振动信号也应适当地进行一些降噪处理,避免故障信号的特征丢失,从而影响故障的诊断结果。

4 结语

本文对旋转机械领域的滚动轴承故障诊断进行了研究,提出了一种基于WELCH 算法的多模型融合的滚动轴承故障诊断方法,得出以下结论:

(1)经过WELCH 功率谱算法预处理后的轴承数据故障诊断准确率更高,对于四种单一分类器模型,预处理前后的诊断误差最高能达到16%;

(2)在Stacking-SVM 集成模型的第一层中,应尽可能选择更多分类精度高的分类器进行结合,增加该模型第二层输入数据集的特征数,来提升该模型的诊断性能;

(3)相比较各个单一分类器模型,本文提出的Stacking-SVM 集成模型对于轴承诊断精度更高,诊断准确率为98%;并且在不同工况下的诊断性能相对平稳,有一定的适用性和泛化能力,并具有一定的抗噪性。

猜你喜欢

分类器预处理故障诊断
求解奇异线性系统的右预处理MINRES 方法
学贯中西(6):阐述ML分类器的工作流程
基于包络解调原理的低转速滚动轴承故障诊断
污泥预处理及其在硅酸盐制品中的运用
基于朴素Bayes组合的简易集成分类器①
基于特征选择的SVM选择性集成学习方法
数控机床电气系统的故障诊断与维修
基于预处理MUSIC算法的分布式阵列DOA估计
基于差异性测度的遥感自适应分类器选择
基于量子万有引力搜索的SVM自驾故障诊断