基于优化NRS和复杂网络的柴油发电机组故障诊断2021-03-15 10:10

摘 要: 为解决柴油发电机组故障诊断中复合故障难以识别的问题,设计了一种变分模态分解、优化邻域粗糙集和社团层次聚类相结合的故障诊断方法。采用变分模态分解方法对采集的声信号进行分解,并形成初始特征集。考虑到冗余特征的影响,使用优化邻域粗糙集进行特征筛选,达到属性简约的目的。利用复杂网络中的社团结构建立故障诊断网络,通过设计社团区分准则函数找出社团结构,同时实现了故障诊断分类。试验表明,所提方法的故障诊断率达到了99.17%,其有效性及优越性得到了充分证实。

关键词: 柴油发电机组;声信号;邻域粗糙集;复杂网络;故障诊断

柴油发电机组是一种起动迅速、操作维修方便、对环境的适应性较强的发电装置,广泛应用于工业、农业、国防等各个领域。然而,当柴油发电机组发生故障时,传统的经验诊断效果不佳,采集其振动噪声信号进行诊断可以提高诊断精度。李晓博等[1]利用柴油发动机的振动信号进行故障诊断,取得了较好的效果。采用噪声信号进行故障诊断是一种非接触式的诊断方式,在轴承[2]、配电变压器[3]等领域均有着较好的应用。

粗糙集理论(Rough Sets,RS)是波兰学者Pawlak于1982年提出的一种数学计算理论,能够有效地处理各种不确定信息和不完整数据,通过发掘其中的隐含知识以展现事物和事件的内在规律。丁锋等[4]分析了涡桨发动机转子的振动信号,使用邻域粗糙集选出敏感特征,有效剔除了冗余特征。

在实际的柴油发电机组故障诊断中,由于设备结构复杂、零件繁多,导致故障种类较多,加之容易产生复合故障,这就进一步增加了故障种类。因此,通常情况下很难获取全部故障种类的样本,这就限制了监督分类的应用。社团层次聚类算法是一种典型的无监督分类方法,属于复杂网络理论,克服了在一般聚类方法中将故障样本视为空间中相对孤立点的缺点。近些年,随着复杂网络理论研究的深入,应用范围不断拓展。Peng等[5]研究了复杂网络在模拟电路故障诊断中的应用,并推广到大规模电子电路的自动故障诊断中。Zhang等[6]利用复杂网络确定了聚类分析的相似性度量方法和准则函数,在船用发动机系统故障诊断上进行了验证,准确率高且耗时少,能够识别故障历史数据中不存在的故障模式。

然而,传统的信号分解方法弊端较为明显,粗糙集理论有待进一步优化和改进,需要寻找更为适合柴油发电机组故障诊断的模式识别方法。本文针对柴油发电机组典型故障使用变分模态分解进行声信号处理,提出了一种基于优化邻域粗糙集和复杂网络社团层次聚类的诊断方法。

1 优化邻域粗糙集

经典粗糙集理论只适用于处理离散化数据,当处理实际应用中的数值型数据时便遇到了困难。Hu等[7]于2008年提出了邻域粗糙集(Neighborhood Rough Set,NRS)概念,通过邻域粒化实现敏感特征的选取,克服了经典粗糙集的不足。

在邻域粗糙集理论中距离函数Δ和邻域值δ是两个重要的参数,用来控制数据分析的粒度。不同的距离函数Δ和邻域值δ对应不同的粒度级别,特征的重要度也随之变化,将选择不同的特征子集。目前,邻域值δ一般都是经验选取,当δ取值在区间[0.05,0.5]时,对于分类学习的NRS能够取得较好的敏感特征子集[8]。在此通过确定距离函数Δ和邻域值δ得到优化邻域粗糙集,相比NRS特征筛选能力将有进一步提升。距离函数采用闵氏距离中使用最多的欧几里得距离 (即P=2)

(1)

aij(i=1,…,n;j=1,…,m)是样本集合{x1x2,…,xn}归一化后的特征集,stdai(i=1,…,m)是特征aij的标准差,为了得到合理的邻域值,定义最佳邻域半径为

δ=mean(stdai)/2

(2)

δ值的大小决定了得到的邻域集合样本数的多少。δ越大,样本就越多,邻域变得更模糊;δ值越小,样本就越少,邻域变得更清晰。当δ为0时,邻域的计算方法便与经典粗糙集理论一致[9]

2 社团层次聚类算法

2.1 社团结构

随着对复杂网络特性的深入研究,发现许多实际网络的节点和边并不是无章可循的,而是符合一定的规律,都具有一个共同属性——社团结构[10]。社团结构的研究揭示了相对复杂的网络可以由若干个社团组成,通过社团的划分可以实现网络的分割与简化。每个社团单元内的节点连接密度较大,而社团单元之间的节点连接密度较小。Newman快速算法是一种具有代表性的社团结构识别算法,属于层次聚类算法,本文在此基础上提出了适用于柴油发电机组故障诊断的社团层次聚类算法。

2.2 故障诊断网络模型的建立

通过分析柴油发电机组声信号特性,提取反映故障特征的特征参数组成故障样本集,将每个故障样本视为网络中的节点,故障样本之间的联系视为网络中的边,以此构造柴油发电机组故障诊断的加权无向复杂网络模型。

柴油发电机组故障样本集为X={x1,x2,…,xn},每个故障样本包含m个属性,即xi={xi1,xi2,…,xim},i=1,2,…,n,将每个数据样本xi抽象为网络中的节点,利用复杂网络中的社团层次聚类算法可以按照故障类型将各节点xi划分为若干个相对独立的社团,使得同一社团内样本尽可能相似,社团之间样本尽可能不相似[11]。用相似度aijA表示节点xixj之间的联系,则故障数据样本的结构可以由一个加权无向网络G(X,A)来表示。

节点之间的相似度通常用距离度量,即aij是节点xixj之间距离dij的函数,dij选取欧氏距离,即按照社团结构的特性,相似度函数的设计应满足属性相似的节点相似度接近,属性相异的节点相似度差别较大这一性质。节点自身的相似度无意义,因此规定当i=j时,aij=0。根据文献[12]对相似度函数的分析,基于距离度量的相似度函数选用指数函数

(3)

式中,λ为待定相似度系数。

使用相似度距离函数计算各个节点之间的相似度可以得到非负对称矩阵A

(4)

式中:aij为故障样本xixj之间的联系,也就是网络中节点xixj之间的相似程度。因此,矩阵A可以作为网络中边的权重矩阵,即邻接矩阵。由此得到了加权无向网络G(X,A)。

2.3 网络的稀疏化

根据相似度函数的性质,网络节点之间的相似度基本不为0,这就说明得到的网络接近于全图,其内部边分布很稠密,大大增加了社团层次聚类算法的计算量。为减少算法的复杂度,在生成初始网络时,设定阈值ε,当aij<ε时,aij=0,以此达到网络稀疏化的目的。

2.4 社团结构的判断准则

社团层次聚类是将网络模型G(X,A)中的节点集X通过一定的准则划分为N个互不重叠的社团{X1,X2,…,XN},分别对应故障诊断中的一种故障类型,且满足:

适合故障诊断的社团结构划分准则应满足同一社团节点相似度大、社团之间节点相似度小的要求。Newman等[13]提出了模块性函数的概念,用于量化评价网络中社团结构的划分质量。网络中社团结构划分的好坏可以用模块性来表示,模块性为正值说明网络具有较好的社团结构,通常用Q函数来量化表达模块性水平。设网络模型G(X,A)初始划分为C个社团,社团Xp,Xq满足:Xp≠0,Xq≠0,且XpGXqG

XpXq=0,则有,Apq=(aij),其中:iXp,jXq,且ApqA。令pq时,为子集XpXq间的关系数量;当p=q时,为子集Xp内部关系的数量。令具有C个社团的网络其模块性Q函数[14-15]定义为

(5)

式中:为同一社团内节点的连接情况;反映了社团之间节点的接连情况。越大,越小,则Q函数越大,说明社团内节点连接较多而社团之间节点连接较少。因此,Q函数可以定量描述网络社团结构,是一种有效的探测社团结构的指标。

任何社团结构的变化都会引起模块性指标矩阵的改变。设含有n个节点的网络G(X,A)包含C个社团,即计算相应的eijEn,得到

(6)

如果将网络G(X,A)中的社团p和社团q合并,模块性Q函数则相应变为

式中,m,i=1,2,…,c,记

(8)

式中:Δφpqφnp,q=1,2,…,c;epq=eqp

由于Q值越大代表社团结构划分的越好,因此只要满足Δφpq>0,合并社团pq都是有效的。合并前分别计算出所有社团进行两两合并时对应的Δφpq值,得到评判矩阵

(9)

当合并的社团满足时,说明可以达到此时的最优解。如果说明已不存在有效合并,社团聚类过程结束。社团合并过程是具有模块性Q函数变化的量化标准,当存在新的故障类型样本时,避免了其它分类方法总能归为已有类别情况的发生,为未知故障样本的识别提供了一种途径。

3 故障诊断流程

3.1 诊断流程

粗糙集理论已在故障诊断中成功应用,为了进一步提高精度,采用优化NRS进行特征筛选。信号分解使用Dragomiretskiy等[16]提出的变分模态分解(Variational Mode Decomposition,VMD)方法,将设计的社团层次聚类算法进行故障识别,故障诊断步骤具体如下:

步骤1 选取柴油发电机组故障声信号样本,对信号进行变分模态分解,得到一系列中心频率由低至高的模态函数,采用13种统计特征(峭度、偏度、能量、均值、最大值、最小值、极差、波形指标、峰值指标、脉冲指标、裕度指标、峭度指标和香农熵)对各个模态函数进行特征参数提取,归一化后组成初始特征集;

步骤2 利用优化NRS对特征参数进行属性约简,筛选出最能代表状态信息的敏感特征,得到敏感特征集;

步骤3 输入敏感特征集数据,构建相似度矩阵A,建立故障诊断的网络模型G(X,A);

步骤4 初始化网络,每个节点为一个社团,设定阈值ε,将相似度矩阵A中小于阈值ε的数据归零;

步骤5 计算评判矩阵Δφ,找出最大元素Δφpq,如果Δφpq>0,合并社团pq,形成新的社团结构;

步骤6 重复步骤5,直到评判矩阵中的最大元素Δφpq<0为止,得到最终的社团结构,输出故障诊断分类结果。

故障诊断流程图如图1所示。

图1 柴油发电机组故障诊断流程图
Fig.1 Flow chart of fault diagnosis for diesel generator set

3.2 故障识别方法

当遇到新的待识别样本时,为了能够识别历史数据中没有的故障类型,设计的故障识别方法步骤如下:

步骤1 设经过故障诊断流程得到C个类别,将每个类别正确分类的故障样本数据取均值,得到每个类别的典型参数值;

步骤2 在典型参数值矩阵的最后一行添加待识别的样本数据,并计算相似度矩阵A

步骤3 计算评判矩阵Δφ,对a=1,2,…,c,找出Δφa(c+1)中的最大值;

步骤4 如果max(Δφa(c+1))>0,说明待识别样本属于第a类故障类型,如果max(Δφa(c+1))<0,则说明待识别样本属于未知的故障状态。

4 柴油发电机组故障诊断实验

4.1 实验结果及分析

实验对象为6135型柴油发电机组,在缸盖上方50 cm处采集4种状态下的声信号数据样本,采样频率为44.1 kHz,采样点数为4 000个,每种状态选取30个样本,具体见表1所示。

表1 柴油发电机组4种状态
Tab.1 Four states of diesel generating set

对信号进行变分模态分解时,参考峭度准则选取最优PF分量的方法[17]确定分解模态数K。当K=7时,模态分量中具有最大的峭度值,因此K设置为7。带宽限制α设为默认值2 000,噪声容忍度τ设为0。对分解得到的各个模态函数进行13种特征指标的特征提取,得到85维特征向量,组成120×85的初始特征集,并对特征集做归一化处理。

利用式(2)计算出最佳邻域半径δ=0.05,NRS算法第一次迭代计算的特征重要度如图2所示,筛选出重要度最大的一个敏感特征,特征标号为16。

图2 第一次迭代计算的特征重要度
Fig.2 The characteristic importance of the first iteration calculation

以此类推,每次迭代筛选出一个特征,最终得到的敏感特征集,如表2所示。从表2可知,低阶模态函数分量IMF1和IMF2中包含较多的柴油发电机组状态信息。初始特征集经过优化NRS特征筛选,维数由85维降至4维,形成120×4的敏感特征集。

表2 敏感特征集
Tab.2 Sensitive feature set

将柴油发电机组4种状态的敏感特征集视为一个复杂网络,敏感特征集中的每个数据作为网络中的一个节点,数据之间的关系抽象为边,建立节点数为120的网络模型G(X,A)。指数相似度函数的待定相似度系数λ设为10,计算120×120的相似度矩阵A。初始化网络时,每个节点设为一个社团,设定阈值ε=0.001,将相似度矩阵A中小于阈值ε的数据归零,达到网络稀疏化的目的。计算评判矩阵Δφ,找出最大元素Δφpq,当Δφpq<0时停止社团合并,模块性Q函数值的变化如图3所示。

图3 模块性Q函数变化曲线
Fig.3 Modularity Q function change curve

从图3可知,当类别数为4时,得到最大的模块性Q函数,也就是说明此时Δφpq<0,社团合并过程结束。所有样本被分为四类,得到的社团数不是预设的,而是根据算法自行确定,与柴油发电机组状态数目一致,成功聚类。社团聚类形成的树状图如图4所示。横轴的数字表示每一个样本数据的标号,虚线对应最大的模块性Q函数值,代表社团停止合并,输出聚类结果。

图4 聚类树状图
Fig.4 Cluster dendrogram

聚类树状图可以很清晰地反应整个聚类过程,并且可以得到所有样本数据的诊断信息,结果见表3所示。除了状态2有一个错分样本外,其余状态均分类正确,总诊断率达到99.17%,具有较高的故障诊断率,证明了所提方法在柴油发电机组故障诊断中的有效性。

表3 柴油发电机组故障诊断结果Tab.3 Fault diagnosis results of diesel generating set

为了验证所提方法对未知样本的故障识别能力,选取了每种状态各10个,共计4×10个样本进行测试。将4个类别正确分类的数据样本取均值,得到每个类别的典型参数值矩阵

按照所提出的方法进行故障识别,识别结果见表4,4种状态的样本能够全部被正确识别。另外加入没有历史数据的断一缸状态样本进行测试,得到max(Δφa(c+1))=-0.001 6<0,识别为“未知故障”,没有误判为其它故障,说明该方法可以对未知样本进行有效识别。

表4 测试样本故障诊断结果
Tab.4 Test sample fault diagnosis results

4.2 实验对比

柴油发电机组声信号经VMD后提取特征参数,从初始特征集中随机选取三次特征参数,对比敏感特征集,用社团层次聚类进行故障识别,结果如表5所示。相比随机特征集,使用经优化NRS筛选出来的敏感特征集进行故障诊断能够正确分类,不容易产生错分,证明了优化NRS在柴油发电站机组故障特征筛选上的有效性和必要性。

表5 不同特征集诊断结果对比
Tab.5 Comparison of diagnostic results of different feature sets

邻域半径δ的大小对计算特征值具有重要的作用,另外选取了三种在区间[0,0.5]内的邻域值,组成不同的敏感特征集,得到相应的故障诊断率,如表6所示。从表6可知,本文所提方法具有较小的特征维数,同时具有较高的故障诊断率,具有一定的优势。

表6 不同敏感特征集诊断结果对比
Tab.6 Comparison of diagnostic results for different sensitive feature sets

K均值聚类和模糊C均值聚类是应用较为广泛的两种聚类算法,已成功地应用于故障诊断领域。选取这两种聚类算法进行对比实验,特征参数使用最佳邻域半径确定的敏感特征集,实验结果如表7所示。三种聚类算法的故障诊断率相差不大,社团层次聚类算法略高,但是在未知样本(断一缸状态)的识别上,K均值聚类和模糊C均值聚类均出现错分现象,社团层次聚类算法可以对未知故障样本进行准确识别,说明了该算法在柴油发电机组故障诊断中的优越性。

表7 不同聚类算法对比
Tab.7 Comparison of different clustering algorithms

5 结 论

实验表明使用VMD方法对柴油发电机组声信号进行分解可以提取出表征故障信息的特征参数,利用优化邻域粗糙集进行属性约简,可以进一步筛选出敏感特征集。

通过建立故障网络模型,使用基于模块性Q函数的社团判断准则,采用层次聚类的方式进行社团合并,可以逐步找出网络中的社团结构,进而实现柴油发电机组的故障诊断。该方法具有较高的诊断率,且可以识别未知故障。