1.一种基于概念漂移发现的业务过程异常检测方法,其特征在于,包括如下步骤:
1)从过程感知信息系统中的多个数据源中收集数据,组成事件日志,事件日志用于记录业务过程的执行过程的信息集合,由业务过程的活动执行轨迹组成,活动执行的轨迹也被称为案例;
2)利用事件日志中的控制流特征,提取过程信息,对事件进行编码,构造过程特征数据集;具体是:使用事件的活动名作为事件的业务过程的控制流特征,对于事件序列长的案例,在事件序列短的案例末尾添加0进行填充;
3)基于GRU模型构建业务过程下一事件的预测模型,利用过程特征数据集作为输入数据训练预测模型;使用Embedding层将事件转换为向量,使用Batchnorm层进行数据归一化,输出层为一个Softmax层,输出结果为下一事件的所有发生事件的概率分布P;
4)通过概率分布计算业务流程属性的异常评分s,使用实际发生的事件属性和预测模型预测事件及其属性发生的概率分布P计算事件的异常评分s;使用自适应地确定事件属性的异常评分阈值的方法TransNet,计算得到异常评分阈值Ɵ,来判定该事件或属性是否异常,异常评分s大于异常评分阈值Ɵ为异常案例,否则为正常案例,最后得到异常检测结果数组resultd;
5)概念漂移发现模块对异常检测结果进行概念漂移检测,以发现其中的概念漂移,使用双层滑动窗口和霍夫丁不等式对异常检测结果进行概念漂移发现,若没有发现概念漂移,则提交异常检测结果;否则从过程特征数据集中提取所有漂移案例,并提交给事件预测模型更新模块,具体的概念漂移检测过程为:
5‑1)使用霍夫丁不等式计算概念漂移判定阈值的双层滑动窗口机制,在步骤4)数组的异常检测结果上设置一个双层滑动窗口,上层窗口UW由多个基本窗口Wi 组成,Wi 即为UW的子序列,本质上,UW是异常检测结果数组resultd中的一段子序列,存储着案例id及异常判定结果,UW表示为:UW={W1,W2,W3……Wu‑1,Wu} (1);
u为下层窗口数量,提出双层滑动窗口的大小的确定方法,思路是先确定双层滑动窗口大小的上下限,然后从中选取合适的窗口大小;
5‑2)设ki为双层窗口Wi内数据的平均值,即ki=sum(Wi)/len(Wi),i=1,2,3…,n,记km为所有ki中的最大值, ,在UW内,若存在km‑ki>εd,则认为Wi中发生了概念漂移,其中概念漂移阈值εd由公式(2)确定,公式(2)是霍夫丁不等式的变体: (2),
数据K ={k1,k2,…,kn},ki ∈ [0,1],i=1,2,3,…,n,将K代入公式(2)得如公式(3)的εd计算公式:= (3),
其中,n为事件日志中案例数量,δ 为事件日志中案例的异常率;
将所有被判定为概念漂移案例的事件日志实例放入概念漂移检测结果数组pointset中;
对于边界情况,即所检测的事件日志全部被判定为异常的漂移案例,认为所检测case数量不足,需要更多case;当检测结果数组resultd中“1”的个数与数组总长之比小于错误率δ时,认为所检测case数量不足,此时,概念漂移发现模块停止检测,等待输入更多case;
5‑3)检测完毕后,若概念漂移检测结果数组pointset不为空,认为发生概念漂移,发出漂移警报,pointset存储了发生概念漂移的case的ID,对pointset进行排序和去重,将对应的事件日志中的实例整合,作为所检测到发生概念漂移的案例集合cased;
6)事件预测模型更新模块使用增量学习方法将漂移案例集合作为新知识,即发生概念漂移的案例集合cased,来更新事件预测模块中的事件预测模型;使用更新后的事件预测模块重新预测特征数据集上事件出现的概率,得出新的预测结果,最后,异常检测模块对新的预测结果继续进行异常检测,并提交异常检测结果。
2.根据权利要求1所述的一种基于概念漂移发现的业务过程异常检测方法,其特征在于,所述步骤5‑1)中的双层滑动窗口的大小的确定方法,思路是先确定双层滑动窗口大小的上下限,再使用漂移比率确定合适的Wup,上层滑动窗口Wup大小的上限为resultd中所有“0”的数量,设为uwmax,Wup大小的下限设为uwmin *n;
在[uwmin ,uwmax]中构造一个候选窗口集合T,如公式(4)所示:
(4),
公式(4)中,k为候选区间的等分份数,为了描述候选异常案例是概念漂移案例的可能性,定义案例的概念漂移比率如下:概念漂移比率是异常判定结果数组resultd在上层窗口大小阈值为 ∈T时,为漂移的次数与k之比,如式(5)所示: , cj∈resultd (5),
其中函数f(cj, ti)为事件日志中id为cj的案例,在上层窗口大小值为 ∈T时漂移判定结果,i=1,2,3…,k;
异常判定结果数组resultd中数据为“0”的元素原本的意义是候选异常案例,经过计算概念漂移比率,resultd中数据为“0”的元素处理在0、1之间的小数,代表该异常候选案例为概念漂移案例的可能性;
由于需要在resultd中确定概念漂移比率高且稳定的候选概念漂移阈值区间,以此来确定合适的上层窗口大小,因此需要获得概念漂移比率变化幅度小的区间,即概念漂移比率梯度小的区间,使用差分法来估计概念漂移比率梯度的近似值,当该近似值接近0时,认为概念漂移比率不在发生变化,概念漂移比率梯度的计算如公式(6)所示: ,∈T (6);
最后从多个候选的概念漂移阈值区间中选择区间大小最大的区间作为候选窗口区间,并将候选阈值区间的平均值作为所确定的上层滑动窗口大小。
3.根据权利要求1所述的一种基于概念漂移发现的业务过程异常检测方法,其特征在于,所述步骤6)中更新事件预测模块中的事件预测模型,即使用步骤5)中获取的发生概念漂移的case集合cased更新模型,若cased中的案例样本少,这会使得在下一事件的所有事件发生的概率分布P中对于概念漂移事件序列的预测概率依然低,导致更新后的模型继续将概念漂移判定为异常;于是,采取通过基于回放的增量学习来更新原业务过程事件预测模块中的事件预测模型,使其保留对原有正常案例的正确预测,并且不再把概念漂移案例判定为异常案例e;
将从训练事件预测模型所用的事件日志中抽出部分案例作为旧知识,组成旧知识训练集,将所检测到的概念漂移案例集合作为新知识训练集,旧知识训练集与新知识训练集之比为(1‑Φ) : Φ,Φ如公式(7)所示,Φ= (7),
n1为新知识训练集的案例数;δ1为旧知识训练集所允许的错误率,该比值由霍夫丁不等式确定,使得新知识训练集中概念漂移案例集合的比例在漂移判定阈值之上,从而避免更新后的模型继续将概念漂移判定为异常;
使用公式(7)所得比例的旧知识训练集与新知识训练集组合得到新数据集重新训练一个事件预测模型,并重新评定异常分数与阈值,与异常检测模块组成更新后的异常检测模型,将该模型与原有的异常检测模型合并成为新异常检测模型;
在原异常检测模型做出异常判断后,使用更新后的异常检测模型再次检测,将误被原异常检测模型当作异常的概念漂移案例挑选出来,达到发现概念漂移的目的。