基于贝叶斯网络的逻辑报警根源分析方法及系统与流程

文档序号:18548343发布日期:2019-08-27 21:54阅读:269来源:国知局
基于贝叶斯网络的逻辑报警根源分析方法及系统与流程

本发明涉及工业报警技术领域,尤其涉及一种基于贝叶斯网络的逻辑报警根源分析方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

工业报警系统对于现代工厂来说是至关重要的,它可以确保工厂安全高效的运行,防止事故的恶化。其主要功能是检测和通信报警状态的变化,并将其转达给工厂的操作人员,操作人员会采取相应的纠正措施,以处理引起报警的异常状况。

发明人发现,目前有多种方法来分析报警的根本原因,包括制定标准的规则或专家系统来分析报警故障、基于描述异常事件与报警变量之间的关系表解释报警、使用多级流模型或模糊神经网络分析报警原因等等。但是现有的方法需要一定数量的报警次数才能获得对报警根源的可靠估计,并推断报警变量在大时间窗内是否有因果关系;同时现有方法并不能完全有效的处理工业环境经常出现的三种挑战,包括误报警、漏报警、根源不完整。



技术实现要素:

为了解决上述问题,本发明提出一种基于贝叶斯网络的逻辑报警根源分析方法及系统,报警变量与根源变量之间的关系由一个子节点和多个父节点的贝叶斯网络描述,能够在短时间内分析发生报警的根本原因,不需要过多数量的报警次数。

在一些实施方式中,采用如下技术方案:

一种基于贝叶斯网络的逻辑报警根源分析方法,包括:

将报警变量与根源变量用二进制1和0表示出来,对应报警状态与非报警状态;

将报警变量与根源变量之间的关系由一个子节点xa和多个父节点x1,x2,...,xn的贝叶斯网络描述,通过有向无环图表示一组随机变量及其条件的依赖关系,随机变量由网络中的节点表示,取一些离散值;

考虑先验条件概率,并以批量学习法及最大值函数完成后验估计,使用在线更新算法完成贝叶斯网络中概率参数更新;

基于贝叶斯公式计算后验概率,当发生报警时,将后验条件概率以向量的形式表示并降序排列,根据最大后验概率的位置确定根本原因。

在另一些实施方式中,采用如下技术方案:

一种基于贝叶斯网络的逻辑报警根源分析系统,包括:

用于将报警变量与根源变量用二进制1和0表示出来,对应报警状态与非报警状态的模块;

用于考虑先验条件概率,并以批量学习法及最大值函数完成后验估计,使用在线更新算法完成贝叶斯网络中概率参数更新的模块;

用于基于贝叶斯公式计算后验概率,当发生报警时,将后验条件概率以向量的形式表示并降序排列,根据最大后验概率的位置确定根本原因的模块。

在另一些实施方式中,采用如下技术方案:

一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行上述的基于贝叶斯网络的逻辑报警根源分析方法。

在另一些实施方式中,采用如下技术方案:

一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行上述的基于贝叶斯网络的逻辑报警根源分析方法。

与现有技术相比,本发明的有益效果是:

本发明提出一种基于贝叶斯网络的逻辑报警根源分析方法及系统,可以在线获取观数据测样本并以递归方式更新贝叶斯网络中概率参数,能够有效处理工业环境中经常出现的三种挑战。也就是说,它消除了误报警和漏报警的负面影响,可以处理多个根源的并存问题,并检测已知根源的不完整性。

本发明通过贝叶斯网络逻辑分析的方法减少了随机噪声的影响,保证了根源分析的正确性;可以分析出多个共存的根本原因,避免只关注最初出现的根本原因;由于已知报警的根本原因可能是不完整的,本发明考虑了该种情况,并给出了相关检测方法。

附图说明

图1为本发明实施例一中所涉及的贝叶斯网络结构图。

图2为本发明实施例一中收集的数据样本。

图3为本发明实施例一中四组历史数据样本。

图4为本发明实施例一中根本原因分析结果图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

实施例一

针对背景技术中所描述的报警根源分析方面存在的三个主要问题,本实施例提供了一种基于贝叶斯网络的逻辑报警根源分析方法,通过应用本实施例所述技术,根据报警变量的变化在所有根源变量中检测根本原因变量,可能是一个也可能是多个变量,并且可以在线获取数据样本以更新后验概率参数,克服了随机噪声干扰,根本原因变量分析不全以及根源变量不完整的问题。

本实施例基于贝叶斯网络的逻辑报警根源分析方法具体包括以下步骤:

步骤1:确定贝叶斯网络参数的更新概率。

步骤1.1:使用如图1所示的贝叶斯网络描述报警变量xa与根源变量x1,x2,...,xn,通过有向无环图表示一组随机变量及其条件依赖关系,由贝叶斯网络中的节点表示随机变量,并取一些离散值。图1中所示,x1,x2,...,xn是xa的父节点,并且相应的取0或1,并以θi,0和θi,1表示xi(i∈[1,n])取0和1的概率,例如:θi,0=p(xi=0),θi,1=p(xi=1)。

设r={x1,x2......xn}是xa的父节点集,且rj(j∈[1,2n])是xa的父节点可能取值的第j个值集。以θa,0|j和θa,1|j分别表示r取rj条件下xa取0和1的先验条件概率,即:θa,0|j=p(xa=0|r=rj),θa,1|j=p(xa=1|r=rj),并且这些参数都满足约束条件:

步骤1.2:为了方便在线根源分析,设贝叶斯网络中由观测样本和递归方式更新的概率参数集为θ={θi,0,θi,1,θa,0|j,θa,1|j},其中i=1,2,......n,j=1,2,......2n

概率参数集需要根据先验参数集和观测数据样本x1,x2,......xn更新。并针对历史数据集d={x(1),......x(t-1),x(t)},x(t)=[x1(t),x2(t),......xn(t),xa(t)]t采用批量学习算法,则后验估计可由最大值化函数得到,即:其中ld(θ)是平均似然对数函数,其中设x(l1)和x(l2)对于所有的l1≠l2相互独立,惩罚函数是用来计算θ与之间的χ2距离,λ是参数更新速率。

最终历史数据集d由当前样本x(t)替代,同时分别由替代。其中,表示先验估计;表示采用批量学习算法的到的后验估计;表示前一时刻的后验估计;表示当前时刻的后验估计。

步骤1.3:先验估计θ可由当前数据样本x(t)=[x1(t),x2(t),......xn(t),xa(t)]t得到,假设xa(t)取值为1并且r(t)(数据样本x(t)的前n个)取第j个父节点集rj,即p(xa(t)=1,r(t)=rj|x(t))=1,p(xa(t)=1|x(t))=1。用当前样本x(t)替代批处理中的历史数据集d,得到:

同时,为了满足等式θa,0|j(t)+θa,1|j(t)=1,参数θa,0|j(t)更新为:θa,0|j(t)=(1-λ)θa,0|j(t)。

对于父节点集rk(k∈[1,2n],k≠j),相应的概率参数不变,即:

θa,1|k(t)=θa,1|k(t-1),θa,0|k(t)=θa,0|k(t-1)。

当x(t)中xi(t)=1,i∈[1,n]时,即p(xi(t)=1|x(t))=1时相应的概率参数更新为:

θi,1(t)=λp(xi(t)=1|x(t))+(1-λ)θi,1(t-1)和θi,0(t-1)=(1-λ)θi,0(t-1)。

同样,当xa(t)=0,r(t)=rj时,以上对应的概率参数可以更新为:

θa,0|j(t)=λ+(1+λ)θa,0|j(t-1),θa,1|j(t)=(1-λ)θa,1|j(t);

若xi(t)=0,以上相对应的概率参数可以更新为:

θi,0(t)=λ+(1-λ)θi,0(t-1),θi,1(t)=(1-λ)θi,1(t-1)。

因此,概率参数集可由上述公式在线更新为θ(t)={θi,0(t),θi,1(t),θa,0|j(t),θa,1|j(t)},i=1,2,......n,j=1,2,......2n

步骤2:分析报警发生的根本原因。将xa的值表示为xa,xi在第j个父节点集的值表示为xi.j。根据贝叶斯规则,得到基于xa的后验条件概率rj:

根据链式规则以及x1,...,xn之间的相互独立性,联合概率可以表示为:

使用上述得到的联合概率以及更新的概率参数θ(t),后验概率参数即p(r=rj|xa=xa)以在线的方式更新为:

其中,表示r取rj条件下xi取0或1的概率;表示r取rj条件下xa取0或1的概率。

为了不失一般性,以表示父节点集{x1(t)=0,...,xn(t)=0}。

当xa处于非报警状态时,并不需要分析报警的根本原因。

的分子表示为当xa=1时将后验条件概率定义为一个向量:将该向量以降序排列,记为(θp,s,η)=max(θp),向量η包含已排列元素的下标。则根本原因为其中η(1)表示η的第一个元素。换句话说,如果θj|1(t),j∈[1,2n-1]是最大的后验条件概率,那么xa处于报警状态时,根本原因为rj中父节点集中x1,...,xn中取值为1的变量;如果最后一个元素为最大值,那么可以得知xa=1是由根源变量x1,...,xn之外的一些未知原因导致的。

记θa,0和θa,1分别为xa取0和1的概率。

如果xa=1,那么θa,0(t)和θa,1(t)可以由步骤1.3中类似的得到:

θa,1(t)=λ+(1-λ)θa,1(t-1),θa,0(t)=(1-λ)θa,0(t-1);

当xa=0时,相应的,

θa,0(t)=λ+(1-λ)θa,0(t-1),θa,1(t)=(1-λ)θa,1(t-1)。

如果θa,0(t)>θa,1(t),那么根源分析结果将被置零。因此导致报警的根本原因可以表示为:

最终,需要设置更新速率参数λ。为了达到θ(t)的无偏估计更新速率参数需满足λ∈[0,1]。当报警变量xa由0转变到1,其随后的m个样本xa也取1,那么xa的真实状态就由0转变到1,反之则认为本次报警为误报或者漏报。工业标准isa根据不同类型工艺变量的变化率,给出了表1中m的推荐值。当xi在0与1状态之间变化时,参数更新速率需要满足表中的m推荐值。

表1工业标准中变量相关样本的推荐值

以下是本发明所述方法在具体示例中的应用。

以某大型300mw火力发电机组为例,凝汽器热井水位是一个重要的过程变量,水位过高,会降低换热空间和冷凝器真空度,降低发电效率;如果水位过高。则出口水泵会出现汽蚀现象,对除氧器水位产生不利影响。因此配置报警变量xa来指示凝汽器热井水位异常情况的发生,该变量通过逻辑机制产生并且有五个根本原因,其根本原因如下:x1、x2分别代表a、b出口凝汽器水泵故障;x3(x4)是表示凝汽器热井水位高于(低于)876mm(300mm)的硬性指标;x5是当冷凝器热井水位的模拟测量xc大于876mm或小于724mm时,单报警变量的输出,取值1。当x1,x2,...,x5中的任意一个取值为1时,xa处于报警状态。

图2给出了关于xa(t),xc(t),x1(t),x2(t),...,x5(t)的数据样本,图中xa有两个时间间隔进入报警状态,通过可视化可以看出xa(t)和x3(t)取值为1时t∈[992.960],然而xc明显处于正常工作区间[724,876]mm内。因此,这些报警属于误报警,事实上x3经常给出误报警,即使xc处在正常工作状态。为了说明这一点图3给出了x3和xc的四组历史数据样本,其中a,b,c三组产生了误报警,d组产生了真实报警。

本发明所述的方法可以应用在该报警变量的检测当中,其中λ=0.0115,m=60。根源分析结果如图4所示,x3(t),x5(t),xa(t)的幅值变化幅度为-0.4,-0.2和0.2,j=0,1,2,3,4分别代表如下情况:xa=0,{x3=1,x5=0,xa=1},

{x3=0,x5=1,xa=1},{x3=1,x5=1,xa=1},{x3=0,x5=0,xa=1}。分析结果不受x3∈(t),t∈[922,960]的误报警影响,在t=2598时刻成功检测到x3x5同时存在异常。

实施例二

在一个或多个实施方式中,公开了一种基于贝叶斯网络的逻辑报警根源分析系统,包括:

用于将报警变量与根源变量用二进制1和0表示出来,对应报警状态与非报警状态的模块;

用于考虑先验条件概率,并以批量学习法及最大值函数完成后验估计,使用在线更新算法完成贝叶斯网络中概率参数更新的模块;

用于基于贝叶斯公式计算后验概率,当发生报警时,将后验条件概率以向量的形式表示并降序排列,根据最大后验概率的位置确定根本原因的模块。

实施例三

在一个或多个实施方式中,公开了一种终端设备,包括服务器,所述服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例一中的基于贝叶斯网络的逻辑报警根源分析方法。为了简洁,在此不再赘述。

应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。

在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。

结合实施例一中的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1