摘要
为了更加有效地挖掘滚动轴承信号中所具有的非线性信息并提高轴承故障诊断的准确率,提出一种基于递归分析和Stacking集成学习的轴承故障诊断方法.通过递归分析理论将轴承信号中的非线性信息映射到二维递归图中,分别从图像识别和递归定量分析的角度出发,对应建立了卷积神经网络和支持向量机两个子模型.使用Stacking方法将两个模型进行集成,可以在一定程度上结合两个模型的不同特点,充分发挥两个不同模型的优势.实验结果表明,该方法可以有效提高轴承振动信号的分类准确率,并在不同负载条件下表现出色且稳定,为轴承故障诊断提供了一种可靠的解决方案.
关键词
Abstract
Here,a bearing fault diagnosis method based on recurrence analysis and Stacking ensemble learning is proposed to effectively extract nonlinear information from rolling bearing signals and improve diagnostic accuracy.Firstly,the nonlinear information in bearing signals is mapped to a two-dimensional recurrence plot through the application of recurrence analysis theory.Convolutional Neural Network (CNN) and Support Vector Machine (SVM) models are established from the perspectives of image recognition and recurrence quantification analysis,respectively.Finally,the Stacking method is employed to integrate these two models,leveraging their respective strengths.Experimental results demonstrate that the proposed method significantly improves the classification accuracy of bearing vibration signals and exhibits excellent stability under varying load conditions,providing a reliable solution for bearing fault diagnosis.
0 引言
随着现代科学技术的迅猛发展,机械设备正朝大规模和复杂化的方向发展.一旦在运行过程中发生故障,将对经济等方面造成重大损失.滚动轴承是旋转机械中最常见且容易损坏的机械零件之一.因此,对滚动轴承的质量检查、状态监测和故障诊断具有重要意义[1].
目前在轴承振动信号的分析研究中,主要使用的分析方法包括时域、频域和时频域等.Gao等[2]使用短时傅里叶变换对轴承故障特征进行提取,通过非负矩阵对提取到的特征进行降维,最后使用聚类算法实现了对轴承的故障诊断.黄珊珊等[3]提出一种基于高密度小波变换的轴承故障诊断方法,该方法结合了高密度小波变换、软阈值降噪和频谱分析,能够精确划分信号尺度并有效提取轴承不同故障类型的特征频率.Cheng等[4]提出一种基于经验模态分解和自回归模型的滚动轴承故障特征提取方法,该方法从每个经过经验模态分解得到的分量信号自回归模型中提取轴承故障特征,之后使用马氏距离判别滚动轴承的状态和故障模式.但是,滚动轴承在运行过程中属于非线性时变动力系统,轴承振动信号中包含丰富的非线性信息,因时域等线性分析方法会导致信号中非线性信息的丢失,对非线性的轴承振动信号进行处理并不适合.
递归分析是一种分析时间序列的周期性、混沌性和非平稳性的非线性方法,主要包括递归图(Recurrence Plot,RP)和递归定量分析(Recurrence Quantification Analysis,RQA)[5].它能够有效捕捉信号的非线性动力特征,并且不要求信号平稳性,对信号长度也没有严格要求,因此被广泛应用于天体物理学、生物学、神经科学等领域[6].
将递归分析用于非线性轴承振动信号的智能诊断大致分为两个组合.其一为对使用递归分析理论所得到的二维RP图像进行RQA分析,然后与传统机器学习模型进行结合;其二为直接通过深度学习技术对二维RP图像进行非线性特征提取并完成诊断任务.周勃[7]使用递归分析理论将滚动轴承信号转换成二维RP图像,之后对该图像使用RQA提取信号内部的非线性动力特征并将其作为支持向量机(Support Vector Machine,SVM)的输入,实现滚动轴承的故障诊断任务.成洁等[8]将收集到的轴承振动信号转换为二维RP图像,通过局部非负矩阵分解算法自适应地提取RP中特征参数,使用分类器实现轴承故障诊断.施保华等[9]将非线性的振动信号转换为RP图像后,将其输入到改进的增强残差神经网络模型中,对轴承故障进行诊断.
上述两种组合方法均取得了良好的诊断效果,但是依旧存在以下弊端:RP的构建受阈值影响,不恰当的阈值选取会导致非线性信息的丢失;在对信号进行诊断时仅仅使用一个独立的模型进行处理,具有一定的局限性.因此,在递归分析具有良好挖掘信号非线性特征的能力基础上,将集成学习引入轴承故障诊断领域,以提高其故障诊断率.基于此,本文提出一种基于递归分析和Stacking集成方法的轴承故障诊断方法.基于每种方法对信号进行处理后提取的参数类型,选择合适的分类模型与之对应.针对RQA得到的结构化参数类型采用SVM构建分类模型.为了避免阈值对非线性信息丢失的影响,将轴承振动信号转换为无阈值RP,对于无阈值RP这类非结构化参数类型,则采用CNN建立分类模型.最后通过Stacking集成学习方法将上述分类模型进行集成,结合不同模型的优势,进一步提高轴承信号诊断的分类准确性.
1 基础知识
1.1 递归分析理论
递归分析理论是研究系统动态特性的重要工具,它可以将信号的动态特性映射到二维RP图像上,从而更加直观地展示信号的动态特性.相空间重构是构建RP的基础和第一步.假设一个长度为n的序列t={t1,t2,···,tn},根据Takens[10]嵌入理论和时间延迟方法,该序列可通过相空间重构,得到一系列新的相空间轨迹T:
(1)
其中:m为嵌入维数;τ为时间延迟;T(i)表示t的第i个重构的相空间轨迹.基于此,可以定义
(2)
其中:‖·‖表示欧式范数;Θ(·)表示Heaviside函数;ε为递归阈值参数;R(i,j)是一个长度为n-(m-1)τ的方阵.式(2)意味着如果T(i)和T(j)之间的欧式距离大于ε,则R(i,j)=0,即一个非递归点(白点)位于二维空间的(i,j)处;否则,R(i,j)=1,即一个递归点(黑点)位于二维空间的(i,j)处.对R进行绘制后,所得到的图形即是一个RP.
在计算RP时,其中关键参数之一为ε.如果ε太小,可能几乎没有递归点,导致无法了解任何关于底层系统的递归结构;如果ε太大,会导致相空间内的大部分状态趋于相似.不恰当的ε选择将导致RP丧失大量细节信息,无法准确地反映轴承振动信号中所隐藏的非线性动力学特征.图1展示了一段轴承振动信号及其对应的RP图像和无阈值RP图像.图1b是ε取值为原始信号标准差的5%时的RP,可以发现因为ε取值过小,白色点数目激增,即大部分相空间内的状态都是相似的.图1c是ε取值为原始信号标准差的50%的RP,与图1d的无阈值RP相比,虽然其可以直观地表现出轴承振动信号中所含有的递归特性,但是缺少细节信息.因此,本文选择将轴承振动信号转换为无阈值RP,避免了由于ε的选择不当而导致轴承振动信号丢失大量的非线性信息情况发生.
RQA量化了由递归点和非递归点组成的RP内的线结构.它考虑了三种不同类型的线,每一种线都被分配了特定的语义:对角线(递归点)、垂直线(递归点)和白色垂直线(非递归点).
图2给出了通过对一段时间序列进行相空间重构得到的RP图像,其中,长度为3的对角线、长度为3的垂直线和长度为5的白色垂直线被突出显示.从RP中线的分布中可推导出如下递归特征.
1)递归率(Recurrence Rate,RR)是RP中黑色像素点的百分比,即RP中递归点密度的一种度量指标,其定义如式(3)所示:
(3)
其中:N=n-(m-1)τ.
2)确定性(Determinism,DET)是衡量系统可预测性的一个标准,其定义如式(4)所示:
(4)
其中:l表示对角线的长度;lmin为对角线长度的最小值;P(l)表示长度为l对角线的频数.DET的值越高表示系统越稳定,即非随机系统.
3)香农熵(Shannon Entropy,ENTR)表示系统的复杂性,分为对角线香农熵(LENTR)、垂直线香农熵(VENTR)和白色垂直线香农熵(WENTR),其定义如式(5)所示:

图1不同阈值下的轴承振动信号RP
Fig.1Recurrence plots of bearing vibration signal with different thresholds

图2RP图像实例
Fig.2Recurrence plot example
(5)
其中:lmin,vmin,wmin分别为对角线长度、垂直线长度、白色垂直线长度的最小值;p(l),p(v),p(w)分别表示长度为l的对角线、长度为v的垂直线、长度为w的白色垂直线的比例.
4)层流性(Laminarity,LAM)对应于系统的层流系数,其定义如式(6)所示:
(6)
其中,LAM与RP点的间歇性有关.
5)捕获时间(Trapping Time,TT)表示平均垂直线长度,其定义如式(7)所示:
(7)
其中:TT为垂直线平均长度,它估计了一个RP状态被捕获的平均时间.
基于这些特征可以进一步定义对角线平均长度(Average Diagonal Length,ADL)、最长对角线长度(Longest Diagonal Length,LDL)、最长垂直线长度(Longest Vertical Length,LVL)、白色垂直线平均长度(Average White Vertical Length,AWVL)、最长白色垂直线长度(Longest White Vertical Length,LWVL).定义散度(Divergence,DIV)为LDL的逆,VDIV为LWVL的逆,LAM/DET为层流性与确定性的比率,DET/RR为确定性与递归率的比率.
1.2 卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN)由于其局部连接和权重共享的特性,在语音识别、计算机视觉和其他领域已成为主流模型.CNN通常由卷积层、池化层和全连接层交叉堆叠而成[11].
卷积层通过对输入数据进行卷积运算来进行特征提取.池化层,也称为下采样层,主要用于减少网络参数.卷积后得到的特征图的维度将增加,如果直接将其用于训练,网络的计算量和复杂度将大大增加,并且容易导致过拟合现象.因此,使用池化层来降低提取的特征图的维度是必要的,最常用的池化层是最大池化层.全连接层的作用主要是实现分类任务,将网络学到的特征在一维空间进行向量化,通常设置在CNN的最后.
1.3 支持向量机(SVM)
SVM是具有严谨数学理论的经典二分类模型,在多分类任务中也表现出了优异的性能[12].非线性SVM通过使用核技巧和软间隔最大化,在高维特征空间中构建最大软间隔分离超平面,完成最终的分类诊断.SVM的数学模型如式(8)所示:
(8)
其中:xi,yi分别为第i个样本的特征和类别;N为样本数量;ω为分离超平面的法向量;C为惩罚系数;b为偏移量;ξi为松弛变量.本文使用高斯径向基核函数,构建的分类决策函数如下:
(9)
其中:x为待分类样本的特征;σ为高斯径向基核函数中的标准差函数;α*i为对偶问题的最优解;b*为原问题最优解中b的值.
1.4 Stacking集成学习
集成学习通过将多个基分类器进行组合,以提高预测性能和泛化能力,可以在复杂的问题上取得更好的表现.Stacking集成学习作为集成学习方法中的一种,在机器学习竞赛、预测分析、异常检测和自然语言处理等领域均被广泛使用[13].Stacking集成学习的主要思想是结合多个基分类器的预测结果,训练一个元分类器来提高整体预测性能和泛化能力.具体来说,Stacking集成学习采用并行方式,使用相同或不同类型的基分类器获得初步预测值,并使用元分类器根据不同的基分类器之间的输出差异,进一步优化初步预测值.Stacking方法的流程如图3所示:首先,将训练集数据输入到同质或异质的基分类器中,从而得到中间预测结果;然后,将多个基分类器的预测结果输入到元分类器中进行训练后,从而得到最终预测结果.

图3Stacking方法流程
Fig.3Schematic diagram of Stacking method
2 模型设计
Stacking集成学习中对于基分类器的选择是一个重点.对于基分类器的选择,应该遵循“好但不同”的原则,即基分类器尽可能具有最佳的预测准确性,同时基分类器之间应该有差异.这通常意味着使用不同的框架.因此,最佳的集成方法是尽可能集成一组不同的模型,同时这组模型需要具有尽可能高的预测能力.考虑到RP和RQA的特征参数类型,本文选择SVM和CNN作为基分类器.具体来说,对于RQA处理后得到的结构化数据,使用SVM建立分类模型;对于非结构化数据无阈值RP,使用CNN建立分类模型.此外,元分类器的任务是对多个基分类器的预测结果进行整合,由于基分类器可能存在误差或局限性,元分类器需要能够处理非线性关系,以捕捉更复杂的模式和特征.考虑到元分类器的简洁性和非线性,选择构建一个两层的全连接神经网络(Fully Connected Neural Network,FCNN)作为Stacking集成模型的元分类器.
本文构建的CNN网络框架如图4所示.该CNN网络包含3个卷积层、3个最大池化层、1个全局平均池化层和1个全连接层.此外,为了快速有效地对轴承故障进行诊断,在CNN模型中添加了批归一化(Batch Normalization,BN)层和Dropout来减少过拟合并加快模型训练速度,同时增强网络的泛化能力.传统CNN中的Flatten层被全局平均池化层替代,这将有效减少CNN中的大量复杂参数,提高诊断速度,并防止过拟合的发生.
本文所提出的基于递归分析和Stacking集成方法的轴承故障诊断方法的流程如图5所示.具体流程步骤如下:将轴承振动信号转换为无阈值RP,然后使用CNN自动提取其非线性特征和学习后,得到初步预测结果;使用RQA对轴承信号进行处理,得到一系列递归特征参数,以此作为SVM的输入并获得初步预测结果;将两个基分类器的预测结果拼接成一个新的数据集;最后,使用新生成的数据集作为元分类器FCNN的输入,进一步优化初步预测结果后,可得到最终预测结果.
3 实验结果与分析
3.1 实验数据
本文使用美国凯斯西储大学的滚动轴承故障实验台的实验数据[14].图6为轴承故障实验台,该实验台共布置了3个振动加速度传感器,分别安装在电动机的驱动端和风扇端的机罩外壳上以及基底上.分别对0 hp(1 797 r/min)、1 hp(1 772 r/min)、2 hp(1 750 r/min)和3 hp(1 730 r/min)4种负载条件下的轴承振动数据进行了采集,所有数据的采样频率均为12 kHz,采样时间为10 s.

图4CNN框架
Fig.4CNN frame chart

图5基于递归分析和Stacking集成方法的轴承故障诊断方法流程
Fig.5Flowchart of bearing fault diagnosis based on recursive analysis and Stacking ensemble method

图6滚动轴承试验台
Fig.6Test bed for rolling bearings
本实验选用4种负载条件下在驱动端的9种故障数据以及1种正常数据,故是一个10分类问题.9种故障分别为轴承的滚珠、内圈和外圈上植入的3个故障等级的凹坑,凹坑直径分别为0.177 8、0.355 4和0.533 4 mm.为了保留数据点之间的关联性特征,获得更多的训练样本,本文使用了基于滑动窗口重叠采样[15]的样本生成方法,其定义如下:
(10)
其中:I代表输入样本的数据点个数;W为滑动窗口的长度;S代表滑窗步长;ceil·表示向上取整函数;T表示新故障样本的数量.
4 种负载条件下的转速范围为1 730~1 797 r/min,12 kHz的采样频率下每秒采集约12 000个点.轴承每转一圈传感器采集的点数范围为400~416个数据点(12 000×60/1 730≈416),为保证故障数据的可信度,数据截断后每个样本的长度设置为500.根据式(10),选取滑动窗口为500,步长为120,对每种负载条件下的10种轴承类型进行处理,共可获得9 970个样本.将9 970个样本随机地划分为训练集(80%)和测试集(20%).
3.2 实验准备
本文实验的开源机器学习模型由Keras 2.4.3实现,开发环境为Python 3.8,操作系统为Windows 10,CPU采用Intel(R)Core(TM)i7-9750H,GPU采用NVIDIA GeForce GTX 1660Ti.
无阈值RP和RQA参数设置如下:m基于伪最近邻算法[16]设置为3,τ基于互信息算法[17]设置为1,ε依据经验设置为0.25.对于基分类器CNN,其参数设置为:3个卷积层中的卷积核个数分别为64、128和256,卷积核大小为3×3;2个最大池化层池化窗口大小为2×2,步长为2;1个全连接层神经元个数为512;激活函数选用ReLU函数;优化器选用Adam;初始学习率设置为0.001,如果训练损失在8轮内没有改善,学习率压缩至1/10;批处理大小为10;迭代次数为100;使用早停策略,如果训练损失在连续20轮内没有改善,则终止训练.对于基分类器SVM,选用高斯径向基核函数,惩罚系数C设置为10.此外,对于元分类器FCNN,2层的全连接层的神经元个数均为16,激活函数选用ReLU函数,优化器与学习率的设置和基分类器CNN一致,批处理大小为20,迭代次数为120.
3.3 故障诊断结果分析
首先,基分类器应该遵循“好但不同”的原则,对于无阈值RP这种非结构化数据选择CNN作为基分类器无疑是最适合的,但是对于使用RQA得到的结构化数据,无法确定最佳的基分类器.因此,为了确保基分类器能够遵循上述原则从而选择最佳的基分类器,对于RQA特征向量,将其分别作为随机森林(Random Forest,RF)、BP神经网络和SVM的输入,比较它们的分类效果和与基分类器CNN进行Stacking集成的效果.
表1展示了在负载条件为0 hp的轴承数据上,不同的基分类器分类结果以及与基分类器CNN进行Stacking集成的效果.从表1中可以看出,SVM作为基分类器效果最好,其次是RF,BPNN(反向传授神经网络)效果最差.尽管RF作为基分类器的效果优于BPNN,但是当与基分类器CNN进行Stacking集成后,集成效果低于BPNN与CNN进行集成的效果.这表明集成学习不仅仅关注基分类器的学习效果,还关注模型之间的差异性.
表1不同基分类器以及与CNN进行Stacking 集成在0 hp轴承数据集下的对比结果
Table1Comparison results of different base classifiers and Stacking ensemble with CNN on 0 hp bearing dataset

将基分类器SVM与基分类器CNN进行Stacking集成后,具有最佳的集成效果,平均精确率为99.5%,平均召回率为99.5%,准确率为99.5%.图7给出了SVM与CNN进行Stacking集成后的混淆矩阵,可以看出该方法仅在轴承类别B014存在少量误判,其余类别均完全识别正确,具备出色的轴承故障诊断性能.因此,本文选择SVM作为基分类器与CNN基分类器进行集成,这遵循了基分类器的选择标准,Stacking集成效果更优.

图7混淆矩阵
Fig.7Confusion matrix
为验证Stacking集成模型是否有效地集成了本文两个基分类器的不同优势,将Stacking集成模型与两个基分类器进行了对比实验.实验结果如表2所示,其中,10种轴承类型分别用标签0~10表示.由表2可知:基分类器SVM最低精确率为78.5%,最高精确率为100.0%,平均精确率为91.6%,最低召回率为80.0%,最高召回率为100.0%,平均召回率为91.5%;基分类器CNN最低精确率为77.9%,最高精确率为100.0%,平均精确率为95.4%,最低召回率为71.7%,最高召回率为100.0%,平均召回率为94.5%.基分类器SVM在类别2、3、6、8、9的精确率均大于等于基分类器CNN,在类别0、6、8、9召回率均大于等于基分类器CNN.因此,不同的基分类器都存在某个类别上的表现优于另一个基分类器,在某个类别上的表现劣于另一个基分类器,这说明不同的基分类器有着不同的优势.
将两个基分类器进行Stacking集成后,由表2可知最低精确率为96.8%,最高精确率为100.0%,平均精确率为99.5%,最低召回率为95.0%,最高召回率为100.0%,平均召回率为99.5%.集成模型在平均精确率和平均召回率两个方面均优于两个基分类器,实验结果说明通过Stacking方法将两个基分类器进行集成,将两个模型不同的优势进行整合,具有不同模型的优势,可以提高轴承故障的诊断效果.
t-SNE是一种将高维数据映射到低维数据的可视化方法[18].图8展示了基分类器SVM和CNN以及Stacking集成模型在0 hp轴承数据集下的t-SNE可视化结果.从图8a可以直观地看出,SVM的分类效果较一般,有5个类别的数据不能完全区分开;图8b展示出CNN相比SVM的分类结果略有改善,但也有两个类别的区分效果不佳;从图8c可以看出集成模型的分类效果最好,数据集完美地分为10组,且每个类别之间相距很远.所以,本文方法能够有效提高轴承故障的分类效果,并能够整合不同的分类器的优势,从而提高模型的识别准确性.
为了进一步验证本文所提出方法的优越性,将其与现有的轴承故障诊断方法在4种负载条件下进行比较.文献[19]将轴承振动信号直接作为BPNN的输入,通过网络训练和学习,得到了相应的分类结果.文献[20]利用轴承振动信号作为输入,通过一维CNN进行训练和学习,从而获得了相应的分类结果.文献[21]提出将轴承振动信号转换为二维振动图像(Vibration Image,VI)以表示其纹理特征,然后使用CNN进行训练并得到诊断结果.文献[22]首先使用小波包分解(Wavelet Packet Decomposition,WPDEC)处理轴承振动信号,然后对其进行预处理,并输入到CNN进行训练并得到故障诊断结果.
表2集成模型与基分类器对比结果
Table2Comparison results between ensemble model and base classifiers


图8基分类器SVM和CNN以及Stacking集成模型在0 hp轴承数据集下t-SNE可视化结果
Fig.8t-SNE visualization results of base classifiers SVM and CNN, as well as Stacking ensemble model, on 0 hp bearing dataset
表3展示了本文方法和现有的轴承故障诊断方法在4种负载条件下的对比结果.从表3可以直观地看出,本文方法在4种负载下的数据集上具有最佳的分类效果,平均准确率高达99.8%.BPNN、一维CNN、VI+CNN、WPDEC+CNN的平均准确率分别为87.7%、94.4%、94.9%和94.3%.与现有的轴承故障诊断方法对比,本文方法在准确率上分别提高了12.1、5.4、4.9和5.5个百分点,验证了该方法的有效性.
表3本文方法和现有的轴承故障诊断方法在4种负载条件下的对比结果
Table3Comparison results between the proposed method and existing bearing fault diagnosis methods under four different load conditions

最后,为了探索上述方法在不同负载条件的表现以及稳定性如何,将其应用到4种不同负载条件的轴承数据上进行观察.图9展示了不同轴承故障诊断方法在不同负载下的稳定性性能.从图9中可以看出,本文方法在不同负载下不仅保持着最高准确率,并且是最稳定的,准确率波动仅为0.5%.BPNN、一维CNN、VI+CNN、WPDEC+CNN准确率波动分别为7.5%、1.4%、2.4%和3.2%.这说明在不同的负载条件下,本文所提出的基于递归分析和Stacking集成学习的轴承故障诊断方法有效地将不同的基分类器的优势进行了整合,具有较高的诊断性能和良好的稳定性,不易受到外界环境等因素影响.

图9不同轴承故障诊断方法在不同负载下的稳定性
Fig.9Stability of different bearing fault diagnosis methods under varying loads
综上所述,尽管现有的轴承故障诊断方法都取得了良好的分类结果,但本文方法具有更加准确的分类准确率以及稳定性.通过Stacking整合具有不同递归分析模型的优势,可以有效提高轴承故障诊断的效果,并能在不同负载下保持高分类准确率和稳定性.因此,本文提出的方法是有效且实用的,可推广应用于实际工业场景中.
4 结语
针对现有轴承故障诊断方法不能有效利用滚动轴承振动信号中含有的非线性信息以及故障诊断准确率偏低等问题,本文将基于递归分析的两种轴承故障诊断方法通过Stacking集成学习方法进行结合,搭建了轴承故障诊断集成学习模型.采用RQA对轴承振动信号进行分析,得到结构化递归特征,使用SVM建立对应分类模型;采用递归分析理论将轴承振动信号的非线性特征映射到二维无阈值RP上,使用CNN建立对应分类模型;最后使用FCNN作为元分类器,集成上述分类模型,进一步对不同模型的预测结果进行优化.实验结果表明,与现有的轴承故障诊断相比,该方法不仅在分类准确度上表现最佳,而且在不同负载条件下保持高稳定性.本文所提出的方法在递归分析和集成学习之间搭建了桥梁,为轴承故障诊断提供了一种新的可靠方法.未来将继续探索能够更好地挖掘轴承振动信号非线性信息的方法,并将其与最新的机器学习以及深度学习技术相结合,以达到具有更高效、更稳定的轴承故障诊断效果.