1.一种基于多层机器学习的业务流程剩余时间预测方法,其特征在于包括以下步骤:
S1.数据特征提取:输入原始日志,提取出其中每个事件的特征属性,所属特征属性包括基本特征属性、实例间特征属性、剩余关键活动数特征属性三类,具体包含以下子步骤:S11.基本特征属性提取:提取日志中有直接记录的事件特征属性,包括活动名、事件Id、活动开始时间、活动结束时间;
S12.实例间特征属性提取:提取日志中表征资源间竞争关系的实例间特征属性,包括反映未来时间段t内被执行的实例数的区间实例数ExecCaseNum(t),反映未来时间段t内活动ai被执行的次数的区间事件数ExecEventNum(ai,t),反映未来时间段t内与活动ai具有竞争关系的其他活动被执行的次数之和的区间事件加权数WeightEventNum(ai,t),其计算公式如下:ExecCaseNum(t)=|{σ|(σ.startTime>tpoint‑t)∧(σ.startTime<tpoint)}|ExecEventNum(ai,t)=|{e|(e.startTime>tpoint‑t)∧(e.startTime<tpoint)∧(e.actvity=ai)}|其中σ是发生事件所在的流程实例对应的轨迹,t是采样的时间窗口大小即区间,σ.startTime是当前流程实例的开始时间,tpoint表示预测发生的时间点,ai表示执行当前事件的活动名,e.startTime表示事件开始的时间点, 为流程的活动集合,prefR(ai)是可以执行活动ai的所有资源的集合,|prefR(ai)|是可以执行活动ai的资源的种类数,I(prefR(ai),prefR(aj))是既能执行活动ai又能执行活动aj的所有资源的集合,|I(prefR(ai),prefR(aj))|是既能执行活动ai又能执行活动aj的资源的种类数;e.actvity表示执行当前事件的活动,(e.actvity=ai)表示的是执行当前事件的活动为ai;符号∧表示“并且”;
S13.剩余关键活动数特征属性提取:首先从历史日志中找出关键活动,并统计历史日志中全部前缀轨迹的剩余关键活动数;然后对于当前要预测的前缀轨迹,从历史日志中找到与其最相似的轨迹序列,将该轨迹序列对应的剩余关键活动数作为当前轨迹的近似剩余关键活动数,具体包含以下子步骤:S131.对历史日志中的每个流程实例,将实例中执行的活动按照其执行时间长短从大到小排序,并为其标记排序值,其中排首位的活动即执行时间最长的活动排序值为1,后面的活动的排序值依次递增;
S132.统计整个历史日志中不同活动在不同实例中的排序值,并计算出每类活动的平均排序值;
S133.按照每类活动的平均排序值对活动进行升序排序,选取排名前k%的活动作为关键活动;
S134.对给定的前缀轨迹PTr进行序列转换得到其对应的活动序列Seq,活动序列Seq的长度为l;
S135.对历史日志中的每个流程实例,分别统计该实例中不同前缀轨迹对应的剩余活动序列所包含的关键活动数量,并对历史日志中全部的前缀轨迹进行序列转换得到活动序列集historySeqSet;
S136.选取historySeqSet中长度等于l的活动序列构成子集subSeqSet,依次计算subSeqSet中的活动序列与Seq的相似度,活动序列之间的相似度使用Damerau‑Levenshtein distance进行计算,求得与Seq最近似的活动序列similarSeq;
S137.设similarSeq与Seq的Damerau‑Levenshtein distance值为r,从historySeqSet选取长度范围为[l‑r,l+r]的活动序列构成新的子集subSeqSet2,依次计算subSeqSet2中的每条序列与Seq的相似度,得到subSeqSet2中与Seq最近似的活动序列bestSimilarSeq;
S138.从历史日志中找到bestSimilarSeq所对应的前缀轨迹的剩余关键活动数,若对应的前缀轨迹有多条,则对这些轨迹的剩余关键活动数求取平均值作为前缀轨迹PTr的近似剩余关键活动数;
S2.数据清洗与特征编码:对完成特征属性提取的数据集中的每类特征属性分别进行异常值处理,对缺失的特征属性找到该数据所在的完整实例后将其从数据集中清除,对非数值类的特征属性进行编码;
S3.双层混合预测模型训练:双层混合预测模型的训练包含以下子步骤:
S31.训练集分割:选取特征提取并编码后得到的数据集的部分数据作为训练集,并将训练集等量分割为两份:训练集1和训练集2;
S32.第一层模型训练:第一层模型选择XGBoost和lightGBM这两类机器学习方法作为剩余时间预测学习器,训练集1用于XGBoost模型的学习,得到预测模型xgb1,训练集2用于lightGBM模型的学习,得到预测模型lgb1;
S33.生成新的数据集:使用预测模型xgb1和lgb1生成新的数据特征,将训练集2输入到预测模型xgb1后得到的预测结果与原始的训练集2进行整合得到训练集3,将训练集1输入到预测模型lgb1后得到的预测结果与原始的训练集1进行整合得到训练集4;
S34.第二层模型训练:第二层模型也选择XGBoost和lightGBM这两类机器学习方法作为剩余时间预测学习器,其中训练集3用于lightGBM模型的学习得到预测模型lgb2,训练集
4用于XGBoost模型的学习,得到预测模型xgb2;
S35.合成混合预测模型:将S32和步骤S34中得到的预测模型进行合并即得到双层混合预测模型;
S4.流程剩余执行时间预测:选取特征提取并编码后得到的数据集的剩余数据作为测试集,将测试集中的数据输入混合预测模型中的第一层预测模型xgb1和lgb1,将其输出与原始的输入数据进行整合得到新的输入数据,将该数据输入到混合模型的第二层预测模型xgb2和lgb2中,得到最终的预测结果。
2.根据权利要求1所述的一种基于多层机器学习的业务流程剩余时间预测方法,其特征在于S1所述的采样的时间窗口大小t取一小时、六小时、一天、一周、一个月或者当前事件开始时间距当前实例开始的时间间隔。
3.根据权利要求1所述的一种基于多层机器学习的业务流程剩余时间预测方法,其特征在于S1中所述的选取排名前k%的活动作为关键活动,k取25。
4.根据权利要求1所述的一种基于多层机器学习的业务流程剩余时间预测方法,其特征在于S2中所述的对于非数值类的特征属性进行编码采用one‑hot编码方式。
5.根据权利要求1所述的一种基于多层机器学习的业务流程剩余时间预测方法,其特征在于S2中所述的异常值处理选择传统的箱线图平滑异常值。