一种基于多块非线性交叉关系模型的分布式故障检测方法与流程

文档序号:16132715发布日期:2018-12-01 00:30阅读:143来源:国知局
本发明涉及一种数据驱动的故障检测方法,尤其涉及一种基于多块非线性交叉关系模型的分布式故障检测方法。
背景技术
保证持续正常的生产状态对于降低企业生产成本与保证生产安全具有重要性意义,通常采取的技术手段无外乎对过程运行状态实施实时监测,从而及时地甄别出系统出现的异常状态。近年来,随着工业大规模与“大数据”建设的推进,生产过程中可以采集大量的实时数据而无法建立精确的机理模型,这为数据驱动的故障监测方法的兴起与广泛应用做好了铺垫。近年来,考虑到现代工业过程的大规模性,基于主成分分析(principalcomponentanalysis,pca)算法的故障检测方法已经从最开始的单个故障检测模型发展成多块建模策略的分布式的故障检测。由于现代工业过程的大规模趋势,整个生成单元通常由诸多个子生产单元组成。因此,可以将所有的测量变量按照生产单元的归属划分成多个子变量块,然后对每个子变量块分别实施监测就是分布式故障检测方法的核心本质。一般来讲,分布式的故障检测方法由于实施多块建模策略,能够在建模时简化对过程对象分析的难度,而且多块模型的思路通常泛化性能优越于单个模型。将大规模的被监测过程对象分成多个变量子块的方法通常有两种思路:基于过程机理知识分解与从纯采样数据角度出发分解。无论是选择哪种,原测量变量集都会被分成多个重叠与不重叠的变量子块,然后为每个子块建立相应的故障检测模型,如多块pca模型。若是将故障检测算法替换成非线性算法,同样可实施非线性的分布式故障检测。然而,由于整个工业过程对象的测量变量被人为的分成了多块,块与块之间的交叉关系却鲜有研究学者考虑进来,此种问题在将变量分解成多个不重叠的变量子块的分布式故障检测方法中尤为多见。不可否认,现代工业过程各生产子单元之间还存在交叉的关系,比如产品的回流进入其他生产单元,以及利用不同生产单元间的反馈信号实施控制等等。直接按照生产单元分成的不重叠的变量子块的做法,不能将不同生产单元之间的交叉关系考虑进来。因此,传统的分布式故障监测方法还有待进一步的改进。此外,多个生产子单元之间的交叉关系若是使用线性模型进行描述,通常存在欠拟合问题,最佳的措施应该是非线性的模型来描述多块之间的交叉关系。作为一种经典的非线性建模算法,径向基函数(radialbasisfunction,rbf)网络具备卓越的非线性拟合能力。在应用中,除离线训练rbf网络需要一定时间外,在线使用rbf神经网络计算效率较快。技术实现要素:本发明所要解决的主要技术问题是:如何建立多块非线性交叉关系模型,从而实施更加可靠而有效的分布式故障检测。具体来讲,本发明方法首先根据各生产单元测量变量的归属,将所有测量变量划分成不重叠的多个变量子块;其次,利用rbf网络为各个变量子块及其它变量子块之间的非线性交叉关系模型;最后,利用剔除交叉关系影响的误差实施建模与故障检测。本发明解决上述技术问题所采用的技术方案为:一种基于多块非线性交叉关系模型的分布式故障检测方法,包括以下步骤:(1)采集生产过程对象中所有生产单元正常运行状态下的样本数据,组成训练数据集x∈rn×m,并对其进行标准化处理,得到均值为0、标准差为1的新数据矩阵其中,n为训练样本总数,m为过程对象所有测量变量的个数,r为实数集,rn×m表示n×m维的实数矩阵。(2)根据过程对象流程图确定c个生产子单元后,根据各测量变量的生产单元归属,将m个测量变量分成c个不同的变量子块,并保证每个测量变量在各变量子块中只出现且仅有一次。(3)依据c个不同的变量子块将矩阵对应地分成c个不同的子矩阵x1,x2,…,xc,其中c=1,2,…,c,mc为第c个变量子块中变量个数且满足条件∑mc=m。(4)设置rbf神经网络隐层节点数k,并初始化c=1。(5)将第c个子矩阵xc做为rbf网络模型的输出,同时将zc=[x1,…,xc-1,xc+1,…xc]做为rbf网络模型的输入,训练得到相应的rbf网络,那么由输入zc到输出xc之间的非线性关系即为第c个子块与其他变量子块之间的非线性交叉关系模型,其中为rbf网络对输出的估计值。利用输入zc与输出xc训练rbf网络的详细实施过程如下①至⑨所示:①随机从输入矩阵zc中任意选取k个行向量分别做为各聚类簇的初始中心点向量。②计算矩阵zc中各行向量与这k个中心点向量之间的距离,并根据距离最小值将各行向量划分进相应的聚类簇中。③计算各聚类簇中所有归属行向量的均值向量,该向量即为该聚类簇新的中心点向量。④判断各中心点向量是否收敛?若否,则返回步骤②;若是,则将收敛后的中心点向量记录为并执行步骤⑤。⑤根据如下所示公式计算第p个隐层节点的rbf参数上式中,p=1,2,…,k,q=1,2,…,k,符号||||表示计算向量的长度。⑥按照如下所示公式计算输入矩阵zc中第i行的行向量zi经隐层第p个神经元节点转换后的输出si,p:上式中,i=1,2,…,n,相应的隐层输出向量为⑦重复步骤⑥直至得到zc中所有n个行向量对应的隐层输出⑧根据公式bc=(sctsc)-1sctxc计算隐层输出sc到输出层输出xc之间的回归系数矩阵bc。⑨通过训练得到的rbf神经网络计算得到的输出估计值xc=f(zc)=scbc。(6)根据公式计算误差矩阵后,判断是否满足条件c<c?若是,则置c=c+1后返回步骤(5);若否,则保留得到c个非线性交叉关系模型,并将c个误差矩阵合并成一个误差矩阵e=[e1,e2,…,ec]。(7)将估计误差矩阵e作为新的训练数据矩阵,对其中的每一列实施标准化处理,得到均值为0,标准差为1的新数据矩阵(8)利用主成分分析算法为建立相应的故障检测模型,并保留模型参数集θ={p,λ,dlim,qlim}以备调用,其中p为投影变量矩阵,λ是由特征值组成的对角矩阵,dlim与qlim分别表示监测统计量d与q的控制上限,具体的实施过程如下所示:①计算的协方差矩阵②求解φ所有特征值γ1≥γ2≥…≥γm所对应的特征向量β1,β2…,βm;③设置保留的主成分个数d为满足如下所示条件的最小值,将对应的d个最大特征值组成对角矩阵λ∈rd×d,并将对应的d个特征向量组成投影变换矩阵p=[β1,β2…,βd]④将特征γ1,γ2,…,γd转变成对角矩阵λ∈rd×d。⑤根据如下所示公式计算dlim与qlim:上两式中,置信水平α=99%,fα(d,n-d)表示自由度为d与n-d的f分布,表示权重为g=a/2b,自由度为h=2a2/b的χ2分布,a与b分别是对应的统计量q的估计均值和估计方差。上述骤(1)至(8)为离线建模阶段,以下步骤(9)至(15)为在线故障检测的实施过程。(9)收集新采样时刻的数据样本x∈r1×m,对其实施与步骤(1)中相同的标准化处理得到新数据向量(10)根据步骤(2)中的c个不同的变量子块,对应地将样本向量分成c个不同的子向量x1,x2,…,xc,并初始化c=1。(11)调用步骤(5)中保留的第c个非线性交叉关系模型,根据公式ec=xc-f(yc)计算出误差向量ec,其中,y=[x1,…,xc-1,xc+1,…,xc]。(12)判断是否满足条件c<c?若是,则置c=c+1后返回步骤(11);若否,则将得到的c个误差e1,e2,…,ec合并成一个误差向量e=[e1,e2,…,ec]。(13)对误差e实施与步骤(7)中相同的标准化处理得到新向量(14)根据如下所示公式计算监测统计指标d与q:上式中,i为m×m维的单位矩阵。(15)判断是否满足条件:d≤dlim且q≤qlim?若是,则当前监测时刻系统处于正常运行状态,返回步骤(9)继续实施在线故障监测;若否,则当前采样数据来自故障工况。与传统方法相比,本发明方法的优势在于:本发明方法利用rbf网络模型为不同生产单元变量子块构建起多块非线性交叉关系模型,在实施分布式故障检测时能后将多变量块之间的交叉关系考虑进来,而不是像传统方法一样直接为多个变量块建立多个故障监测模型。此外,本发明方法虽然是基于所建立其的多块非线性交叉关系模型,但是实施故障检测的模型却只有一个,这能极大的方便在线故障检测的实施与触发故障警报的决策。因此,本发明方法理应具备更优秀的故障检测性能,是一种更为优选的分布式故障检测方法。附图说明图1为本发明方法实施流程图。图2为te过程结构流程图。图3为te过程物料c进口温度故障变化的故障监测详情对比图。具体实施方式下面结合附图与具体的实施案例对本发明方法进行详细的说明。如图1所示,本发明公开一种基于多块非线性交叉关系模型的分布式故障检测方法。下面结合一个具体的工业过程的例子来说明本发明方法的具体实施过程,以及相对于传统分布式pca方法的优越性。应用对象是来自于美国田纳西-伊斯曼(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过程正常工况下的960个采样数据离线建立故障检测模型,包括以下步骤:(1):收集生产过程正常运行状态下的数据样本,组成训练数据集x∈r960×33,并对每个变量进行标准化处理,得到均值为0,标准差为1的新数据矩阵(2):根据如图2所示的过程对象流程图确定c=5个生产子单元后,根据各测量变量的生产单元归属,将33个测量变量分成5个不同的变量子块,相应的变量子块划分结果如表2所示。(3):依据5个不同的变量子块将矩阵对应地分成5个不同的子矩阵x1,x2,…,x5。(4):设置rbf神经网络隐层节点数k=10,并初始化c=1。(5):将第c个子矩阵xc做为rbf网络模型的输出,同时将zc=[x1,…,xc-1,xc+1,…x5]做为rbf网络模型的输入,训练得到相应的rbf网络,那么由输入zc到输出xc之间的非线性关系即为第c个子块与其他变量子块之间的非线性交叉关系模型。表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(6):根据公式计算误差矩阵后,判断是否满足条件c<c?若是,则置c=c+1后返回步骤(5);若否,则保留得到c个非线性交叉关系模型,并将c个误差矩阵合并成一个误差矩阵e=[e1,e2,…,e5]。(7):将估计误差矩阵e作为新的训练数据矩阵,对其实施标准化处理。(8):为建立相应的pca故障监测模型,并保留模型参数集θ={p,λ,dlim,qlim}以备调用。利用te过程物料c进口温度故障变量工况的采样数据作为测试数据,实施在线故障监测。值得指出的是,该测试数据集前160个数据为正常工况,故障工况从161个数据采样时刻引入。(9):收集新采样时刻的数据样本x∈r1×33,对其实施与步骤(1)中相同的标准化处理得到新数据向量(10):根据步骤(2)中的5个不同的变量子块,对应地将样本向量对应地分成5个不同的子向量x1,x2,…,x5;(11):调用步骤(5)中保留的第c个非线性交叉关系模型,根据公式ec=xc-f(yc)计算出误差向量ec,其中,y=[x1,…,xc-1,xc+1,…,x5]。(12):判断是否满足条件c<5?若是,则置c=c+1后返回步骤(11);若否,则将得到的c个误差e1,e2,…,e5合并成一个误差向量e=[e1,e2,…,e5]。(13):对误差e实施与步骤(7)中相同的标准化处理得到新向量(14):计算监测统计指标d与q。(14):判断是否满足条件:d≤dlim且q≤qlim?若是,则当前监测时刻系统处于正常运行状态,返回步骤(9)继续实施在线故障监测;若否,则当前采样数据来自故障工况。如图3所示,本发明方法以及传统分布式pca方法在该测试故障上的监测详情对比图,可以很明显地发现本发明方法的故障漏报率明显低于传统分布式pca方法。因此,本发明方法的监测效果要优越于传统分布式pca故障监测方法。上述实施案例只用来解释说明本发明的具体实施,而不是对本发明进行限制。在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改,都落入本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1