基于LNS和主成分分析的局部离群因子故障检测

2023-01-09 12:34解晓兵
黑龙江大学自然科学学报 2022年3期
关键词:邻域模态局部

曾 静, 解晓兵, 李 元

(沈阳化工大学 信息工程学院,沈阳 110142)

0 引 言

大型工业产品的生产过程较为复杂,过程数据大多呈现出多模态和非线性等特点。为了有效检测工业过程的故障问题,学者们从多个角度研究多阶段过程,提出了一系列故障检测方法。常用的过程故障检测方法有主成分分析(Principal component analysis,PCA)[1-3]、核主成分分析(Kernel principal component analysis,KPCA)[4-5]和独立成分分析(Independent component analysis,ICA)[6-7]等。由于PCA和KPCA方法中的T2和SPE两个统计量都是在过程数据满足单模态的多元高斯分布条件下提出的,因此,在检测多模态过程故障时,漏检率会很高。同时,由于PCA主要处理线性问题,忽略了实际过程中数据的非线性特征,因此,故障检测率较低。ICA主要处理单一模态的故障检测问题,无法有效完成多模态数据的故障检测。Xie等在研究多模态过程的故障检测问题时,将ICA和PCA相结合,首先使用ICA将过程变量的非高斯部分提取出来,从而消除高维度变量的相关性,用PCA将低维信息提取出来,保留数据完整信息的同时,提高了故障检测率[8]。He等针对多模态问题提出了一种K近邻故障检测(Fault detection based onKnearest neighbors,FD-KNN)方法,该方法通过计算训练样本之间的距离来实现多模态数据的故障检测[9]。马贺贺等在对多模态数据进行故障检测时,将密度作为统计指标,提出了局部离群因子(Local outlier factor,LOF)故障检测方法,能够将故障样本从正常样本中分离开,进而检测出故障数据[10]。

数据建模前需要进行预处理操作,数据预处理大多使用Z-score方法,该方法能够避免因量纲的不同给故障检测带来的影响,但是此方法要求数据满足单模态分布,当过程数据是多模态时,该方法将多模态的数据作为一个整体看待,忽略了不同模态方差差别较大的问题,处理效果不佳。为了处理多模态特征数据的故障检测问题,Ma等采用局部邻域标准化(Local neighbor standardization,LNS)方法对样本进行标准化,LNS利用样本局部邻域集的均值和标准差,将不同模态的数据中心点向坐标原点靠拢,可以调整多阶段的离散程度,使得标准化处理后的数据离散程度近似相同,从而将多模态数据转化为单模态数据,消除了量纲对故障检测的影响,提高了多模态过程的故障检测能力[11-12]。

本文提出了基于局部邻域标准化和主成分分析的局部离群因子故障检测方法,利用LNS方法将多模态数据标准化处理为单模态数据,利用PCA将数据划分为主成分子空间和残差子空间,在划分好的两个子空间分别使用LOF方法对数据进行故障检测。研究表明,LNS-PCA-LOF方法可以将多模态数据归一化为单模态数据,同时,LOF能够增强PCA的非线性处理能力,实现了多模态和非线性过程的故障检测。

1 主成分分析

PCA是针对线性问题提出的特征降维方法,假设采集到n个样本,每个样本有m个变量,则构成数据矩阵X=[X1,X2,…,Xn]T∈Rn×m,PCA模型将数据矩阵X划分为主成分子空间和残差子空间,具体如下:

(1)

在主成分子空间和残差子空间分别使用T2和SPE两个监控统计量[13]对故障进行检测,公式为:

T2=XP∑-1PTXT=t∑-1tT

(2)

SPE=‖X-XPPT‖2

(3)

式中:t表示X的得分向量;∑表示X的协方差矩阵。

2 局部离群因子

局部离群因子方法最早由Breunig等提出,这种方法将密度作为统计指标,利用每个样本的局部离群因子来区分故障样本和正常样本,实现故障检测[14],具体计算方法如下:

(1)找出各个样本的k个近邻,计算各个样本与每个近邻的欧氏距离。

(4)

(3)计算样本Xi的局部可达密度:

(5)

从式(5)可以看出,样本Xi与其邻居之间的距离越远,lrd(Xi)的数值越小。

(4)计算样本Xi的局部离群因子:

(6)

从式(6)的计算可知,假如样本Xi的局部可达密度与其邻居的局部可达密度相比较,前者小于后者,此时计算LOF(Xi)的数值大于1,那么样本Xi是一个离群点。

3 基于LNS-PCA-LOF的故障检测方法

数据在建模之前,需要对其进行预处理,通常情况下最常用的预处理方式是Z-score方法,该方法主要对单模态数据进行标准化,标准化后数据的均值和方差分别为0和1,避免了数据量纲的不同给故障检测带来的影响[15]。然而,在处理方差差别较大的多模态过程数据时,该方法的预处理效果并不佳,这是由于Z-score方法只能消除量纲,不能改变样本的数据特征,假如数据在预处理之前是多模态的,经过Z-score方法处理后也是多模态的,不能消除数据的多模态特征,所以本文使用一种新的数据标准化方法,即局部邻域标准化(LNS)方法来处理多模态数据。首先,利用LNS方法找出各个样本的前K个邻域集合,然后,计算该邻域集合的均值和标准差,其标准化方法如下:

(7)

式中n(Xi)、Mean(n(Xi))和Std(n(Xi))分别表示样本Xi的邻域集、均值和标准差。

经上述步骤的预处理之后,数据从原先的多模态特征转化为了单模态特征,为后续PCA更准确地划分主成分子空间和残差子空间奠定了良好的基础。

基于LOF的主成分子空间监控统计量如下式:

(8)

式中:lrd(y)表示样本y的局部可达密度;lrd(yf)表示其与近邻之间的局部可达密度。

基于LOF的残差成分子空间监控统计量公式为:

(9)

式中LOFPCS和LOFRS两个控制限由核密度估计方法获得。

3.1 模型建立

(1)采集正常过程中的数据,将此数据作为训练数据集X;

(2)在训练数据集X中,寻找每一个样本的前K个邻域集合n(XI),然后按式(7)对该样本进行标准化处理;

(3)利用式(1)对X建立PCA模型获得PCS和RS;

(4)利用式(6)分别在PCS和RS计算LOF统计量;

(5)由核密度估计方法确定T2和SPE两个监控统计量控制限。

3.2 在线检测

(1)将生产过程中测得的数据作为待检测数据集Y,在训练数据集X中寻找每一个样本的前K个邻域集合n(Xi);

(2)按式(7)对该样本进行标准化处理;

(4)利用式(8)和式(9)计算LOFPCS和LOFRS;

(5)将步骤(4)计算出的结果与控制限进行比较,判断是否为故障数据。

4 仿真实验

4.1 数值例子

使用文献[16]中提出的非线性数值例子,模型公式为:

(10)

式中e1~e7为服从N(0, 0.01)正态分布的噪声。

式(11)和式(12)分别为两种模态数据的产生:

(11)

(12)

针对上述两种模态,分别生成500个样本,共计1 000个样本构成训练数据集,测试数据集共计500个样本,设计故障类型如下:故障1按照模态1的方式运行,从第251个样本开始至第500个样本结束在变量x1上加入幅值为0.6的阶跃故障;故障2按照模态2的方式运行,从第251个样本开始至第500个样本结束在变量x7上加入0.04(k-250)的斜坡故障,k为采样时刻数。

对于上述故障分别使用KNN、PCA、LOF和LNS-PCA-LOF对故障进行检测。通过寻优测试,KNN方法中的近邻数确定为30,根据累计贡献率的方法,PCA方法中主成分个数取2,LNS-PCA-LOF的主成分个数取3,局部邻域K为6,均采用95%的控制限对故障进行监控。4种方法得到如图2~图5所示的检测结果。由图1(a)可以看出,原始数据由分散程度明显的两个模态组成,经过LNS对这两个模态的数据进行标准化后,由图1(b)可以看出,多模态数据已经转化成了单模态数据,这为PCA能够更准确地划分两个子空间奠定了良好的基础。

图1 数据散点图

图2 KNN检测结果

图3 PCA检测结果

由图2可以看出,这两个模态样本的D2统计量有较大的差异,且模态1在计算D2统计量控制限时占主导作用,因此对故障的检测效果不佳。由于PCA方法采用T2和SPE两个统计量作为监控指标,对于本例的多模态数据,不满足数据单一分布的特性,这种方法检测率较低。由于LOF利用单监控统计量对过程数据进行监控,由图4可以看出LOF检测率也不高。为了弥补LOF自身单监控统计量的缺陷,同时提高PCA处理非线性数据的能力,使用LOF方法在PCA划分的主成分子空间和残差子空间分别进行故障检测,由图5可以看出将LNS、PCA和LOF结合后故障检测效果取得了很大改善。

图4 LOF检测结果

图5 LNS-PCA-LOF检测结果

4.2 青霉素发酵过程仿真实验

青霉素发酵过程是一种常见的非线性、多模态过程,青霉菌发酵可以分为两个阶段:(a)青霉菌适应生长繁殖阶段;(b)青霉菌合成青霉素阶段[17-18]。PenSim2.0平台可以仿真产生青霉素发酵过程数据,该平台产生的青霉素数据共有17个监控变量,如表1所示。该平台可以在通风率、底物流加速率和搅拌功率上人为地加入阶跃和斜坡两种不同类型的故障,还可以对加入的故障进行幅值和起止时间上的修改[19-20]。

表1 青霉素发酵过程变量名称

使用PenSim2.0平台仿真青霉素发酵过程数据,将PenSim2.0平台的仿真时长设定为400 h,采样时间设定为0.5 h。使用平台默认参数生成的数据作为训练样本,加入两种不同类型的故障如图6所示。其中,故障1为在变量通风率从100 h开始至250 h结束加入幅值为0.002的阶跃故障;故障2为在变量底物流加速率从150 h开始至青霉素发酵过程结束加入幅值为0.001(l/h)的斜坡故障。

图6 故障散点图

与数值例子仿真相同,使用KNN、PCA、LOF和LNS-PCA-LOF四种方法对其进行故障检测。通过寻优测试,KNN方法中的近邻数确定为3,根据累计贡献率的方法,确定PCA方法中的主成分个数取7,LNS-PCA-LOF的主成分个数取7,局部邻域K为6,同样采用95%控制限对故障进行监控。

以上4种方法得到如图8~图11所示的检测结果。从图7(a)可以看出,预处理前的数据呈现多模态分布,经LNS标准化处理之后,结果如图7(b)所示,可以看出原先的多模态数据被处理成了单一模态数据。从图8可以看出,KNN方法的控制限主要由前一个模态的D占主导作用,因此无法对发生在密集模态上的微小故障进行有效的检测。PCA使用T2和SPE统计量作为监控指标,青霉素发酵过程数据呈现多模态分布,不满足PCA两个统计量要求数据为单一分布的假设,从图9可以看出,该方法的故障检测效率较低。LOF对数据进行检测时使用自身的单监控统计量,由图10可以看出,LOF检测率也不高。从图11可以看出,经过LNS处理且在PCA划分好的两个子空间上分别使用LOF方法进行故障检测,检测效果最好,验证了LNS-PCA-LOF方法的有效性。

图7 LNS标准化前后的对比

图8 KNN检测结果

图9 PCA检测结果

图10 LOF检测结果

图11 LNS-PCA-LOF检测结果

5 结 论

针对复杂工业过程数据的多模态和非线性特性,提出了一种基于局部邻域标准化和主成分分析的局部离群因子故障检测方法。Z-score方法在处理数据时使用整体的均值和标准差,不能消除数据的多模态特征,而LNS方法在对样本进行标准化时,使用样本局部邻域集的均值和标准差,能使各个模态的中心点向原点靠拢,消除了数据的多模态特征,进而使得PCA可以更准确地划分子空间。同时,由于LOF可以增强PCA处理非线性数据的能力,在PCA划分好的两个子空间上分别使用LOF进行故障检测,将之应用于非线性数值例子和青霉素发酵过程,结果验证了该方法的有效性。

猜你喜欢
邻域模态局部
基于BERT-VGG16的多模态情感分析模型
基于混合变邻域的自动化滴灌轮灌分组算法
多模态超声监测DBD移植肾的临床应用
爨体兰亭集序(局部)
含例邻域逻辑的萨奎斯特对应理论
跨模态通信理论及关键技术初探
超精密车削出现局部振纹的诊断及消除
尖锐特征曲面点云模型各向异性邻域搜索
丁学军作品
局部遮光器