CN117472679A - 结合数据流和控制流漂移发现的异常检测方法及系统 - Google Patents
结合数据流和控制流漂移发现的异常检测方法及系统 Download PDFInfo
- Publication number
- CN117472679A CN117472679A CN202311232791.6A CN202311232791A CN117472679A CN 117472679 A CN117472679 A CN 117472679A CN 202311232791 A CN202311232791 A CN 202311232791A CN 117472679 A CN117472679 A CN 117472679A
- Authority
- CN
- China
- Prior art keywords
- event
- drift
- case
- anomaly
- cases
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 178
- 230000008569 process Effects 0.000 claims abstract description 109
- 230000002159 abnormal effect Effects 0.000 claims abstract description 66
- 238000009826 distribution Methods 0.000 claims abstract description 26
- 230000005856 abnormality Effects 0.000 claims abstract description 18
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 9
- 238000012549 training Methods 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 9
- 238000013459 approach Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 230000002547 anomalous effect Effects 0.000 claims description 3
- 230000000306 recurrent effect Effects 0.000 claims description 3
- 239000010410 layer Substances 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000002355 dual-layer Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001932 seasonal effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于业务过程异常检测技术领域,公开了一种结合数据流和控制流漂移发现的异常检测方法及系统,对事件日志中的事件名与其他事件属性使用独热编码进行统一编码,得到案例特征数据集;构建事件属性预测模型,获取业务过程实例的下一事件的所有可能发生事件及其属性的概率分布;对预测结果进行异常判定,得到候选异常案例集合;使用基于霍夫丁不等式的双层滑动窗口机制、概念漂移比率从候选异常案例集中识别出数据流、控制流漂移案例,进而得到真正的异常案例;采用循环更新策略,使用得到的漂移案例集作为新知识来更新事件属性预测模型。本发明能够较准确地发现事件日志中的数据流漂移,可以获得较高的异常检测准确性。
Description
技术领域
本发明属于业务过程异常检测技术领域,尤其涉及一种结合数据流和控制流漂移发现的异常检测方法及系统。
背景技术
业务过程管理(BusinessProcessManagement,BPM)是一种以规范化地构造端到端的业务过程为中心,以持续提高企业和组织绩效为目的的系统化方法。业务过程监控是BPM的重要任务之一。过程感知信息系统(ProcessAware InformationSystem,PAIS)是由业务过程驱动的信息系统,已在各行各业广泛使用。业务过程监控是在PAIS运行时分析其业务过程执行时产生的事件日志,监控业务过程的性能及其业务目标。
在业务过程的实际运行中,业务过程可能需要做出一定的改变以适应不断变化的外部环境。业务过程中的概念漂移,也称过程漂移,是指业务过程模型在业务过程运行中受多种因素影响而发生变化的情况。在当今充满活力的市场经济中,现代企业和组织越来越有必要简化业务过程,以降低运营成本和提高业务处理效率。客户也希望企业和组织能够灵活地适应不断变化的业务环境。此外,市场供需的极端变化、季节性影响、自然灾害和灾难以及政策改变等情况也迫使现代企业和组织更新其业务过程[3]。例如,2019年01月17日财政部、税务总局发布了文件《关于实施小微企业普惠性税收减免政策的通知》。该文件规定对月销售额10万元以下(含本数)的增值税小规模纳税人,免征增值税。这就需要各大银行迅速做出反应,更新原有的处理贷款申请的业务过程。现在企业和组织的成功越来越取决于其应对运营环境变化的能力。经验表明,假定所研究的业务过程模型总处于稳定的环境中是非常不现实的。上述业务环境变化的发生会引起业务过程模型的结构或事件属性值的约束条件改变,导致业务过程事件日志发生了漂移。发生漂移的业务过程实例应该被视为正常的过程实例,但现有的大部分业务过程异常检测方法无法发现事件日志中发生的漂移,会把他们判定为异常案例,使得异常检测性能降低,也损失了事件日志中可利用的大量案例。一部分业务过程异常检测方法能够发现控制流漂移,但忽略了数据流(即事件日志中的事件属性)出现漂移的情况,无法检测出数据流漂移,影响了业务过程异常检测的准确性。现有的业务过程异常检测方法在处理包含控制流和数据流漂移的业务过程事件日志时遇到了挑战。
在业务过程异常检测研究中,Bezerra等人基于业务过程事件日志,使用过程挖掘方法获取过程模型,通过一致性检测来发现业务过程异常。该方法能检测业务过程的控制流异常,但依赖于低噪声的事件日志。Tax等人使用长短期记忆神经网络(LongShortTermMemorynetwork,LSTM)来预测当前业务过程实例的下一个执行事件,并对比实际事件与预测事件来发现异常。该方法可以获得较好的预测准确率,但LSTM本身存在的长距离依赖问题会影响预测模型的检测准确性。Nolle等人使用LSTM构建用于业务过程异常检测的Binet模型。该模型在自编码器输入中加入数据流,采用无监督训练方式;能检测出业务过程的数据流和控制流异常,提高了异常检测的准确性。孙晋永等人在Binet的基础上引入注意力机制,使用Transformer来构建业务过程异常检测模型TransNet,提出多种注意力策略来捕获事件属性间的依赖关系,进一步提高了业务过程事件属性级异常检测的准确性。
以上方法基本上都获得了较好的异常检测准确率,却未考虑过程漂移对业务过程模型带来的影响。因此,有必要研究业务过程异常检测中的漂移发现方法。在业务过程漂移发现研究中,郑灿彬等人提出了基于可扩展活动关系的概念漂移检测方法,通过分析事件间的逻辑关系在事件日志上检测突变型漂移。郑灿彬等人改进了上述方法,使其能够检测出渐变型漂移。但是使用的数据集是无噪声的事件日志,当事件日志中噪声过高时会出现检测性能下降问题。林雷蕾等人提出基于事件日志完备性的过程漂移检测方法,将突发型漂移检测转换为事件日志中局部完备性计算问题。接着,林雷蕾等人提出基于图卷积神经网络的漂移检测方法,将事件日志轨迹转为活动图,来找出事件日志中的变化时间点,即漂移点。上述方法只关注事件日志的控制流,忽略了事件日志的数据流出现漂移的情况。孙晋永等人提出基于概念漂移发现的业务过程异常检测方法,能够在存在较高噪声的事件日志中发现多种类型漂移,但是只关注控制流漂移,忽略了数据流漂移,故无法处理事件日志中存在数据流漂移的情况。
通过上述分析,现有技术存在的问题及缺陷为:
现有的业务过程异常检测方法不能发现业务过程模型可能发生的数据流漂移,会将合理的数据流漂移案例判定为异常案例,降低了异常检测的准确性。
发明内容
针对现有技术存在的问题,本发明提供了一种结合数据流和控制流漂移发现的异常检测方法及系统。
本发明是这样实现的,一种结合数据流和控制流漂移发现的异常检测方法,所述结合数据流和控制流漂移发现的异常检测方法包括:
步骤一,对事件日志中的事件名(即控制流)与其他事件属性(即数据流)使用独热编码进行统一编码,得到案例特征数据集;
步骤二,使用特征数据集来构建事件属性预测模型,获取业务过程实例的下一事件的所有可能发生事件及其属性的概率分布;
步骤三,对事件属性预测模块生成的预测结果进行异常判定,得到候选异常案例集合;
步骤四,使用基于霍夫丁不等式的双层滑动窗口机制、概念漂移比率从候选异常案例集中识别出数据流、控制流漂移案例,进而得到真正的异常案例;
步骤五,采用循环更新策略,使用得到的漂移案例集作为新知识来更新事件属性预测模型。
进一步,所述步骤一,首先对事件日志中所有出现过的事件名、事件属性采用独热编码方法进行编码,设C为案例集合,Ename为活动名集合,A为事件属性的集合,|Cmax|为事件序列最长的案例的事件序列长度,对于案例的事件序列,在序列的开头与结尾处分别先添加开始事件(Start)与结束事件(End),然后按照事件在事件日志中的出现顺序进行编码。
进一步,所述步骤二,事件属性预测模型分为控制流网络(ControlFlowNet)和数据流网络(DataFlowNet)两部分,ADCDD+方法训练循环神经网络GRU来预测事件及其属性的概率分布,控制流网络的输入为案例集合C中某case的第i-1个事件名f1i-1,f1 i-1的下标1表示这是第一个事件属性,即事件名,Embedding层将事件属性转换为向量,输出层为一个Softmax层,输出结果为第i个事件的所有可能发生事件的概率分布数据流网络的输入为事件名/>GRU的内部状态,进行训练以预测该事件所有属性,数据流网络为每个事件属性提供一个单独的softmax层,输出结果为第i个事件的所有属性的概率分布/>
进一步,所述步骤三,将案例中各个事件和属性发生的概率转化为异常评分,异常评分是一个用于判断业务过程实例的某个事件属性值是否异常的实数s,s为在0到1间的小数,s∈[0,1],异常评分使用函数fscore(P,ptrue)计算,如下式所示:
其中,P为由事件预测模块预测得到的概率分布,(ei,pi)代表此位置事件ei发生的概率为pi,n为事件日志中的事件总数,etrue为实际所发生的事件,ptrue为事件预测模块预测发生事件etrue的概率,i=1,2,3......n;
根据每个案例case中各个事件及其属性的异常评分,使用下式来判定该case是否为候选异常案例
其中θ为异常分数阈值,使用自适应确定事件属性的异常评分阈值的方法来确定θ,由于异常分数高于阈值θ的现象可能是因为概念漂移引起的,所以将这些案例作为候选异常案例,事件日志的候选异常案例集合可以使用一个|A|×|C|的二维数组results来表示,若判定第i个案例有控制流异常,则将results[i][0]标记为1,反之则标记为0,若判定第i个案例的第j个事件属性有数据流异常,则将results中第j行中对应位置即results[i][j]标记为1,反之则标记为0。
进一步,所述步骤四,设置一个二维数组caseds来保存漂移案例,首先关注事件日志的控制流,将数组results的第一行视作一个一维数组,来检测控制流漂移,并将发现的结果保存到数组caseds中,然后,关注事件日志的数据流,对数组results剩下的每一行进行数据流漂移发现,并将发现的结果保存到数组caseds中:
(1)概念漂移判定方法
首先根据案例case的id定位到二维数组results的相应位置,然后从中确定漂移发生的位置,对于边界情况,即事件日志全部为漂移案例,此时数组results中数据全部为0,为了发现并定位控制流和数据流漂移的发生位置,本发明提出基于霍夫丁不等式来估算两种漂移的判定阈值的双层滑动窗口机制,
在候选异常案例数组results的每一行上设置一个双层滑动窗口,上层窗口UW由多个基本窗口Wi组成,Wi即为UW的子序列,本质上,UW是数组results中的一段子序列,其中存储着案例id及异常判定结果,UW可表示为下式:
UW={W1,W2,W3......Wn-1,Wn} (3)
设ki为图3中双层窗口Wi内数据的平均值,即ki=sum(Wi)/len(Wi),i=1,2,3......n,记km为所有ki中的最大值,m∈[1,n],在UW内,若存在km-ki>εd,则认为Wi中发生了概念漂移,如果在数组results的第一行检测出概念漂移,则认为发生了控制流漂移,如果在非第一行检测出概念漂移,则认为发生了数据流漂移,其中概念漂移阈值εd由下式确定,式4是霍夫丁不等式的变体:
假设待测数据K={k1,k2......kn},ki∈[0,1],i=1,2,3......n,将K代入式(4),可得如下式的εd计算公式:
其中,δ为事件日志中案例的异常率。
设定当候选异常案例数组results中候选异常案例的个数与数组results的长度之比小于错误率δ时,即认为所检测case数量不足,此时,概念漂移发现模块停止检测,等待输入更多案例;
(2)滑动窗口大小计算方法
先确定滑动窗口大小的上下限,再使用漂移比率计算合适上层窗口大小,设定上层窗口大小Wup的上限为候选异常案例数组results中所有候选异常案例的数量,记为uwmax,设定Wup的下限设为其中,n为测试集案例数量之和,δ定义为允许的错误率,在[uwmin,uwmax]中构造一个候选窗口集合T,如下式所示:
在式(6)中,k为候选区间的等分份数,k≥1。为了兼顾计算时间与准确度,本文取k=10,对在运算过程中得到的小数向下取整,使用差分法来估计概念漂移比率梯度的近似值,当该近似值接近0时,则认为概念漂移比率不再发生变化,概念漂移比率梯度的计算如下式所示:
基于概念漂移比率梯度,在候选窗口集合T中挑选出合适的上层窗口大小,伪代码如下所示:
算法1的第1行初始化行数变量i,第2行将行数加1,即继续对后续事件属性进行下述操作,直到获取了所有事件属性的上层窗口大小,第4—5行确定了候选窗口集合T和各案例在不同事件属性上的概念漂移比率,第6行计算差距概念漂移比率r数值变化很小的一个区间,即概念漂移比率梯度趋近于0的区间,其中ε是一个很小的值。本文设ε=average(R)/3,第7—16行,从多个候选的概念漂移阈值区间中选择区间大小最大的区间作为候选窗口区间,并将候选阈值区间的平均值作为所确定的上层滑动窗口大小。
进一步,所述步骤五,先从训练事件属性预测模型的事件日志中抽取部分案例作为旧知识,组成旧知识训练集,然后将所检测到的漂移案例集合作为新知识训练集,将旧知识训练集与新知识训练集之比定为(1-Φ):Φ,预测模型更新模块中,首先提取漂移案例集合caseds的每一行,然后将每一行作为新知识更新模型,在对每一行的漂移事件属性执行迭代更新模型操作时,对同一预测模型不断更新,使其能够学习到所有漂移事件属性的特征,最后,使用更新后的预测模型重新预测含概念漂移的事件日志,进而得到正确的异常检测结果。
本发明的另一目的在于提供一种结合数据流和控制流漂移发现的异常检测系统,所述结合数据流和控制流漂移发现的异常检测系统包括:
特征提取模块,用于对事件日志中的事件名(即控制流)与其他事件属性(即数据流)使用独热编码进行统一编码,得到案例特征数据集;
事件属性预测模块,用于构建事件属性预测模型,测业务过程实例的下一执行事件及其属性发生的概率;
异常检测模块,用于对事件属性预测模块生成的预测结果进行异常判定,得到候选异常案例集合;
概念漂移检测模块,用于发现候选异常案例集合中的控制流和数据流漂移,找出其中的漂移案例;
预测模型更新模块,用于更新事件属性预测模型,使更新后的异常检测模型能分辨出漂移案例与异常案例,进而提高业务过程异常检测方法的准确性。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述结合数据流和控制流漂移发现的异常检测方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述结合数据流和控制流漂移发现的异常检测方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述结合数据流和控制流漂移发现的异常检测系统。
结合上述的技术方案和解决的技术问题,析本发明所要保护的技术方案所具备的优点及积极效果为:
第一、针对上述现有技术存在的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
(1)使用深度学习技术学习获得事件属性预测模型,该模型能预测业务过程下一个事件的所有属性值的概率。
(2)在异常建模模块,使用事件属性预测模型获得的事件属性值概率和真实发生的事件属性值进行计算,获得异常候选集。
(3)使用概念漂移比率、霍夫丁不等式和双层滑动窗口计算异常候选集中的概念漂移事件和属性。
(4)使用循环更新策略将概念漂移事件更新到事件属性预测模型中。
(5)相比现有的业务过程异常检测方法,本发明能够较准确地发现事件日志中的数据流漂移和控制流漂移,对于包含数据流和控制流漂移的事件日志可以获得较高的异常检测准确性。
第二、在业务过程的实际运行中,业务过程可能需要做出一定的改变以适应不断变化的外部环境。业务过程中的概念漂移,是指业务过程模型在业务过程运行中受多种因素影响而发生变化的情况。
现有的业务过程异常检测方法能够发现控制流漂移,但忽略了数据流(即事件日志中的事件属性)出现漂移的情况,无法检测出数据流漂移,影响了业务过程异常检测的准确性。
本发明技术基于概念漂移发现的业务过程异常检测方法,能够在存在较高噪声的事件日志中发现多种类型漂移。本发明技术主要关注数据流漂移,提出一种结合数据流和控制流漂移发现的业务过程异常检测方法。首先从业务过程事件日志中获取案例特征数据集,然后构建事件属性预测模型来获取业务过程实例的下一事件的所有可能发生事件及其属性的概率分布,使用异常评分获得候选异常案例集。接着基于霍夫丁不等式的双层滑动窗口机制、概念漂移比率从候选异常案例集中识别出数据流、控制流漂移案例,剩下的案例就是真正的异常案例。最后使用漂移案例集作为新知识来更新事件属性预测模型,使得本发明技术的检测性能更加稳定。
第三、本发明的技术方案转化后的预期收益和商业价值为:
现有的大部分业务过程异常检测方法无法发现事件日志中发生的漂移,会把他们判定为异常案例,使得异常检测性能降低,也损失了事件日志中可利用的大量案例。
现有的业务过程异常检测方法在处理包含控制流和数据流漂移的业务过程事件日志时遇到了挑战。本发明技术能同时处理业务过程中的控制流概念漂移和数据流概念漂移。
在当今充满活力的市场经济中,现代企业和组织越来越有必要简化业务过程,以降低运营成本和提高业务处理效率。客户也希望企业和组织能够灵活地适应不断变化的业务环境。此外,市场供需的极端变化、季节性影响、自然灾害和灾难以及政策改变等情况也迫使现代企业和组织更新其业务过程。
本发明的技术方案填补了国内外业内技术空白:一部分业务过程异常检测方法能够发现控制流漂移,但忽略了数据流(即事件日志中的事件属性)出现漂移的情况,无法检测出数据流漂移,影响了业务过程异常检测的准确性。本发明技术结合数据流和控制流漂移发现的业务过程中的概念漂移和异常,填补了现存的概念漂移发现方法只能发现控制流概念漂移无法发现数据流概念漂移的空缺。
本发明的技术方案是否克服了技术偏见:一部分业务过程异常检测方法能够发现控制流漂移,但忽略了数据流(即事件日志中的事件属性)出现漂移的情况,无法检测出数据流漂移,影响了业务过程异常检测的准确性。现有的业务过程异常检测方法在处理包含控制流和数据流漂移的业务过程事件日志时遇到了挑战。本发明技术主要关注数据流漂移,提出一种结合数据流和控制流漂移发现的业务过程异常检测方法。该发明技术首先从业务过程事件日志中获取案例特征数据集,然后构建事件属性预测模型来获取业务过程实例的下一事件的所有可能发生事件及其属性的概率分布,使用异常评分获得候选异常案例集。接着基于霍夫丁不等式的双层滑动窗口机制、概念漂移比率从候选异常案例集中识别出数据流、控制流漂移案例,剩下的案例就是真正的异常案例。最后使用漂移案例集作为新知识来更新事件属性预测模型,使得本发明技术的检测性能更加稳定。
附图说明
图1是本发明实施例提供的方法流程图;
图2是本发明实施例提供的事件属性预测模型的网络结构图;
图3是本发明实施例提供的双层滑动窗口的结构图;
图4是本发明实施例提供的更新事件属性预测模型的流程图;
图5是本发明实施例提供的ADCDD+方法的有效性验证实验结果图;
图6是本发明实施例提供的ADCDD+与其他异常检测方法的性能对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供的结合数据流和控制流漂移发现的异常检测方法包括以下步骤:
S101,对事件日志中的事件名(即控制流)与其他事件属性(即数据流)使用独热编码进行统一编码,得到案例特征数据集;
S102,使用特征数据集来构建事件属性预测模型,获取业务过程实例的下一事件的所有可能发生事件及其属性的概率分布;
S103,对事件属性预测模块生成的预测结果进行异常判定,得到候选异常案例集合;
S104,使用基于霍夫丁不等式的双层滑动窗口机制、概念漂移比率从候选异常案例集中识别出数据流、控制流漂移案例,进而得到真正的异常案例;
S105,采用循环更新策略,使用得到的漂移案例集作为新知识来更新事件属性预测模型。
本发明实施例提供的步骤一,为了关注业务过程事件日志中的数据流特征,在对事件日志进行特征提取时,必须考虑事件属性。事件属性分连续型属性和离散型属性,连续型属性可以转换为离散型属性。为简化表述,目前本发明实施例主要关注业务过程实例的事件的离散型属性,如事件名、资源、执行者等。首先对事件日志中所有出现过的事件名、事件属性采用独热编码方法进行编码。设C为案例集合,Ename为活动名集合,A为事件属性的集合,|Cmax|为事件序列最长的案例的事件序列长度。对于案例的事件序列,在序列的开头与结尾处分别先添加开始事件(Start)与结束事件(End),然后按照事件在事件日志中的出现顺序进行编码。为了方便训练事件属性预测模型,本文将开始事件编码为|Ename|,将结束事件编码为|Ename|-1。对事件属性,按照事件属性在事件日志中出现的顺序从1开始编码。为了保证事件日志数据集中各案例的编码长度相等,在较短案例的事件序列末尾添加0进行填充。将控制流中的事件名与事件的其他属性同样对待,可以统一编码,方便了事件属性预测模型的训练,提高了处理效率。
例1假设事件日志L1中的某个案例case1的事件序列为case1=<e1,e2>,设L1中|Cmax|为5,ei表示case1的事件序列中的第i个事件,e6为开始事件,e5为结束事件。假设每个事件有3个属性其中上标i表示该事件属性从属于事件序列中第i个事件。则case1可编码为
于是,可将整个事件日志编码为一个|C|×|Cmax|×|A|的三维张量Cdata,则case1在Cdata中可表示一个二维张量Tcase1,如表1所示。
表1 case1编码后得到的二维张量Tcase1
例如,在Cdata[i][][]中i标识了事件日志中第i个案例及其事件序列与属性,Cdata[i][j][]则表示事件日志中第i个案例的第j个事件的所有事件属性。Cdata[i][j][k]则代表了事件日志中第i个案例的第j个事件的第k个属性。
本发明实施例提供的步骤二,借鉴Binet方法,构建了事件属性预测模型。此模型分为控制流网络(ControlFlowNet)(左边虚线框中的模块)、数据流网络(DataFlowNet)(右边虚线框中的模块)两部分,如图2所示。ADCDD+方法训练循环神经网络GRU来预测事件及其属性的概率分布。
在图2中,控制流网络的输入为案例集合C中某case的第i-1个事件名f1 i-1。f1 i-1的下标1表示这是第一个事件属性,即事件名。Embedding层将事件属性转换为向量,输出层为一个Softmax层,输出结果为第i个事件的所有可能发生事件的概率分布数据流网络的输入为事件名f1 i、GRU的内部状态,进行训练以预测该事件所有属性。数据流网络为每个事件属性提供一个单独的softmax层。输出结果为第i个事件的所有属性的概率分布
对于某个案例case,从开始事件(Start)起,逐个预测事件序列中各个位置的所有可能事件发生的概率分布,得到该案例case的概率分布P。然而实际场景中的业务过程结构会比较复杂,在案例case中某一事件的下一事件可能有多个合理的事件。考虑到业务过程模型中还可能有并发或循环结构,本发明实施例提供的步骤三,将案例中各个事件和属性发生的概率转化为异常评分。
定义1(异常评分)异常评分是一个用于判断业务过程实例的某个事件属性值是否异常的实数s,s为在0到1间的小数,s∈[0,1]。异常评分使用函数fscore(P,ptrue)计算,如下式所示。
其中,P为由事件预测模块预测得到的概率分布,(ei,pi)代表此位置事件ei发生的概率为pi,n为事件日志中的事件总数,etrue为实际所发生的事件,ptrue为事件预测模块预测发生事件etrue的概率,i=1,2,3......n。
例2假设在某一案例case中某事件e1发生后,下一所有可能的事件发生的概率分布为P,
P={(e1,0.05),(e2,0.05),(e3,0.1),(e4,0.4),(e5,0.4)}
若实际发生事件为e1,则ptrue=0.05,其异常评分为fscore(P,
0.05)=0.1+0.4+0.4=0.9。若实际发生事件为e4,则ptrue=0.4,其异常评分fscore(P,0.4)=0;若实际发生事件为e5,fscore(P,0.4)=0。经分析,发现e4或e5的异常分数为较低值,由此可得下一事件发生e4或e5都是合理的。e1的异常评分最高,说明实际发生事件与模型所预测事件的差异最大,所以如果发生下一事件是e1,则该案例可能发生了异常。这解决了在案例case中某一事件发生后可能有多个合理的事件发生,从而造成异常检测方法将正常案例误判为异常案例的问题。
根据每个案例case中各个事件及其属性的异常评分,本发明实施例使用下式来判定该case是否为候选异常案例
其中θ为异常分数阈值。本文使用自适应确定事件属性的异常评分阈值的方法来确定θ。由于异常分数高于阈值θ的现象可能是因为概念漂移引起的,所以将这些案例作为候选异常案例。事件日志的候选异常案例集合可以使用一个|A|×|C|的二维数组results来表示。若判定第i个案例有控制流异常,则将results[i][0]标记为1,反之则标记为0。若判定第i个案例的第j个事件属性有数据流异常,则将results中第j行中对应位置即results[i][j]标记为1,反之则标记为0。
对于较高噪声的事件日志,在某一事件属性发生后,下一事件属性正常的概率也是大于异常的概率。所以,异常事件属性的异常分数仍会大于正常事件属性的异常分数,从而异常事件属性的判定结果不会变化,即,此处的异常处理模块也可以处理较高噪声的事件日志。
本发明实施例提供的步骤四,为了发现漂移案例,设置一个二维数组caseds来保存漂移案例。本发明实施例的ADCDD+方法首先关注事件日志的控制流,将数组results的第一行视作一个一维数组,来检测控制流漂移,并将发现的结果保存到数组caseds中。然后,关注事件日志的数据流,对数组results剩下的每一行进行数据流漂移发现,并将发现的结果保存到数组caseds中。
(1)概念漂移判定方法
由于概念漂移可能发生在业务过程事件日志中的任何位置,如头部、中间或尾部,本文首先根据案例case的id定位到二维数组results的相应位置,然后从中确定漂移发生的位置。对于边界情况,即事件日志全部为漂移案例,此时数组results中数据全部为0。为了发现并定位控制流和数据流漂移的发生位置,本发明实施例提出基于霍夫丁不等式来估算两种漂移的判定阈值的双层滑动窗口机制。
双层滑动窗口机制的实施过程如下。在候选异常案例数组results的每一行上设置一个双层滑动窗口,如图3所示。上层窗口UW由多个基本窗口Wi组成。Wi即为UW的子序列。本质上,UW是数组results中的一段子序列,其中存储着案例id及异常判定结果。UW可表示为下式。
UW={W1,W2,W3......Wn-1,Wn} (3)
设ki为图3中双层窗口Wi内数据的平均值,即ki=sum(Wi)/len(Wi),i=1,2,3......n。记km为所有ki中的最大值,m∈[1,n]。在UW内,若存在km-ki>εd,则认为Wi中发生了概念漂移。如果在数组results的第一行检测出概念漂移,则认为发生了控制流漂移。如果在非第一行检测出概念漂移,则认为发生了数据流漂移。其中概念漂移阈值εd由下式确定,式4是霍夫丁不等式的变体。
假设待测数据K={k1,k2......kn},ki∈[0,1],i=1,2,3......n,将K代入式(4),可得如下式的εd计算公式。
其中,δ为事件日志中案例的异常率。
对于边界情况,即所检测的事件日志中所有案例全部为被判定为异常漂移案例的情况,这一般是由所检测案例case数量不足造成的,因此需要加入更多case。因此,本发明实施例设定当候选异常案例数组results中候选异常案例的个数与数组results的长度之比小于错误率δ时,即认为所检测case数量不足。此时,概念漂移发现模块停止检测,等待输入更多案例。
(2)滑动窗口大小计算方法
针对案例的不同事件属性可能发生不同类型概念漂移的情况,需要为每一个事件属性计算一个滑动窗口大小。思路是:先确定滑动窗口大小的上下限,再使用漂移比率计算合适上层窗口大小。本文设定上层窗口大小Wup的上限为候选异常案例数组results中所有候选异常案例的数量,记为uwmax。设定Wup的下限设为其中,n为测试集案例数量之和,δ定义为允许的错误率。
在[uwmin,uwmax]中构造一个候选窗口集合T,如下式所示。
在式(6)中,k为候选区间的等分份数,k≥1。为了兼顾计算时间与准确度,本文取k=10,对在运算过程中得到的小数向下取整。为了评估候选异常案例是控制流或数据流漂移案例的可能性,本文定义概念漂移比率如下。
定义2(概念漂移比率)概念漂移比率表示一个案例发生控制流或数据流概念漂移的可能性,用下式计算。
本质上,概念漂移比率就是当候选异常案例数组results的上层窗口大小ti∈T时,案例被判定为概念漂移案例的次数之和与k的比值。其中,函数f(cj,ti)为事件日志中id为cj的案例在上层窗口大小ti∈T时的概念漂移判定结果,i=1,2,3……k,k=10。
候选异常案例数组results中为“0”的元素所在的位置指明了候选异常案例的id。经过式(7)计算后,results中数据为“0”的元素被转化为一个在0、1之间的小数,其代表了该异常候选案例为漂移案例的可能性。
为了确定合适的双层滑动窗口的上层窗口大小,必须在数组results中确定概念漂移比率较高且稳定的候选概念漂移阈值区间。因此,需要获得概念漂移比率变化幅度较小的区间,即概念漂移比率梯度较小的区间。为了解决此问题,本文使用差分法来估计概念漂移比率梯度的近似值。当该近似值接近0时,则认为概念漂移比率不再发生变化。概念漂移比率梯度的计算如下式所示。
于是,基于概念漂移比率梯度,可以在候选窗口集合T中挑选出合适的上层窗口大小。本文设计了计算各事件属性的上层窗口大小的算法1,伪代码如下所示。
算法1的第1行初始化行数变量i,第2行将行数加1,即继续对后续事件属性进行下述操作,直到获取了所有事件属性的上层窗口大小。第4--5行确定了候选窗口集合T和各案例在不同事件属性上的概念漂移比率。第6行计算差距概念漂移比率r数值变化很小的一个区间,即概念漂移比率梯度趋近于0的区间,其中ε是一个很小的值。本文设ε=average(R)/3。由于第4行可能找出多个概念漂移比率梯度趋近于0的区间,于是第7—16行,从多个候选的概念漂移阈值区间中选择区间大小最大的区间作为候选窗口区间,并将候选阈值区间的平均值作为所确定的上层滑动窗口大小。经分析,算法1的时间复杂度为O(k|C|*|A|),空间复杂度为O(|C|*|A|),其中C是案例集合。
本文设置一个二维数组caseds保存所有可能的漂移案例,即漂移案例发现集合caseds。每检测一个事件属性(第一个事件属性为事件名,即控制流元素),若发现该事件属性发生概念漂移,则将可能发生漂移的案例id存入caseds。然后开始检测下一个事件属性,同时caseds行数加1。重复上述操作,直到所有事件属性均检测完毕为止。最后得到可能发生控制流、数据流漂移的案例id集合caseds。例如,某次漂移检测的结果caseds如表2所示。
表2漂移案例发现集合caseds示例
在表2中,第一行表示了案例id为1,5,6,7,8的案例可能发生控制流漂移;第二行表示了案例id为2,4,5,6,7的案例的属性1可能发生数据流漂移;第三行表示了案例id为1,5,6,7,8的案例的属性2可能发生数据流漂移。若有多个事件属性,则表2会有更多行。
本发明实施例提供的步骤五,先从训练事件属性预测模型的事件日志中抽取部分案例作为旧知识,组成旧知识训练集,然后将所检测到的漂移案例集合作为新知识训练集。将旧知识训练集与新知识训练集之比定为(1-Φ):Φ。其中Φ=εd,由式(5)计算。预测模型更新模块的流程图如图4所示。
在图4中,实心圆点为发生漂移的事件或属性,空心圆圈则代表正常事件或属性。首先漂移案例集合caseds的每一行,然后将每一行作为新知识更新模型。在对每一行的漂移事件属性执行迭代更新模型操作时,对同一预测模型不断更新,使其能够学习到所有漂移事件属性的特征。最后,使用更新后的预测模型重新预测含概念漂移的事件日志,进而得到正确的异常检测结果。
本发明实施例提供的结合数据流和控制流漂移发现的异常检测系统包括:
特征提取模块,用于对事件日志中的事件名(即控制流)与其他事件属性(即数据流)使用独热编码进行统一编码,得到案例特征数据集;
事件属性预测模块,用于构建事件属性预测模型,测业务过程实例的下一执行事件及其属性发生的概率;
异常检测模块,用于对事件属性预测模块生成的预测结果进行异常判定,得到候选异常案例集合;
概念漂移检测模块,用于发现候选异常案例集合中的控制流和数据流漂移,找出其中的漂移案例;
预测模型更新模块,用于更新事件属性预测模型,使更新后的异常检测模型能分辨出漂移案例与异常案例,进而提高业务过程异常检测方法的准确性。
为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
1.本发明技术首先对事件日志进行编码,将事件名与其他事件属性一样看待,对他们进行独热编码,获得事件日志的案例特征数据集。
2.用案例特征数据集训练事件属性预测模型,该模型能预测业务过程下一个事件及事件的所有属性值的发生概率。事件属性预测模型的获得可以借助LSTM、GRU等深度学习技术。
3.由事件属性预测模型可以得到案例的事件序列中各个事件及其属性的概率分布。考虑到业务过程模型中还可能有并发或循环结构,为了解决这个问题,需要将案例中各个事件和属性发生的概率转化为异常评分。异常分数高于阈值的案例将保存在二维数组results中。
4.概念漂移检测模块将results中的异常跟概念偏移区分开,其中的概念漂移案例将保存到数组caseds中。
5.将caseds中的信息更新到事件属性预测模型中。
将本发明应用实施例提供的结合数据流和控制流漂移发现的异常检测方法应用于计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述结合数据流和控制流漂移发现的异常检测方法的步骤。
将本发明应用实施例提供的结合数据流和控制流漂移发现的异常检测方法应用于信息数据处理终端,所述信息数据处理终端用于实现所述结合数据流和控制流漂移发现的异常检测系统。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
(1)评价指标
本文使用准确率(Accuracy)、宏查准率(macro-P)、宏查全率(macro-R)、漂移错误率(Error_d)和F1分数(macro-F1)来评价所提出的ADCDD+方法的性能。其中,漂移错误率为Error_d=m/n,m为业务过程异常检测方法将漂移案例误判为异常案例的数量,n为事件日志中的案例总数。F1分数数值越大说明异常检测方法的总体性能越好。
(2)实验设置
由于目前尚无同时考虑业务过程的事件日志中控制流与数据流漂移的业务过程异常检测方法的研究,故没有现成的同时含有控制流与数据流漂移的事件日志数据集可供本文选用。于是,本文选用了现有文献中使用的业务过程模型,该模型包含了循环结构和多个并发或互斥结构,活动名数量多,复杂度较高,能较为全面地测试本文提出的方法。然后,本文使用软件PLG2.0生成人工事件日志ESLog0,最后在ESLog0中随机插入噪声和不同类型的概念漂移,生成含不同噪声比例和漂移类型的测试数据集ESLog1、ESLog2、ESLog3。本文使用生成的4个测试数据开展仿真实验。事件日志数据集的特征信息如表3所示。
表3事件日志数据集的特征信息
ESLog0为训练事件属性预测模型所用。ESLog1、ESLog2、ESLog3中均包含2种事件属性(活动名,执行者)。当事件存在更多的属性时,各测试方法均会对事件属性进行逐个检测。ESLog1中存在事件与事件属性不同时开始的突变型漂移。ESLog2中存在事件与事件属性不同时开始重现型漂移、突变型漂移。ESLog3同样中存在事件与事件属性不同时开始重现型漂移、突变型漂移,但是与ESLog2不同的是ESLog3的噪声比例较高。主要目的是方便ESLog3与ESLog2开展对照试验,观测在不同噪声环境下的本文的ADCDD+方法的性能变化。
(3)实验结果与分析
(3.1)ADCDD+方法的有效性分析
为了检验本文的ADCDD+方法是否可以有效地发现事件日志中的数据流和控制流漂移,本文对ADCDD+方法与ADCDD方法开展对比实验。使用表3中的数据集ESLog0作为训练集,使用数据集ESLog1来进行测试,以验证ADCDD+方法的有效性。
首先,对ESLog0使用ADCDD方法选取其中的80%为训练集,20%为测试集,进行预测模型训练,得到预测模型Sa。然后,对ESLog0使用3.2节所述的编码方法进行特征提取,生成特征数据集CESLog0,选取其中的80%为训练集,20%为测试集,训练事件属性预测模型,得到预测模型Sb。接着,分别使用预测模型Sa,Sb对ESLog1进行漂移发现与异常检测。如图5(a)为数据集ESLog1中真实的控制流和数据流漂移案例与异常案例分布,图5(b)为ADCDD所判定控制流漂移案例与异常案例分布,图5(c)为本文的ADCDD+方法所判定的控制流、数据流漂移案例与异常案例分布。
从图5(a)可以看出,在第400个案例后发生了数据流漂移,在500个案例后发生了控制流漂移。对比图5(a)、5(b),模型Sa可以正常检测异常案例与控制流漂移,但是不能发现数据流漂移。对比图5(a)、5(c),则可以发现模型Sb在能正确识别异常案例的前提下,既可以正确地识别控制流漂移案例,又能正确地识别数据流漂移案例。因此得出,ADCDD+可以有效地发现业务过程的事件日志中的数据流漂移案例。
(3.2)ADCDD+方法的准确性分析
为了评价本文的ADCDD+方法的准确性,将其与Binet、TransNet、ADCDD方法开展以下对比实验。所有方法均先使用ESLog0进行训练,然后使用ESLog1,ESLog2,ESLog3进行性能测试。使用ADCDD+方法与Binet、TransNet、ADCDD方法各开展10次实验,计算指标Accuracy,macro-R,Error_d与F1分数的平均值作为最终指标值。每次实验时,对每种方法计算在控制流与数据流上的Accuracy,macro-R,Error_d与F1分数。具体方法:首先使用待测方法对事件日志的事件序列进行异常检测。若待测方法将漂移案例分类为异常案例,则认为方法分类错误;否则认为方法分类正确。同理,对事件日志的事件属性也进行上述处理。最后取4种方法的平均后的Accuracy,macro-R,Error_d与F1分数作为实验结果。实验结果如图6所示。
由图6可以看出,相较于Binet、TransNet方法,ADCDD+在Accuracy、macro-R与F1分数上均有较好的数值。而采用相似的漂移发现方法原理的ADCDD方法的性能较低,这是因为ADCDD方法只关注事件日志中的控制流漂移,而ADCDD+方法不但关注了控制流漂移,还关注了数据流漂移。相较于Binet、TransNet方法,ADCDD+方法的漂移错误率较低,其中Binet和TransNet方法的准确率低于50%。在正常分类问题中,这一表现是不正常的。主要原因是这两种方法将漂移案例错误地判定为异常案例,而在ESLog1,ESLog2,ESLog3中的漂移案例均超过了50%,这导致这两种方法的错误率上升,准确率下降。由此,得出,ADCDD+方法在包含控制流和数据流漂移案例的事件日志数据集中可以保持较高的异常检测准确性。
本发明提供的关于结合数据流和控制流漂移发现的异常检测方法,这种方法包括五个步骤,分别是:统一编码,构建预测模型,异常判定,识别漂移案例,以及更新预测模型。接下来,我将阐述两个具体的实施例以及具体的实现方案。
实施例一:
1.统一编码:首先,对事件日志中所有出现过的事件名和事件属性使用独热编码进行编码。设C为案例集合,Ename为活动名集合,A为事件属性的集合。然后,对于最长的事件序列长度|Cmax|,在序列的开头和结尾分别添加开始事件(Start)和结束事件(End)。按照事件在事件日志中的出现顺序进行编码。
2.构建预测模型:使用统一编码得到的特征数据集来构建一个事件属性预测模型。该模型可以预测业务过程实例的下一事件的所有可能发生的事件及其属性的概率分布。
3.异常判定:对预测模块生成的预测结果进行异常判定,得到候选异常案例集合。
4.识别漂移案例:使用基于霍夫丁不等式的双层滑动窗口机制和概念漂移比率,从候选异常案例集合中识别出数据流和控制流漂移案例。这些漂移案例是真正的异常案例。
5.更新预测模型:采用循环更新策略,使用识别出的漂移案例集合作为新知识来更新事件属性预测模型。
实施例二:
具体的实现方案可能会根据实际应用场景和数据集的特性有所不同。例如,独热编码的方法可能会根据事件属性的类型和复杂性进行调整。预测模型可以是基于深度学习的模型,例如循环神经网络(RNN),或者是基于传统机器学习的模型,例如随机森林。异常判定的方法可能会根据预测模型的性能和预测结果的特性进行优化。识别漂移案例的方法可能会根据数据流和控制流的特性进行调整。更新预测模型的策略可能会根据模型的性能和新知识的复杂性进行优化。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种结合数据流和控制流漂移发现的异常检测方法,其特征在于,包括:
步骤一,对事件日志中的事件名与其他事件属性使用独热编码进行统一编码,得到案例特征数据集;
步骤二,使用特征数据集来构建事件属性预测模型,获取业务过程实例的下一事件的所有可能发生事件及其属性的概率分布;
步骤三,对事件属性预测模块生成的预测结果进行异常判定,得到候选异常案例集合;
步骤四,使用基于霍夫丁不等式的双层滑动窗口机制、概念漂移比率从候选异常案例集中识别出数据流、控制流漂移案例,进而得到真正的异常案例;
步骤五,采用循环更新策略,使用得到的漂移案例集作为新知识来更新事件属性预测模型。
2.根据权利要求1所述的结合数据流和控制流漂移发现的异常检测方法,其特征在于,所述步骤一,首先对事件日志中所有出现过的事件名、事件属性采用独热编码方法进行编码,设C为案例集合,Ename为活动名集合,A为事件属性的集合,|Cmax|为事件序列最长的案例的事件序列长度,对于案例的事件序列,在序列的开头与结尾处分别先添加开始事件(Start)与结束事件(End),然后按照事件在事件日志中的出现顺序进行编码。
3.根据权利要求1所述的结合数据流和控制流漂移发现的异常检测方法,其特征在于,所述步骤二,事件属性预测模型分为控制流网络(ControlFlowNet)和数据流网络(DataFlowNet)两部分,ADCDD+方法训练循环神经网络GRU来预测事件及其属性的概率分布,控制流网络的输入为案例集合C中某case的第i-1个事件名f1 i-1,f1 i-1的下标1表示这是第一个事件属性,即事件名,Embedding层将事件属性转换为向量,输出层为一个Softmax层,输出结果为第i个事件的所有可能发生事件的概率分布数据流网络的输入为事件名f1 i、GRU的内部状态,进行训练以预测该事件所有属性,数据流网络为每个事件属性提供一个单独的softmax层,输出结果为第i个事件的所有属性的概率分布/>
4.根据权利要求1所述的结合数据流和控制流漂移发现的异常检测方法,其特征在于,所述步骤三,将案例中各个事件和属性发生的概率转化为异常评分,异常评分是一个用于判断业务过程实例的某个事件属性值是否异常的实数s,s为在0到1间的小数,s∈[0,1],异常评分使用函数fscore(P,ptrue)计算,如下式所示:
其中,P为由事件预测模块预测得到的概率分布,(ei,pi)代表此位置事件ei发生的概率为pi,n为事件日志中的事件总数,etrue为实际所发生的事件,ptrue为事件预测模块预测发生事件etrue的概率,i=1,2,3......n;
根据每个案例case中各个事件及其属性的异常评分,使用下式来判定该case是否为候选异常案例
其中θ为异常分数阈值,使用自适应确定事件属性的异常评分阈值的方法来确定θ,由于异常分数高于阈值θ的现象可能是因为概念漂移引起的,所以将这些案例作为候选异常案例,事件日志的候选异常案例集合可以使用一个|A|×|C|的二维数组results来表示,若判定第i个案例有控制流异常,则将results[i][0]标记为1,反之则标记为0,若判定第i个案例的第j个事件属性有数据流异常,则将results中第j行中对应位置即results[i][j]标记为1,反之则标记为0。
5.根据权利要求1所述的结合数据流和控制流漂移发现的异常检测方法,其特征在于,所述步骤四,设置一个二维数组caseds来保存漂移案例,首先关注事件日志的控制流,将数组results的第一行视作一个一维数组,来检测控制流漂移,并将发现的结果保存到数组caseds中,然后,关注事件日志的数据流,对数组results剩下的每一行进行数据流漂移发现,并将发现的结果保存到数组caseds中:
(1)概念漂移判定方法
首先根据案例case的id定位到二维数组results的相应位置,然后从中确定漂移发生的位置,对于边界情况,即事件日志全部为漂移案例,此时数组results中数据全部为0,为了发现并定位控制流和数据流漂移的发生位置,本发明提出基于霍夫丁不等式来估算两种漂移的判定阈值的双层滑动窗口机制,
在候选异常案例数组results的每一行上设置一个双层滑动窗口,上层窗口UW由多个基本窗口Wi组成,Wi即为UW的子序列,本质上,UW是数组results中的一段子序列,其中存储着案例id及异常判定结果,UW可表示为下式:
UW={W1,W2,W3......Wn-1,Wn} (3)
设ki为图3中双层窗口Wi内数据的平均值,即ki=sum(Wi)/len(Wi),i=1,2,3......n,记km为所有ki中的最大值,m∈[1,n],在UW内,若存在km-ki>εd,则认为Wi中发生了概念漂移,如果在数组results的第一行检测出概念漂移,则认为发生了控制流漂移,如果在非第一行检测出概念漂移,则认为发生了数据流漂移,其中概念漂移阈值εd由下式确定,式4是霍夫丁不等式的变体:
假设待测数据K={k1,k2......kn},ki∈[0,1],i=1,2,3......n,将K代入式(4),可得如下式的εd计算公式:
其中,δ为事件日志中案例的异常率,
设定当候选异常案例数组results中候选异常案例的个数与数组results的长度之比小于错误率δ时,即认为所检测case数量不足,此时,概念漂移发现模块停止检测,等待输入更多案例;
(2)滑动窗口大小计算方法
先确定滑动窗口大小的上下限,再使用漂移比率计算合适上层窗口大小,设定上层窗口大小Wup的上限为候选异常案例数组results中所有候选异常案例的数量,记为uwmax,设定Wup的下限设为其中,n为测试集案例数量之和,δ定义为允许的错误率,在[uwmin,uwmax]中构造一个候选窗口集合T,如下式所示:
在式(6)中,k为候选区间的等分份数,k≥1。为了兼顾计算时间与准确度,本文取k=10,对在运算过程中得到的小数向下取整,使用差分法来估计概念漂移比率梯度的近似值,当该近似值接近0时,则认为概念漂移比率不再发生变化,概念漂移比率梯度的计算如下式所示:
基于概念漂移比率梯度,在候选窗口集合T中挑选出合适的上层窗口大小,伪代码如下所示:
算法1的第1行初始化行数变量i,第2行将行数加1,即继续对后续事件属性进行下述操作,直到获取了所有事件属性的上层窗口大小,第4--5行确定了候选窗口集合T和各案例在不同事件属性上的概念漂移比率,第6行计算差距概念漂移比率r数值变化很小的一个区间,即概念漂移比率梯度趋近于0的区间,其中ε是一个很小的值。本文设ε=average(R)/3,第7—16行,从多个候选的概念漂移阈值区间中选择区间大小最大的区间作为候选窗口区间,并将候选阈值区间的平均值作为所确定的上层滑动窗口大小。
6.根据权利要求1所述的结合数据流和控制流漂移发现的异常检测方法,其特征在于,所述步骤五,先从训练事件属性预测模型的事件日志中抽取部分案例作为旧知识,组成旧知识训练集,然后将所检测到的漂移案例集合作为新知识训练集,将旧知识训练集与新知识训练集之比定为(1-Φ):Φ,预测模型更新模块中,首先提取漂移案例集合caseds的每一行,然后将每一行作为新知识更新模型,在对每一行的漂移事件属性执行迭代更新模型操作时,对同一预测模型不断更新,使其能够学习到所有漂移事件属性的特征,最后,使用更新后的预测模型重新预测含概念漂移的事件日志,进而得到正确的异常检测结果。
7.一种实施如权利要求1-6任意一项所述结合数据流和控制流漂移发现的异常检测系统,其特征在于,所述结合数据流和控制流漂移发现的异常检测系统包括:
特征提取模块,用于对事件日志中的事件名(即控制流)与其他事件属性(即数据流)使用独热编码进行统一编码,得到案例特征数据集;
事件属性预测模块,用于构建事件属性预测模型,测业务过程实例的下一执行事件及其属性发生的概率;
异常检测模块,用于对事件属性预测模块生成的预测结果进行异常判定,得到候选异常案例集合;
概念漂移检测模块,用于发现候选异常案例集合中的控制流和数据流漂移,找出其中的漂移案例;
预测模型更新模块,用于更新事件属性预测模型,使更新后的异常检测模型能分辨出漂移案例与异常案例,进而提高业务过程异常检测方法的准确性。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-6任意一项所述结合数据流和控制流漂移发现的异常检测方法的步骤。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1-6任意一项所述结合数据流和控制流漂移发现的异常检测方法的步骤。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述结合数据流和控制流漂移发现的异常检测系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311232791.6A CN117472679A (zh) | 2023-09-22 | 2023-09-22 | 结合数据流和控制流漂移发现的异常检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311232791.6A CN117472679A (zh) | 2023-09-22 | 2023-09-22 | 结合数据流和控制流漂移发现的异常检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472679A true CN117472679A (zh) | 2024-01-30 |
Family
ID=89638676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311232791.6A Pending CN117472679A (zh) | 2023-09-22 | 2023-09-22 | 结合数据流和控制流漂移发现的异常检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472679A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687890A (zh) * | 2024-02-02 | 2024-03-12 | 山东大学 | 基于操作日志的异常操作识别方法、系统、介质及设备 |
-
2023
- 2023-09-22 CN CN202311232791.6A patent/CN117472679A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687890A (zh) * | 2024-02-02 | 2024-03-12 | 山东大学 | 基于操作日志的异常操作识别方法、系统、介质及设备 |
CN117687890B (zh) * | 2024-02-02 | 2024-05-03 | 山东大学 | 基于操作日志的异常操作识别方法、系统、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107294993B (zh) | 一种基于集成学习的web异常流量监测方法 | |
CN111967571A (zh) | 一种基于mhma的异常检测方法和设备 | |
CN112951311B (zh) | 一种基于变权重随机森林的硬盘故障预测方法及系统 | |
CN113342597B (zh) | 一种基于高斯混合隐马尔可夫模型的系统故障预测方法 | |
CN117672328B (zh) | 固态硬盘的数据恢复方法、装置、设备及存储介质 | |
CN117472679A (zh) | 结合数据流和控制流漂移发现的异常检测方法及系统 | |
Shen et al. | Hard disk drive failure prediction for mobile edge computing based on an LSTM recurrent neural network | |
Wan et al. | Supervised representation learning approach for cross-project aging-related bug prediction | |
CN114519519A (zh) | 基于gbdt算法与逻辑回归模型的企业违约风险评估方法设备及介质 | |
CN116379360A (zh) | 一种基于知识迁移的掺氢天然气管道损伤预测方法及系统 | |
CN116776270A (zh) | 一种基于Transformer的微服务性能异常检测方法和系统 | |
Shi et al. | Research on the Initial Fault Prediction Method of Rolling Bearings Based on DCAE‐TCN Transfer Learning | |
CN112966778B (zh) | 针对不平衡样本数据的数据处理方法及装置 | |
CN111027591A (zh) | 一种面向大规模集群系统的节点故障预测方法 | |
CN112733897B (zh) | 确定多维样本数据的异常原因的方法和设备 | |
Yang et al. | Zte-predictor: Disk failure prediction system based on lstm | |
CN111538614B (zh) | 一种操作系统的时序异常操作行为检测方法 | |
CN117687815A (zh) | 一种硬盘故障预测方法和系统 | |
Zhou et al. | Performance evaluation method for network monitoring based on separable temporal exponential random graph models with application to the study of autocorrelation effects | |
CN115577312B (zh) | 基于改进dagmm的建筑用电负荷曲线异常检测方法 | |
CN110705631A (zh) | 一种基于svm的散货船舶设备状态检测方法 | |
CN116502705A (zh) | 兼用域内外数据集的知识蒸馏方法和计算机设备 | |
Zhang et al. | Credit Evaluation of SMEs Based on GBDT‐CNN‐LR Hybrid Integrated Model | |
CN115543702A (zh) | 一种多源固态硬盘协同故障诊断方法、系统、设备及介质 | |
Wang et al. | Hard disk drives failure detection using a dynamic tracking method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |