刘美枝,杨 磊
(山西大同大学物理与电子科学学院,山西大同 037009)
自动化装备系统的复杂程度越来越高,传统的依靠过程机理来监测故障的方法愈发困难。数据驱动的故障监测不需要过程机理,只需要过程数据就可以快速监测故障,而过程数据和产品质量数据很容易采集和存储,所以数据驱动的故障监测方法得到了广泛的应用。多元统计分析是一种典型的数据驱动方法,主要包括主成分分析(PCA)[1-2]、偏最小二乘(PLS)[3-5]、独立元分析(ICA)[6-7]及慢特征分析(SFA)[8-9]等。它通过监测过程数据的统计量来检测运行条件的状态。PCA 是应用最广的一种故障监测算法,通过监测过程数据的异常变化来判断系统的状态,但是PCA 算法没有考虑过程数据与质量数据之间的相关性,而PLS 在建立系统模型时,不仅能够保留过程数据的大部分信息,而且可以使过程数据和质量数据具有最大相关性。
在实际工业过程中,过程数据的采集中存在大量随机噪声,如何解决噪声对系统的干扰成为一个必须解决的问题,目前已有一些前处理方法,如正交分解法[10],在建模之前预先去除与质量数据正交的部分;遗忘因子法[11],通过遗忘因子来调整新老数据的权值,在线更新模型;分块建模法[12],结合机理知识,将过程数据进行分块建模。文章提出一种新的预处理方法,考虑到异常点会严重干扰模型的准确性,为了提高模型的抗干扰能力,在建模前先剔除训练数据中的异常点。
给定过程数据表示n个样本,每个样本m个变量,质量数据表示n个样本,每个样本l个变量。在建模之前,需要对数据进行标准化预处理,使每个变量为零均值、单位方差的数据,进而消除变量量纲对模型的影响。标准化过程如下:
其中,A表示潜变量个数,P和Q是针对X和Y的载荷矩阵。通常在过程监测中,采用非线性迭代方法来求P、Q和T,具体步骤如下:
1)将X、Y数据的各列进行零均值单位方差标准化处理、令i=1,X1=X;
2)设ui等于Y的任一列;
3)X的各列在ui上进行回归得到负载向量wi=
对于给定样本数据,可以通过模型计算样本的统计量T2和SPE,进而鉴别系统的运行状态,T2统计量用来监控主元空间的变化,衡量样本距离主元子空间距离原点的距离,SPE统计量用来监控残差空间~X的变化,衡量正常过程变量之间相关性改变的程度。其计算公式如下:
T2统计量和SPE统计量的值越高,表示样本主元空间的变化越大或者变量之间的相关性改变越大,该样本越有可能是故障样本。对于给定置信水平,T2和SPE统计量的控制限:
在实际工业生产过程中,采集过程数据时存在环境干扰或仪器仪表的测量误差,测量值出现波动、噪声,使得采集数据中存在异常点,为了消除这些异常点对模型的影响,文章在建立模型之前,先将异常点剔除,将剩余的样本作为训练集建立模型,进而保证建模数据的准确性,提高模型监测准确率,系统整体流程如图1所示。
图1 系统整体流程图
异常点一般包括远离数据中心,或者变量之间的相关性出现显著变化,这些变化相应的会导致统计量T2和SPE的异常,鉴于此,直接使用T2统计量和SPE统计量来挑选异常点是一种简单而有效的方法。对于给定标准化后的过程数据X和质量数据Y,建立PLS 模型,并计算每个训练样本的T2统计量的SPE统计量,统计量的值越大说明样本离主元子空间原点距离越远或者变量之间相关性变化越大,将统计量较高的采样点当作异常点予以剔除,减小其对模型的影响。
具体过程如下:
步骤1:用数据X和Y建立PLS模型:
得到负载矩阵P、Q和权重矩阵R。
步骤2:用交叉验证法计算得主元个数A。
步骤3:按照公式(4)~(5)计算每个样本点得T2统计量和SPE统计量。
步骤4:选择T2统计量较大的α个样本和SPE统计量较大的β个样本作为异常点,予以剔除。
对于给定正常工况下标准化过程数据X和Y,建立PLS 模型,按照上一节步骤剔除异常点,剩余的n1个样本点X1和Y1组成训练集,再次建立PLS模型。
模型训练过程:
步骤1:用数据X1和Y1建立PLS模型:
得到负载矩阵P1、Q1和权重矩阵R1。
步骤2:计算训练集样本的SPE统计量:
步骤3:计算统计量的控制限。
故障检测过程:
对于一个新样本xnew∈Rm,按照下列步骤判断其是否为故障样本。
步骤1:由模型训练过程得到的参数R1,求得新样本的得分向量:
步骤2:计算新样本的统计量:
本节使用田纳西伊斯曼(TE)过程验证算法的故障监测性能。TE过程是基于实际工业过程的仿真实例,被广泛作为连续过程的监测、诊断的研究平台,该工业过程有4 种反应物(A、C、D、E)和两种生成物(G和H),此外还包括一种惰性物质B及副产物F。整个过程由5个主要操作单元组成,即反应器、冷凝器、气液分离塔、循环压缩机和汽提塔。整个过程有41个测量变量(包括22 个连续变量和19 个成分变量)和12 个操纵变量[13-14]。数据集种包含1 个正常工况下的数据和21 种不同故障工况下的数据,其中正常工况数据共500 个样本,每种工况数据共960 个样本(前160 个为正常样本,后800 个为故障样本),具体故障描述见表2。
表2 TE过程故障描述
本实验中,选择数据集中的22 个测量变量XMEAS(1-22)和11个操纵变量XMV(1-11)作为过程变量X,选择过程变量XMEAS(35)作为质量变量Y,由交叉验证可得主元个数A=15。
图2 为正常工况数据的统计量,从图中可以看出,部分样本点的统计量较高,可以作为异常点应该予以剔除。
图2 剔除异常点前数据统计量
图3 是将T2统计量较高的前10%以及SPE统计量较高的前10%的异常点剔除后训练集的统计量,相比图2可以看出所有数据都保持在控制限以下,消除了毛刺,用这些剩余数据来建模更精确。
图3 剔除异常点后数据统计量
为了验证算有的有效性,以故障4 和故障11 作为测试集,用正常工况下的500个样本作为训练集建立PLS 模型,其监测结果如图4 所示,由图可见,T2统计量可以监测到大部分故障,故障4 和故障11 的检测率分别为100%和79.25%;但是SPE统计量却只能监测到一部分,故障4 和故障11 的T2统计量检测率分别为100%和79.25%,SPE统计量监测率为62.38%和50.75%。用剔除异常点剩余的404 个样本作为训练集建立PLS 模型,其监测结果如图5 所示,由图可见,T2统计量和SPE统计量可以监测到绝大部分故障样本,故障4 和故障11 的T2统计量的检测率分别为100% 和82.38%,SPE统计量监测率为99.50% 和71.13%。
图4 用全部正常工况数据建模的监测效
图5 用剔除异常样本点数据建模的监测效果
由此可知,剔除异常点后,统计量均有不同幅度的提升,尤其是SPE统计量,故障4 和故障11 的SPE统计量分别提高37.12%和20.38%。用剔除异常点的数据建模,可以更精准地描述系统特性,有助于提升监测性能。
考虑到工业过程中采集数据时存在地环境干扰和传感器误差,而这些带噪声和误差的异常样本会对模型产生干扰,使得模型不准确,进而影响工业过程故障监测。异常样本点的数据会发生便宜或变量之间的相关性会发生改变,所以可以使用T2统计量和SPE统计量来检测异常样本点。本文在建模之前先对异常样本进行剔除,将剩余的样本作为训练样本建立模型,进而对工业过程进行监控。用田纳西伊斯曼过程对本文算法进行验证,试验结果表明,剔除异常点后,可以有效提升故障检测率。