自适应步长移动窗PCA的辊道窑异常检测方法*

2020-11-27 10:04邹振弘印四华
机电工程技术 2020年10期
关键词:辊道协方差步长

邹振弘,印四华

(1.广东工业大学计算机学院,广州 510006;2.广东工业大学机电工程学院,广州 510006)

0 引言

辊道窑是重要的一类陶瓷窑炉,主要用于建筑陶瓷材料生产,是陶瓷生产中主要的耗能设备。在陶瓷生产过程中,若由于物料、参数控制、人员等因素使得辊道窑的异常情况出现,会导致产品瑕疵以及能源浪费等问题,造成极大的经济损失,情况严重时甚至发生安全事故。实际情况下,通常采用人工巡查和根据经验观察仪器仪表等方式检查发现异常情况,有耗费人工、发现不及时等缺点。随着科技发展,目前大多数工业生产设备配备了数字仪表和工业计算机进行实时监控,并进行生产数据的采集和存储。

关于辊道窑的生产运行研究,国内外学者主要关注点在窑炉结构的优化、窑炉各过程的控制系统设计,以及数值模拟和仿真实验。Milani[1]等对辊道窑的热力学和流体动力学行为进行了数值分析,并结合热力学模型提出了一种针对窑炉冷却段的改进运行策略,以最大程度地降低瓷砖的残余应力。Zhu[2]将传统的PID 控制方法与卡尔曼滤波方法相结合,提出了基于卡尔曼滤波器的PID 混合智能控制器,实现了陶瓷梭式窑煅烧区温度的智能控制。Zhang等[3]基于互信息和AdaBoost策略,提出了一个新的温度预测模型,用于陶瓷梭式窑烧结过程的温度预测。贾华[4]提出了Fuzzy-Smith 的复合控制的辊道窑温度控制方法。李晓高[5]、曹利钢[6]分别设计开发了基于专家系统的陶瓷窑炉远程监测与故障诊断系统。也有部分学者根据辊道窑机理和运行状况,对辊道窑的常见异常进行了分析。杨华亮[7]等针对辊棒的异常情况进行总结,并开发了视觉摄像头与传感器结合的智能辊棒寿命管理系统。

可见,现有针对辊道窑的研究成果众多,且都有一定效果,但是在异常检测方面的研究较少,主要集中在异常情况的分类总结方面。对于这种包含高维度、海量数据,且过程复杂,难以构建数学模型进行分析的对象,使用数据驱动的方法进行异常检测十分合适。

主元分析(Principle Component Analysis,PCA)方法是一种线性降维方法,可以把线性相关的多个观测变量投影到低维空间中,转换为少数几个线性无关的变量表示,同时保留了变量之间的关系结构[8]。作为一种经典的数据统计分析理论,PCA 广泛地应用到数据分析、数据压缩、异常检测、过程控制等领域,并取得不错的应用效果[9-13]。

PCA 最早由 Pearson[14]提出,Rigopoulos 等[15]提出移动窗主元分析(Moving Window PCA, MWPCA),采用不断随时间向后滑动的移动窗口控制用于建模的样本数据,提升更新速度,并使得PCA 模型基于在最近的工况特征下。何小斌[16]提出可变移动窗PCA,可以在异常检测过程中自适应改变窗口长度,并结合秩r奇异值分解以提高递推计算速度。Jeng等[17]提出改进的MWPCA方法,在更新协方差矩阵时以2次秩1矩阵计算的算法代替原来的4次秩1计算,提高计算速度。

本文提出自适应步长移动窗主元分析(Adaptive Step Moving Window PCA,ASMWPCA)方法,在采集到新样本时通过计算其T2统计量,以判断是否需要将此样本通过移动窗方式更新PCA 模型,并累积多个新样本数据进行一次性的数据块更新,减少过程中的PCA 模型更新次数,节省计算资源,提高计算效率。实验结果表明,ASMWPCA 方法可以有效地检测出辊道窑的异常情况,并大大提高了检测效率。

1 问题描述

辊道窑是一类大型陶瓷窑炉,其结构可分为预热带、烧成带和冷却带。由于辊道窑系统的气氛、压力、温度之间存在一些耦合关系,状态变量较多,且时变特性明显,导致其数学模型难以建立。现阶段,对辊道窑的异常检测主要使用固定阈值报警,配合人工巡查的方式,效率低,发现异常情况滞后。

传统的PCA 方法通过一定数量的正常数据建立模型,该模型是静态的、非时变的。异常检测过程中,将样本数据映射到低维空间,并计算T2统计量和SPE 统计量,以判断是否出现异常。然而辊道窑的运行过程有明显的时变特性,使用静态的PCA 模型容易出现缓报、误报等问题,需要对PCA 模型进行实时更新,以适应辊道窑生产过程中属性的变化。

为了处理时变特性的情况,在工业过程中的异常检测场景中,自适应PCA 及各种改进方法经常被使用,其中递推主元 分 析 (Recursive Principle Component Analysis, RPCA)[16]、MWPCA是常用且效果较好的异常检测方法。然而,RPCA在包含的大量旧数据会影响模型的精度和更新速度,即使添加遗忘因子也存在难以选定遗忘因子的问题[16]。MWPCA常见的方式是将新采集的样本逐个添加到窗口,在正常样本居多的情况下,会存在一定程度的无效计算过程。

本文将以辊道窑的生产过程为例,进行基于PCA 的理论分析和实验验证。

2 自适应主元分析

传统PCA 方法的模型建立之后不再改变,是静态的、非时变的,而RPCA、MWPCA 随着新样本采集之后,实时更新PCA模型,称为自适应PCA方法。

2.1 传统主元分析

PCA的思路是将m维的初始数据通过线性变换,映射到k维的主元空间,实现降维。假设样本数据矩阵经过标准化后为X ∈ Rn×m,即有n个观测样本,每个样本有m个属性,可以分解为[8]:

负荷矩阵P一般可以通过对X标准化后的协方差矩阵S进行特征值分解获得:

式中: Λ 为包含特征值λi的对角矩阵。

将S 的特征值由大到小排序,对应的特征向量即负荷向量pi,根据特征值大小截取前k 个特征值,对应前k 个特征向量即为主元模型中实现线性降维的基向量,也是选用的负荷向量。这意味着在样本空间中,方差最大的k个方向对应着包含信息最多的k个维度,经过线性变换映射到了主元子空间,剩余的主要包含随机噪声的信息则映射到残差子空间。

主元数量k 可以通过CPV 方法[8]获得,定义累计贡献率Conti,并指定累计贡献率的阈值,从最大的特征值开始累计计算,当累计贡献率恰好大于阈值时的最少主元个数为所选的k。按照经验,可以设定阈值为80%。方差贡献率Conti为:

建立PCA 模型之后,一般使用两个多元统计量的假设检验来检测异常的发生,即T2统计量和SPE 统计量,分别对应单个样本向量在主元子空间和残差子空间中的偏离程度。对样本x的统计量计算公式如下:

式中: Λk=diag(λ1,…,λk),为前k个协方差矩阵特征值。

进行异常检测时,还需要确定两个统计量的控制限,假设α为检验水平,统计量控制限为:

式中:Fα(k,n-k)为带有k和n-k个自由度、置信水平为α的F分布临界值;cα为标准正态分布在置信水平α下的阈值。另有:

在异常检测过程中,T2和SPE 在异常检测中作用并不等同。T2统计量衡量样本投影到主元空间后到原点的距离,包含正常情况下样本数据的绝大部分变化。而SPE 统计量是样本在残差空间中的投影,主要包含噪声。在实际应用过程中,当样本数据对应SPE 统计量超过控制限时,基本可判断生产过程出现了异常。而当SPE 统计量没有超过控制限,T2统计量超过控制限时,说明过程出现了明显的干扰或者工况改变等情况,可以根据具体生产状况进行分析是否出现异常[8]。

2.2 移动窗主元分析

RPCA是将新样本通过递推方式,与旧样本一起作为建立PCA模型的数据,而MWPCA使用一个可以随样本数增加而不断向后滑动的窗口,通过窗口内的样本建立PCA 模型,每次有新数据产生并更新PCA 模型时总是新增样本数据并丢弃同样数量的旧样本,保持窗口长度一定。与RPCA相比,MWP-CA有更新速度稳定、检测精度较高、对时变过程适应性更强等优点,也有计算量增加的问题。

MWPCA 通过递归更新协方差矩阵的方式更新PCA 模型。假设预定义的移动窗长度为L,在第t时刻移动窗内的样本数据矩阵为Xto=(xt-L+1,…,xt-1,xt)T∈RL×m。不失一般性,考虑数据块更新的方式,新样本的数量为s,更新后对应的数据矩阵为Xo=(x ,…,x,x)T∈RL×m。一次数据块更新过t+st+s-L+1t+s-1t+s程即相当于把窗口位置从t时刻移动到t+s时刻。

递归更新协方差矩阵的过程可以分为两个递推子过程来实现,具体如下。

(1)递推中间矩阵协方差矩阵

中间矩阵指两个时刻样本矩阵的共同部分X^=(xt+s-L+1,…,xt-1,xt)T∈Rs×m,对于第t时刻的数据矩阵,均值向量为:

根据均值向量定义,可得中间矩阵的均值向量:

随后,由文献[16]可知中间矩阵的协方差矩阵为:

其中, Σt=diag(σt,1,σt,2,…,σt,m)为t时刻窗口各个变量的标准差,另有:

(2)递推新窗口协方差矩阵

将式(12)代入式(15),得到数据块更新方式下,从t时刻到t+s时刻的移动窗PCA的协方差矩阵递推公式:

之后,对协方差矩阵进行特征值分解获得主元模型,得到更新的PCA模型。

MWPCA一般对逐个样本进行窗口的移动,每次增加一个新样本,丢弃一个旧样本。然而辊道窑的生产过程平稳,异常较少发生,各个状态变量的变化幅度不大,每次通过正常样本移动窗递推产生的PCA 模型变化不大。由此联想到,可以等待积累多个新样本再进行一次数据块更新,减少总体PCA 模型更新的次数,节省计算时间和计算资源,即本文提出的ASMWPCA。

3 自适应步长移动窗主元分析

本文提出的自适应步长移动窗PCA 方法的主要思路是,在正常样本为主的较平稳过程中,积累一定量样本再进行PCA 模型的更新,期间使用上次更新的模型计算T2和SPE 统计量进行异常检测,以这种方式减少PCA 模型更新的次数,提升算法性能。这里两次MWPCA模型更新之间所用数据块的样本数,称为更新的步长(step)。当步长取得过小时,计算资源的节省和性能的提升不明显;而当步长取得过大时,会导致模型不能及时更新,失去MWPCA 中适应模型变化的特点。所以,判断PCA 模型更新的时刻,或者说确定步长的范围,是本方法的关键点。

使用MWPCA 的在线异常检测过程中,需要更新PCA 模型的主要原因是,工业过程中产生了状态变量属性的漂移,导致原PCA 模型偏离了当前的实际工作状态特征,故使用静态的PCA 方法常常会产生误报。由上文已知,常用T2和SPE两个统计量进行异常检测,其中T2衡量新样本映射后到主元子空间原点的距离。当正常工况下发生状态变量属性的小幅度漂移时,由于其变量之间的相关关系没有明显改变,SPE没有明显变化,但是整体偏离了PCA 模型建模时过程的状态变量属性,会导致T2产生明显波动和漂移[17]。所以,可以使用T2统计量作为PCA 样本是否偏离当前工作状态的指标,并以T2统计量的控制限作为阈值。若新样本满足条件:

则调整移动窗位置,更新PCA模型,其中μ为预设的比例系数。式(17)的意义在于,以SPE 作为判断样本是否正常的主要指标,样本正常的情况下,以T2判断PCA 模型是否已经偏离了当前的正常工况,进而决定是否要移动窗口位置、更新PCA模型。

另外,若积累一定数量样本之后,仍没有满足式(17)的条件,会导致PCA 模型长期没有更新的情况,可以设定步长的上限smax,使得PCA模型及时更新,适应工况变化。Wang等[18]提出N步超前(N-Step-Ahead)移动窗PCA,指出当p时刻使用p-N时刻得到的PCA模型进行异常检测,会比使用p时刻的模型得到更敏感的异常检测效果。这个结论一方面印证使用略早的PCA 模型的有效性,另一方面指导了步长上限的取值,一般取值为一倍窗口长度以下。

所提出的ASMWPCA方法的算法描述如下。

算法:自适应步长移动窗PCA方法

输入:样本矩阵Xo=(x1,x2,…,xM)T

窗口长度L

比例系数μ

步长上限smax

过程:(1)截取L个样本,进行标准化,计算协方差矩阵S

(2)对S 进行特征分解,使用CPV 法计算得到主元数量k,并截取特征向量和特征值,得到负荷矩阵P、特征值矩阵Λ

(3)计算初始的控制限和

(4)while L+i < M do

(5)获取新样本xL+i,进行标准化

(6)对xL+i求T2和SPE统计量

(7)ifSPE≥δ2αthen

(8)此样本判断为异常,输出异常信息

(9)continue

(10)else ifT2>且SPE<then

(11)此样本为正常样本,加入待更新数组

(12)continue

(13)else

(14)更新窗口,对待更新数组的样本进行标准化

(15)递推计算协方差矩阵S′

(16)对S′进行特征分解,使用CPV法计算得到主元数量k′,得到负荷矩阵P′、特征值矩阵Λ'

(17)计算新的控制限和

(18)end if

(19)end while

输出:异常情况的样本信息

4 实验结果及分析

本文以华南某大型陶瓷砖生产企业的辊道窑为例,生产数据收集自该企业辊道窑2018年4月,共1 120个样本,均为正常样本,其中每个样本包含132个状态变量。根据数据特征和与窑炉生产过程的相关性,选出98 个状态变量,如表1 所示。另外,通过这1 120 个样本,建立仿真模型,引入异常,以此比较PCA、MWPCA、ASMWPCA 方法的异常检测效果。本文的异常情况为某天然气烧嘴的流量缓慢减少到原来的一半,异常样本共800个,数据集划分如表2所示。

表1 辊道窑状态变量

表2 数据集划分

本 文 实 验 所 使 用 的 环 境 为 Intel (R) Core (TM)i5-3210M@2.5 GHz,8 GB RAM,Windows 1 064 位系统,算法使用Python 3.6实现。

本文采用异常检测领域中常用的两个指标,即误报率、检出率,对ASMWPCA 方法的异常检测性能进行验证。其中,误报率和检出率的定义如下:

由两个指标的定义可知,误报率越接近0 则算法性能越好,检出率越接近1则算法性能越好。

在实验过程中,需要确定的参数有移动窗长度L、比例系数μ、步长上限smax。在计算资源足够时,移动窗长度L 应该尽量取大,以提高异常检测的敏感度[16-17]。而当L 取得越大时,smax可以取得越小[18]。比例系数μ主要与判断模型需要更新的敏感度有关,即当μ取得越小时,对应着越小的T2统计量对应阈值,触发更新PCA模型。在本实验过程中,设置L=200,smax=30,μ=0.8,以取得较明显的实验结果。为了得到一致的初始PCA 模型,传统PCA 方法的训练集也取200 个样本,其余设置为测试集,如表2 所示。使用CPV 法可得主元数目为21。实验结果如表3以及图1~3所示。

表3 实验结果对比

图1 传统PCA 方法的T2和SPE统计量

图2 MWPCA方法的T2和SPE统计量

图3 ASMWPCA方法的T2和SPE统计量

实验结果表明,PCA、MWPCA、ASMWPCA 这3 种方法都可以有效检测出辊道窑生产过程中的异常情况。从表3结果结合图1 第500~750 个样本部分的图像,传统PCA 出现明显的误报问题,而MWPCA和ASMWPCA能有效减低误报率,提高检出率。由于MWPCA对新样本进行逐个递推更新模型,而ASMWPCA 积累多个新样本再更新模型,其中跳过共713 次,即大概一半的新样本输入时无需即刻更新PCA 模型,在达到同样异常检测效果的情况下,节省约38%的计算时间。实验结果表明,对于以辊道窑为例的存在慢时变特性的工业过程,ASMWPCA 可以有效提升算法性能,且获得令人满意的异常检测效果。

5 结束语

本文提出了一种基于MWPCA方法的改进算法,ASMWP-CA,并将此方法与传统PCA、MWPCA 进行对比实验。该算法通过积累多个新样本进行数据块更新的方式代替MWPCA逐个新样本更新模型的方式,有效提升了算法性能。在辊道窑的异常检测实例中,验证了ASMWPCA 的优点在于减少PCA模型更新次数、节省计算资源和计算时间的情况下,在与MWPCA相当的异常检测效果时,检测效率明显提高。

猜你喜欢
辊道协方差步长
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
基于随机森林回归的智能手机用步长估计模型
基于Armijo搜索步长的几种共轭梯度法的分析对比
热轧中间辊道冷却方式的优化
高效秩-μ更新自动协方差矩阵自适应演化策略
用于检验散斑协方差矩阵估计性能的白化度评价方法
二维随机变量边缘分布函数的教学探索
不确定系统改进的鲁棒协方差交叉融合稳态Kalman预报器
基于动态步长的无人机三维实时航迹规划
宽体辊道窑预热带蓄热结构数值模拟