基于
传递
改进
K2
算法
生成
报警
传播
网络
柯永琦
基于传递熵与改进 K2 算法生成报警传播网络柯永琦(南京邮电大学通信与信息工程学院,南京210003)通信作者:柯永琦,E-mail:摘要:工业报警变量数量增多所导致的“报警泛滥”问题,严重影响了报警系统的应有功能.针对此问题,提出一种从过程报警数据集中学习报警变量传递关系的方法.首先,利用传递熵具有准确衡量一阶或多阶自相关性变量间因果关系的特点,识别变量间的因果关系.其次以变量间熵大小为准则,保留传递信息量较大的节点,最后考虑变量在不同状态所占时间比重对 K2 算法进行改进,学习得到最终的报警传播网络.通过在田纳西伊斯曼过程数据集上的验证发现,该方法能够对报警发生的根本原因做出判断并较好地学习得到报警传播路径.关键词:传递熵;改进 K2 算法;报警泛滥;报警传播网络引用格式:柯永琦.基于传递熵与改进 K2 算法生成报警传播网络.计算机系统应用,2023,32(2):258265.http:/www.c-s- of Alarm Propagation Network Based on Transfer Entropy and Improved K2 AlgorithmKEYong-Qi(SchoolofTelecommunicationsandInformationEngineering,NanjingUniversityofPostsandTelecommunications,Nanjing210003,China)Abstract:Theproblemof“alarmflooding”causedbytheincreaseinthenumberofindustrialalarmvariableshasseriouslyaffectedtheproperfunctionsofalarmsystems.Inresponse,thisstudyproposesamethodtolearnthetransferrelationshipofalarmvariablesfromtheprocessalarmdataset.First,leveragingtheabilityoftransferentropytoaccuratelymeasurethecausalrelationshipbetweenvariableswithfirst-orderormulti-orderautocorrelation,thestudyidentifiesthecausalrelationshipbetweenvariables.Second,dependingontheentropyvaluebetweenvariables,thenodesthattransmitalargeamountofinformationarereserved.Finally,theK2algorithmisimprovedbyconsideringthetimeproportionsofvariablesindifferentstates,andthefinalalarmpropagationnetworkisobtainedbylearning.TheverificationontheTennesseeEastmanprocessdatasetrevealsthatthemethodcanjudgetherootcauseofthealarmandwellachievealarmpropagationpathsthroughlearning.Key words:transferentropy;improvedK2algorithm;alarmflooding;alarmpropagationnetwork工业报警的产生与报警阈值、过程测量信息和操作生效时间等因素相关,其提供的报警信息可以辅助操作人员对相关异常进行处理,保障生产安全,达到工业系统稳定运行的效果.随着报警变量配置技术不断进步,使得其在工厂里的数量大幅增加.理论上大量报警变量提供的报警信息能够帮助操作人员进行有效的防护措施,但过多报警变量有可能会在短时间内产生大量警报,产生“报警泛滥”问题,这会给操作人员带来困扰,影响操作人员的应急防护措施.为了解决“报警泛滥”这一问题,近年来提出了多种技术,包括序列对计算机系统应用ISSN1003-3254,CODENCSAOBNE-mail:ComputerSystems&Applications,2023,32(2):258265doi:10.15888/ki.csa.008982http:/www.c-s-中国科学院软件研究所版权所有.Tel:+86-10-62661041基金项目:江苏省自然科学基金(BK20191381)收稿时间:2022-07-04;修改时间:2022-09-07;采用时间:2022-09-21;csa 在线出版时间:2022-11-16CNKI 网络首发时间:2022-11-18258软件技术算法SoftwareTechniqueAlgorithm比1、模块提取方法2等一系列方法,由于其算法的复杂性导致其在实际中使用效果并不是很好,无法有效帮助操作人员应对“报警泛滥”问题.由于因果分析可以找到变量之间的关系,使得在复杂工业过程中建立报警传播网络成为可能.因此,基于因果分析处理工业报警问题逐渐成为这一领域热点研究方向.因果分析建模主要包括知识驱动和数据驱动两种方式,在知识驱动方面,通过分析已有的系统信息和专家知识等过程知识,以获得报警变量之间的因果关联,从而进一步建立因果关系模型.其中,Mondal等人3通过一种新型的状态绝对平均偏差控制图和双层贝叶斯网络对过程进行监测和故障诊断.Tian 等人4基于交叉映射构建因果网络,利用得到的报警传播网络对节点状态进行分析.Dorgo 等人5利用滑动窗口对数据进行预处理,并使用决策树对故障进行监测.基于可解释模型6、邻接矩阵7、贝叶斯网络8等方法也对报警传播网络构建做出了贡献.但生产系统结构的智能化提升以及各类信息传递复杂度的增大,使得单纯的基于知识驱动的建模方法不能满足这类系统的要求.随着各种采集数据系统的成熟,使得分析复杂信息传递关系成为可能.数据驱动建模方法利用生产过程中产生的历史数据,使用先进的数据挖掘算法进行变量之间的因果关系识别.使用较多的算法包括有格兰杰因果分析9和传递熵10,相比较格兰杰因果分析方法,传递熵无需考虑数据类型,对线性数据和非线性数据均有优异的分析结果,更加适用于工业过程的报警分析.因此在工业领域,相关专家学者致力于对传递熵的应用与性能进行优化.例如:Yang 等人11提出动态相异指数构建动态在线子块划分模型,并使用传递熵进行故障变量识别.Ma 等人12对典型变量分析进行检测,然后利用广义重建选取部分故障变量完成传递熵的计算.尽管传递熵在识别因果关系这一问题较其他方法具有一定的优越性,但单独由传递熵构建的报警传递网络往往较为复杂,无法有效定位报警发生的根本原因.单独使用知识驱动或数据驱动的方式无法有效地构建报警传递网络,使得越来越多的学者开始通过知识驱动与数据驱动相结合的方式获得更加准确的因果关系.Chen 等人13利用多元非线性模式分解的方式来获得故障发生数据,并利用多元格兰杰因果关系定位故障发生根本原因,Amin 等人14利用主成分分析和贝叶斯网络相结合地方式来故障检测和诊断.虽然上述方式可以有效判断出故障发生根本原因,但现有方法中很少能够同时对因果传播模型、故障发生根本原因和间接关系进行分析,本文提出的方法旨在丰富这一方面的研究.由于贝叶斯网络可以通过图模型与概率相结合的方式,充分展示过程变量间的强弱因果关系,使得贝叶斯网络能充分应用于工业报警分析过程.本文通过改进贝叶斯网络中的 K2 算法并与传递熵相结合,来建立报警传播网络,贡献主要有以下两点:首先,在 K2 评分函数中引入时间维度,考虑每一节点在不同状态下所占时间比重 K2 评分函数进行改进,以此来提出一种新的评分函数,其次,在利用传递熵与改进 K2 评分函数来构建报警传播网络时,对报警变量状态按高低阈值做进一步细分.剩余内容分为 5 节:第 1 节对拟解决的问题进行描述和转化,第 2 节对提出的方法进行详细介绍,第 3 节利用田纳西伊斯曼过程对提出的方法进行验证,第 4 节对结果进行分析,第 5 节总结提出的方法.1问题描述及转化“报警泛滥”指的是在工业生产过程中,某一个系统设备的异常波动就有可能导致多个报警,而这些报警之间往往存在因果联系.为了有效识别出报警通知之间的关联联系,本文采用报警建模的方式,建立报警事件传播模型,确定异常信息的传播路径,从而最终锁定故障发生的根本原因.整个过程首先需要确定报警变量具体的报警阈值,接着使用报警建模方法对报警变量进行分析,进而确定报警根源.为了得到报警事件传播模型,利用数据驱动来对报警时序信息、设备节点信息进行分析,来初步获得报警关联信息,再使用知识驱动进行结构学习,将建立报警传播模型转化成生成报警传播网络,得到的网络节点表示各个报警变量,节点之间的连线表示因果传递关系.第 2 节详细介绍建立报警传播网络的过程.2报警传播网络构建方式 2.1 网络结构初始化对于报警过程产生的报警变量,利用传递熵来识别报警变量之间的关系,传递熵是信息熵15的扩展,由于两两之间的传递熵具有不对称的特点,因此可用于变量之间的因果关系判断.传递熵16的计算公式如下:Tyx=xn,xn+h,ynP(xn+h,xn,yn)logP(xn+h,xn,yn)P(xn)P(xn,yn)P(xn+h,xn)(1)xnxnynynxn+hxn+hP(xn)其中,为序列 在采样时刻 的值,为序列 在采样时刻 的值,为序列 在采样时刻的值,为序2023年第32卷第2期http:/www.c-s-计 算 机 系 统 应 用SoftwareTechniqueAlgorithm软件技术算法259xnP(xn+h,xn,yn)Tyxyxyx列 在时刻 取对应值的概率,为过渡概率.表示 的信息对 不确定性大小的改变,即 传递给的信息量大小.传递熵的值越大,传递信息量越大,二者之间的因果性越强.x yy xxy基于传递熵的特点,利用如下判断方式进行因与果的判断,若的传递熵大于的传递熵,那么将 称为因,称为果.但由此得到的初始报警传递网络较为复杂,为了对多节点之间传播关系进行判断,保留最有可能的传播路径,使用改进 K2 算法对网络结构进一步学习.改进 K2 算法无法处理节点之间成环的情况,因此,需要进行去环操作来对初步得到的网络进行处理.通过记录每个节点的祖先节点,即与父节点直接或间接连接的节点,和每个节点与子节点之间传递熵的值,每次选择节点之间传递熵最大的值进行判断,判断子节点是否属于祖先节点,若是,则舍弃节点之间的关系,反之,则保留节点之间的关系.之后重复此过程,直到所有节点都判断完毕.在对节点进行去环处理的过程中,由于每次迭代过程都是从节点之间传递熵最大的节点开始,因此可以确保将重要的传递关系保留在不带有循环的传播网络之中,而随着迭代次数的增加,节点之间传递熵值逐渐变小,同时发生成环的可能性变大,所以删除的都是较为不重要的传播关系以确保节点之间不发生成环的情况.去环算法如算法 1 所示.算法1.节点之间去环算法node_genE=GTEGNTE输入:节点祖先节点集合记为,节点与子节点之间传递熵的值记为,报警传播网络记为输出:不带有循环的报警传播网络GTEEmaxmax(E)weight(Emax)0nodeenode_genGNTEGNTEnodeeGTEEmaxmax(E)1.节点之间传递熵最大值2.While3.Ifnotin4.5.End6.节点之间传递熵最大值7.End 2.2 结构学习评分函数是结构学习中十分重要的一部分,最终学习得到的结果就是评分最高的网络结构,提出的改进 K2 算法较 K2 算法增加时间维度,具体改进之后的公式如下:K(i,i)=ni=1qij=1(log(ri1)!(Nij(D