“那只猫会在我家生存吗?在从宠物庇护所接我毛茸茸的朋友之前,我想知道。我决定使用过程挖掘来检验我的假设,过程挖掘是一种相对较新但积极发展的过程分析方向。在该领域的软件产品中,有足够多的替代产品,尤其是:Celonis,Disco,ProM,Apramore。我决定尝试使用Python语言库-PM4PY(用于Python的流程挖掘),其第一个版本出现在GitHub上一年多以前,即2018年底。它的独特之处在于它是免费软件,并且在下载文件的数量和日志中考虑的事件数(事件日志)方面都没有限制。PM4PY还具有描述基本功能的大量文档-代码示例和参考信息可在官方网站pm4py.org上找到。
首先-...不,不是飞机,而是数据!PM4PY支持多种输入格式。其中包括:CSV(逗号分隔),XES(可扩展事件流)和Parquet。无论是在理解上还是在可用功能方面,最简单的就是CSV格式。
以此格式显示了早晨例行程序中的数据,随后在经过考虑的过程示例中使用。早晨发生了一系列诸如“起床”,“早餐”,“刷牙”等事件。一个重要的新步骤已被添加为“喂猫”。此示例是在MS Excel表中人工生成的,然后保存为CSV(模拟天数为39,事件总数为250)。数据导入以两行代码进行。首先,加载所谓的导入工厂(该库的相应Python类),然后在第二步中,将数据文件的名称输入该“工厂”的输入,并分配给所需的变量。
从外部(一种格式或另一种格式)加载的日志可以输入到“矿工”的输入中-这些算法分析加载到内存中的事件日志,并尝试使用这些输入数据以Petri网的形式构建过程的假定模型。 PM4PY中可用的算法示例:Alpha,IMDFb,启发式。但是,如果您还记得的话,我对过程模型的学术上严格的理论图并不感兴趣,而对猫的生存的纯粹实际问题不感兴趣。
因此,我们将以DFG图(直接跟随图)的形式继续对该过程进行更有趣的实践分析,其中图的顶点是我们加载的事件日志的事件,有向边将事件对相互连接的事件至少一次连接一次...该视图的优点是可以详细显示所有可能的过渡。不利的一面是带有连接线的图片过于混乱,其数量随着对数中操作数的增加以及所观察到的过程中实际步骤的多变性而急剧增加。
可以看出,早晨程序中本来就很困难的过程,再加上一个额外的喂养宠物的步骤,变得更加困难。 DFG可以按照频率绘制,即从一个顶点到另一个顶点有多少个过渡。您可以在时间效率的背景下进行构建,选择事件之间时间的平均值作为指标。您也可以选择最小值,最大值或中位数作为指标。
为了能够缩小正在考虑的数据区域,PM4PY提供了使用过滤器的功能(您可以按类似于在pandas库中工作的列那样设置过滤器)以及日志的选项(典型的步骤顺序)。例如,在上图中,显示了带有所有选项的DFG,没有限制。但是,例如,您可以选择3个最频繁的步骤序列,那么图片将变得更加简单。
同时,应该记住,右图的简单性是由于丢弃了包含非典型但同时又对我们来说不感兴趣的罕见选项以及与我们非常感兴趣的与标准流程的重大偏离而导致的罕见选项。
结果,我们看到,即使在最典型的事件序列中,“喂猫”步骤也仅在8例中的4例中发生,而在一半的情况(4)中,该动作被跳过,没有任何回报。那些。在这种情况下,最好不要着急,在不承担额外责任的情况下,按照自己的纪律和承诺努力工作,而不必谨慎地放心动物,而事实并非如此。