一种基于多变量块交叉相关性剔除的非高斯过程监测方法与流程

文档序号:15115450发布日期:2018-08-07 19:56阅读:133来源:国知局
本发明涉及一种数据驱动的过程监测方法,尤其涉及一种基于多变量块交叉相关性剔除的非高斯过程监测方法。
背景技术
:实时监测生产过程运行状态对于保证生产安全与产品质量的稳定性具有重要性意义,生产实际中通常采取的过程监测技术手段就是我们所熟知的故障监测方法,旨在及时地甄别出系统出现的异常状态。近年来,随着工业大规模化与“大数据”化建设的推进,生产过程中可以很容易地采集到大量的样本数据,但是无法为其建立精确的机理模型。在这种应用背景下,传统基于机理模型的故障监测方法就遇到了发展的瓶颈,而数据驱动的过程监测方法逐步得到重视与广泛的研究。在这一研究领域里,多变量统计过程监测得到了最多的研究与关注。这其中,又当以主成分分析(principalcomponentanalysis,pca)与独立成分分析(independentcomponentanalysis,ica)算法为最主流的两种建模与故障监测方法。两者的共同之处在于通过挖掘训练数据的潜在特征,将过程监测任务转换成一个单分类的模式识别问题。然而,通过现有文献资料与专利技术文件中可以发现,基于ica的过程监测方法能取得的效果通常优越于基于pca的过程监测方法。这主要是因为ica能够挖掘出训练数据的非高斯特征成分,更能揭示事物的本质,同时更能适应于解决非高斯过程的故障监测问题。考虑到现代工业过程的大规模性与复杂特性,生产过程的采样数据一般不符合高斯分布假设,基于ica的非高斯过程监测方法更值得深入研究。此外,由于现代工业过程对象通常有诸多生产子单元组成,直接对对象整体采用一个故障监测模型取得的监测性能往往差强人意。近年来,分布式的建模与故障监测方法得到了广泛的研究与应用。一般来讲,分布式的过程监测方法能够在建模时简化对过程对象分析的难度,而且多模型的思路通常泛化性能优越于单个模型。基于分布式ica的非高斯过程监测方法实施的技术难点主要在于如何将所有的测量变量划分成多个变量子块,一种最简单最直接的划分多变量块的方法就是按照测量变量对应的生产单元归属实施变量块划分。由于现代工业过程各生产子单元之间不是单纯的串联或并联链接关系,相互之间还存在复杂交叉关系,比如产品的回流进入其他生产单元,以及利用不同生产单元间的反馈信号实施控制等等。这种交叉关系体现在采样数据上就是不同变量子块间的数据集存在交叉相关性。因此,直接按照生产单元分成的变量子块的做法,再直接建立多个分布式的过程监测模型不能将不同生产单元之间的交叉相关性考虑进来。因此,传统的分布式的非高斯过程监测方法还有待进一步的改进。可想而知,若是按照生产单元实施分布式故障监测时,能将不同生产单元之间的交叉相关性考虑进来,将会提升相应过程监测方法的性能。可是,若是直接根据生产过程的机理知识分析这种交叉关联关系,需要深入细致的分析过程对象的组成结构情况。这在实际过程中是不可取的,也违背了数据驱动过程监测方法从数据角度出发的优势与理念。技术实现要素:本发明所要解决的主要技术问题是:如何将多变量块之间的交叉相关性考虑进分布式过程建模与过程监测中,从而实施更加可靠而有效的分布式非高斯过程监测。具体来讲,本发明方法首先初步根据各生产单元测量变量的归属,将所有测量变量划分成多个变量子块;其次,利用回归模型将每个变量子块中与其他变量子块之间的交叉相关信息剔除出去;最后,利用剔除交叉相关性后的误差实施基于ica算法的建模与非高斯过程监测。本发明解决上述技术问题所采用的技术方案为:一种基于多变量块交叉相关性剔除的非高斯过程监测方法,包括以下步骤:(1)采集生产过程对象中所有生产单元正常运行状态下的样本数据,组成训练数据集x∈rn×m,并对其进行标准化处理,得到均值为0、标准差为1的新数据矩阵其中,n为训练样本总数,m为过程对象所有测量变量的个数,r为实数集,rn×m表示n×m维的实数矩阵。(2)根据各测量变量的生产单元归属,将m个测量变量分成c个不同的变量子块,其中c表示过程对象中生产单元的个数。值得注意的是,根据过程对象生产单元划分变量子块时,本发明方法不要求对各变量子块做精确的划分。在某些测量变量归属的生产单元可有两个及以上时,可以随意划分该测量变量所属的生产单元。(3)依据c个不同的变量子块将矩阵对应地分成c个不同的子矩阵x1,x2,…,xc,其中c=1,2,…,c,mc为第c个变量子块中变量个数且满足条件∑mc=m。(4)将第c个子矩阵xc做为回归模型的输出,同时将y=[x1,…,xc-1,xc+1,…xc]做为回归模型的输入,利用偏最小二乘算法(partialleastsquare,pls)建立输入-输出之间的回归模型,具体的实施过程如下所示:①置k=1与z=y后,初始化向量uk为矩阵xc的第一列;②根据公式wk=zuk/||zuk||、sk=zwk、qk=xctsk/(sktsk)分别计算得到系数向量wk、得分向量sk、和系数向量qk,其中||zuk||表示计算向量zuk的长度,上标号t表示矩阵或者向量的转置;③根据公式unew=xcqk/qk2计算向量unew;④判断是否满足条件||uk-unew||<10-6?若否,则置uk=unew后返回步骤②;若是,则执行⑤;⑤根据公式pk=ztsk/(sktsk)计算得到第k个投影向量pk∈r(m-1)×1,并保留向量pk、向量wk、和系数向量qk;⑥判断矩阵yk=skpkt中的最大元素是否大于0.01?若是,根据公式z=z-skpkt更新矩阵zi后执行步骤⑦;若否,则得到投影矩阵p=[p1,p2,…,pk]、系数矩阵w=[w1,w2,…,wk]、和向量q=[q1,q2,…,qk],并执行步骤⑧;⑦判断k<m-mc?若是,则置k=k+1后,返回步骤②;若否,则得到最终的投影矩阵p=[p1,p2,…,pk]、系数矩阵w=[w1,w2,…,wk]、和向量q=[q1,q2,…,qk];⑧根据公式br=wr(prtwr)-1qrt计算在保留r个投影向量前提下的回归系数向量br,其中r=1,2,…,k,pr、wr、和qr分别为矩阵p、w、和q中前1至r列向量组成的矩阵;⑨根据公式计算输出xc的预测值后,计算保留不同个数投影向量所对应的模型预测误差其中diag[]表示将矩阵对角线的元素单独组成向量的操作,sum{}表示求取向量中各元素之和;⑩根据mse1,mse2,…,msek的数值变化情况找出预测误差不再发生显著变化的收敛点位置,并将其下标号对应的具体数值作为偏最小二乘模型需保留的投影变量个数k,其中k≤k;根据k确定最终的输入y与输出xc之间的回归模型,即:xc=ywk(pktwk)-1qkt+ec=yθc+ec(1)上式中,回归矩阵θc=wk(pktwk)-1qkt,为回归模型误差;(5)重复步骤(4)直至得到c个pls模型,并将模型误差e1,e2,…,ec合并成一个误差矩阵e=[e1,e2,…,ec]∈rn×m。(6)将估计误差矩阵e作为新的训练数据矩阵,对其中的每一列实施标准化处理,得到均值为0,标准差为1的新数据矩阵(7)对实施白化处理,将其转换成数据矩阵f∈rn×m,并保留白化转换矩阵g∈rm×m,其中m为白化转换向量个数,具体的实施过程如下所示:①计算的协方差矩阵②求解ψ所有m个大于0.001的特征值η1≥η2≥…≥ηm所对应的特征向量β1,β2…,βm;③根据公式对进行白化处理,得到白化后的数据矩阵f∈rn×m,其中,白化转换矩阵g=hφ-1/2、h=[β1,β2…,βm]、以及矩阵φ为η1,η2,…,ηm组成的对角矩阵。(8)利用ica算法为数据矩阵f∈rn×m建立非高斯模型,保留分离矩阵w与混合矩阵a,具体的实施过程如下所示:①初始化i=1;②设置向量di为m×m维单位矩阵中的第i列;③按照公式di←e{fg(ditf)}-e{h(ditf)}di更新向量di,其中函数g(u)=tanh(u)、函数h(u)=[sech(u)]2、u=ditf表示函数自变量;④对更新后的向量di依次按照下式进行正交标准化处理:di←di/||di||(3)⑤重复步骤③~④直至向量di收敛,并保存向量di;⑥判断i<m?若是,置i=i+1后,重复步骤②~⑥;若否,则执行步骤⑦;⑦将得到的所有m个向量d1,d2,…,dm组成矩阵ω=[d1,d2,…,dm]∈rm×m,并按照如下所示公式计算初始分离矩阵w0∈rm×m与初始混合矩阵a0∈rm×m:w0=hφ-1/2ωa0=hφ1/2ω(4)⑧计算a0中每一列向量的长度,分别记为l1,l2,…,lm,并将l1,l2,…,lm按照数值大小进行降序排列得到l1,l2,…,lm,那么保留的独立成分个数k为满足下列条件的最小值:⑨将a0中列向量长度最大的μ个列向量组成混合矩阵a∈rm×μ,同时从w0中取出与a对应的列向量组成新分离矩阵w∈rm×μ。(9)根据公式与分别计算独立成分矩阵s与残差矩阵(10)根据公式i2=diag[sst]与分别计算训练数据对应的监测统计量i2与spe,并找出i2与spe中最大值分别记录为与spelim。上述步骤(1)~(10)为本发明方法的离线建模过程,如下所示步骤(11)~(17)为在线过程监测过程。(11)收集新采样时刻的数据样本x∈r1×m,对其实施与步骤(1)中相同的标准化处理得到新数据向量(12)根据步骤(2)中的c个不同的变量子块,对应地将样本向量对应地分成c个不同的子向量x1,x2,…,xc。(13)调用步骤(4)中建立的第c个pls模型,根据如下所示公式计算出多变量块相关性剔除后的误差ec:ec=xc-yθc(6)上式中,y=[x1,…,xc-1,xc+1,,xc]。(14)重复步骤(13)直至得到c个误差e1,e2,…,ec,并将这些误差合并成一个误差向量e=[e1,e2,…,ec]。(15)对误差e实施与步骤(6)中相同的标准化处理得到新向量(16)根据如下所示公式计算监测统计指标i2与spe:上式中,上标号t表示矩阵或者向量的转置。(17)判断是否满足条件:且spe≤spelim?若是,则当前监测时刻系统处于正常运行状态,返回步骤(11)继续实施在线故障监测;若否,则当前采样数据来自故障工况。与传统方法相比,本发明方法的优势在于:本发明方法的主要创新在于利用回归模型将不同多变量子块之间的交叉相关性考虑进来,以交叉相关性剔除后的误差做为新的监测对象。本发明方法利用的误差不仅能够反映出多变量块之间交叉相关关系是否发生变化,而且还能体现各变量块自身的交叉相关性特征。因此,本发明方法理应具备更优秀的故障监测性能,是一种更为优选的非高斯过程监测方法。附图说明图1为本发明方法实施流程图。图2为te过程结构流程图。图3为交叉相关性示意图。图4为te过程第20类故障的监测详情对比图。具体实施方式下面结合附图与具体的实施案例对本发明方法进行详细的说明。如图1所示,一种基于多生产单元变量交叉相关解耦策略的故障监测方法。下面结合一个具体的工业过程的例子来说明本发明方法的具体实施过程,以及相对于传统基于ica的非高斯过程监测方法的优越性。应用对象是来自于美国田纳西-伊斯曼(te)化工过程实验,原型是伊斯曼化工生产车间的一个实际工艺流程。如图2所示,te过程的生产流程比较复杂性,包含5个主要的生产单元:反应器、冷凝器、分离塔、汽提塔、和压缩机。te过程已作为一个标准实验平台被广泛用于故障监测研究,整个te过程包括22个测量变量、12个操作变量、和19个成分测量变量。本次选取如表1所示的33个过程变量实施离线建模与在线故障监测,接下来结合该te过程对本发明具体实施步骤进行详细的阐述。表1:te过程监测变量。序号变量描述序号变量描述序号变量描述1物料a流量12分离器液位23d进料阀门位置2物料d流量13分离器压力24e进料阀门位置3物料e流量14分离器塔底流量25a进料阀门位置4总进料流量15汽提塔等级26a和c进料阀门位置5循环流量16汽提塔压力27压缩机循环阀门位置6反应器进料17汽提塔底部流量28排空阀门位置7反应器压力18汽提塔温度29分离器液相阀门位置8反应器等级19汽提塔上部蒸汽30汽提塔液相阀门位置9反应器温度20压缩机功率31汽提塔蒸汽阀门位置10排空速率21反应器冷却水出口温度32反应器冷凝水流量11分离器温度22分离器冷却水出口温度33冷凝器冷却水流量首先,利用te过程正常工况下的采样数据离线建立故障监测模型,包括以下步骤:(1):收集生产过程正常运行状态下的数据样本,组成训练数据集x∈r960×33,并对每个变量进行标准化处理,得到均值为0,标准差为1的新数据矩阵表2:多生产单元变量子块划分结果。生产单元名称:变量子块中的变量编号:反应器1,2,3,6,7,8,9,21,23,24,25,32冷凝器33分离塔4,15,16,17,18,19,26,30,31汽提塔10,11,12,13,14,22,28,28压缩机5,20,27(2):根据各测量变量的生产单元归属,将33个测量变量分成5个不同的变量子块,相应的变量子块划分结果如表2所示。(3):依据5个不同的变量子块将矩阵对应地分成5个不同的子矩阵x1,x2,…,x5。(4):将第c个子矩阵xc做为回归模型的输出,同时将y=[x1,…,xc-1,xc+1,…x5]做为回归模型的输入,利用pls算法建立输入-输出之间的回归模型:xc=yθc+ec。(5):重复步骤(4)直至得到5个pls模型,并将模型误差e1,e2,…,e5合并成一个误差矩阵e=[e1,e2,…,e5]。为验证多变量块相关性剔除特征,特将e5与输入y=[x1,x2,x3,x4]之间的交叉相关性示意图显示于图3中。从图3中可以发现,压缩机生产单元对应的误差e5与其他生产单元的测量变量间的时序相关性几乎全部为0,即体现出了交叉相关解耦。(6):将估计误差矩阵e作为新的训练数据矩阵,对其实施标准化处理。(7):对实施白化处理,将其转换成数据矩阵f∈r960×30,并保留白化转换矩阵g∈r33×30。(8):利用ica算法为数据矩阵f∈rn×m建立非高斯模型,保留分离矩阵w与混合矩阵a。(9):根据公式与分别计算独立成分矩阵s与残差矩阵(10):根据公式i2=diag[sst]与分别计算训练数据对应的监测统计量i2与spe,并找出i2与spe中最大值分别记录为与spelim。利用te过程第20类故障变量工况的采样数据作为测试数据,实施在线故障监测。值得指出的是,该测试数据集前160个数据为正常工况,故障工况从161个数据采样时刻引入。(11):收集新采样时刻的数据样本x∈r1×33,对其实施与步骤(1)中相同的标准化处理得到新数据向量后。(12):根据步骤(2)中的5个不同的变量子块,对应地将样本向量对应地分成5个不同的子向量x1,x2,…,x5;(13):调用步骤(4)中建立的第c个pls模型,根据如下所示公式计算出多生产单元变量交叉相关解耦后的误差ec。(14):重复步骤(10)直至得到5个误差e1,e2,…,e5,并将这些误差合并成一个误差向量e=[e1,e2,…,e5]。(15):对误差e实施与步骤(6)中相同的标准化处理得到新向量。(16):计算监测统计指标i2与spe。(17):判断是否满足条件:且spe≤spelim?若是,则当前监测时刻系统处于正常运行状态,返回步骤(11)继续实施在线故障监测;若否,则当前采样数据来自故障工况。如图4所示,本发明方法以及传统ica方法在该测试故障上的监测详情对比图,可以很明显地发现本发明方法的spe监测统计量的故障漏报率明显低于传统ica方法。因此,本发明方法是一种更优越的非高斯过程监测方法。上述实施案例只用来解释说明本发明的具体实施,而不是对本发明进行限制。在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改,都落入本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1