[过程挖掘 Process Mining] Conformance Checking(二)

[过程挖掘 Process Mining] Conformance Checking(二)

1.3 Conformance Checking Using Token-Based Replay

使用因果足迹的一致性检查。这种方法有各种各样的问题。例如,它不考虑跟踪的频率,也不实际查看行为。
在这里插入图片描述
现在一种更精确的基于令牌的重播方法。让我们看一个例子,我们看到一个跟踪,这个跟踪不适合这个模型。如果我们只考虑完全迹的适合度,我们会说,这个迹的适合度为零,因为它不适合。这样的答案并不是很有用,因为我们想从事件的层面来考察适合性和一致性。因为如果我们有很长的痕迹,那么我们可能会有日志,其中没有任何痕迹是真正合适的。我们将得到0的一致性,但这将是一个非常误导的数字。所以,我们需要看一看合适的事件和不合适的事件的比例。这是通过计算所谓的丢失和剩余令牌来完成的,为了说明这一点,让我们在这个模型上重放这个跟踪。
在这里插入图片描述
所以我们先执行a,在执行a之后执行b,我们仍然没有看到任何问题。但在这样做的同时,我们正在生产和消费代币。然后,事件日志说我们需要执行e,但是e没有被启用。所以我们计算一个丢失的令牌,你看到有一个问题,我们记录下来,然后继续。然后我们执行e,在执行e之后,我们需要执行g,并且我们没有遇到任何额外的问题,除了当我们到达跟踪的末尾时,仍然有一个令牌留在后面。
在这里插入图片描述
在这里插入图片描述

所以在这个例子中,我们有一个剩余的令牌和一个丢失的令牌。总共有六个产生的代币,有六个消耗的代币,有一个丢失的代币和一个剩余的代币。所以,我们可以把这些放进一个公式里,这个公式把适合度计算成一个介于0和1之间的数字。0表示适配度尽可能差,适配度为1表示适配度完美,轨迹可以在不遇到任何问题的情况下重放。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这种情况下,p和c等于6,m和r等于1。如果我们把它填入这个公式,我们得到这个特殊轨迹的一致性为0.83。那么这种方法基于什么呢?它是基于简单的计算数量生产,消费,丢失和剩余的代币(token)。丢失的令牌是在不存在时被消耗的令牌。所以我们需要添加一个令牌,计数器r是指最后留下的令牌。没有被消耗掉。所以,在回放一个轨迹的时候。在任何时间点,place都包含p+m减去c的记号,这个数字应该是正数,因为place中的记号数不能是负数。最后,我们希望这里空无一人。这导致了这里显示的几个不变量。如果你重放的话,p+m总是大于或等于c,因为一个地方不能有负数的记号。C也将至少是m,因为我们永远不会添加丢失的令牌,如果它们不需要消费的话。最后,r是这个地方剩余的代币(token)数量,所以r等于p加m减c。所有这些数字,都在一个地方的水平上。但它们也适用于流程模型中的所有地方。在开始和结束时都需要一个特殊的步骤,因此在开始时环境需要为源位置生成一个令牌。
在这里插入图片描述

最后,环境需要使用来自接收器的令牌。注意,在后一种情况下,如果在跟踪末尾的最后一个位置上没有剩余的令牌,您仍然需要使用它。因此,这将添加一个额外的丢失令牌,如果它不在那里的话。这样我们就可以真正检查跟踪是否在所需的最终状态下终止。

让我们看一些例子,在这里你会看到一个非常合适的轨迹。因此,如果我们重放它,我们期望计数器m和r将保持为0。但是,我们仍然需要理解这个原理,所以,要想简单地开始,我们就要看一些非常适合的东西。最初,环境将令牌放入这个源位置。这意味着我们需要将p计数器增加1,就像这里发生的那样。现在,事件日志显示a是要执行的第一个活动。所以在Petri网中,我们被迫触发a,如果我们执行a,我们消耗一个令牌,产生两个令牌。所以我们更新相应的计数器,现在我们总共有三个生成的令牌。在下一步中,我们需要执行c,再次使用并生成一个令牌,更新一个计数器,我们需要执行d。同样,我们添加一个消费的和一个生产的令牌。然后事件日志说我们需要执行一个e,这确实是可能的。现在我们消费两个代币,生产一个代币。所以现在c计数器,被设置为5。然后我们进行活动h,并在place ends上达到标记的状态。现在环境,接受这个令牌并消耗它。所以我们更新了c计数器,最后我们看到p等于7,c等于7,m和r等于0。如果我们把它填到前面的公式中,b是7,c是7,m是0,r是0,那么我们得到的结果等于1。
在这里插入图片描述

所以,这是我们预期的完美健身。
在这里插入图片描述

现在让我们来看一个更有趣的跟踪,即不适合的跟踪,在a之后,我们应该执行d,这显然是不可能的。让我们再次使用刚才看到的公式计算适应度。它又是从环境在源位置放置一个标记开始的,因此p等于1。然后,在事件日志中,我们看到我们需要做一个a,我们执行它,我们消费并产生一个令牌,得到这些计数器。现在事件日志说我们需要做d,你可以清楚地看到,根据模型,d是不可能的,因为之前,b或c应该发生过。所以,现在我们记录一个丢失的记号,然后我们添加一个记号,但是我们将m计数器增加1,得到这个状态,所以m现在等于1,p等于3,c等于2。现在我们执行c,消耗并产生一个令牌,更新计数器,我们需要执行e。消耗1,产生1,最后,我们需要做h。我们再次消费和生产1个代币。和以前一样,在跟踪的最后,环境需要使用一个令牌,不管它是否存在。在这种情况下,令牌在那里,所以没有问题。所以它被消耗了,现在我们看到p和c有相同的值,即等于6。我们现在看到的是,在p2的最后仍然有一个标记。所以,我们更新r计数器,这些是我们得到的最终值。如我们所见,p和c以及m和r的值都等于1。我们还可以用诊断信息覆盖模型,显示问题所在。我们可以把这些数字放入我们以前见过的公式中,如果我们这样做,我们得到这个结果。所以适合度是0.83。这是个体轨迹水平上的适应度。我们可以把这个概念提升到整个事件日志中。这是一个公式,它描述了,它看起来非常令人印象深刻,但实际上它非常简单。我们只是将所有丢失和消耗的代币,以及剩余和产生的代币,汇总到所有的个人痕迹上。同一个跟踪可以出现多次,我们有一个多集,因此我们取这个多集的和,然后乘以丢失的、消耗的、剩余的和生成的令牌的数量。所以,在这里你可以看到单独的成分,实际上它和我们之前看到的完全一样,但是提升到了整个原木的水平。
在这里插入图片描述

在这里插入图片描述

让我们看看这个例子。所以我们再次看到我们之前使用的事件日志。我们看到四个模型,我们可以再次计算重播适应度,使用我刚才描述的方法。如果你这么做了,那么这些就是你得到的值。所以,第一个模型是用的alpha算法发现的,它的适应度是1,这就是我们所期望的。但也要注意,最后一个模型,所谓的花模型,有一个适合度。它太笼统了,但从健康的角度来看,它是可以的,因为它允许所有的行为已经看到。为了抓住这个事实,这个模型并不是一个很好的日志表示,我们需要看看精确性的概念来抓住这个事实。在这里插入图片描述
通过执行这个重播,我们还可以提供非常复杂和详细的诊断,因此如果您查看我在这里展示的诊断,通过将日志与第二个模型进行比较。我们可以看到我们的适应度为0.95,但是我们也可以从诊断的角度看,一个活动或Petri网术语的转换被执行了多少次,一个标记在一个特定的弧上流动了多少次。诊断清楚地表明,b和c以及b的顺序存在问题。

所以,c和b应该和d并发,但现在它们是顺序的。所以,所有的轨迹,其中d发生在b或c之前,它们不适合这个模型,如诊断所示。如果我们看一下这个模型,再将它与原始日志进行比较,我们可以看到更多的问题。同样,通过查看每个地方的一些丢失和剩余的标记,我们可以很好地了解差异所在。因此,通过回放,我们可以捕捉诊断信息,差异在哪里,以及它们有多严重,我们还可以计算出一个全局适应度度量。下一节将考虑一种基于对齐的更复杂的技术。

1.4 举个栗子

我们继续关注基于令牌的重放,作为诊断和量化建模和观察行为之间差异的一种手段。在上一节中,我们介绍了基于令牌的重放的概念,作为进行一致性检查的一种方法现在将集中讨论几个例子,展示这种一致性检查技术的实际应用。这是我们以前看到的例子之一,因为这一个日志包含了将近1400个案例。我们检查了四种不同模型的一致性。第一个模型和最后一个模型有一个完美的健身(fitness)。
在这里插入图片描述

另外两个模型表明对数模型和模型之间存在差异。那么,如果我们用一个介于0和1之间的数字来量化适应度,它是如何工作的呢?我们需要计算丢失的令牌、消耗的令牌、剩余的令牌和生成的令牌的数量,同时在模型顶部重放事件日志。
在这里插入图片描述

在这里插入图片描述
好的,让我们看看一些问题。其中一些可能需要一些时间来实际计算。这里显示的是一个包含35个案例的事件日志,如表所示。我们有一个非常简单的过程模型,我们以前见过,问题是计算适合度,使用上一张幻灯片上显示的公式。为了回答这个问题,我们首先查看跟踪acd,它在这个事件日志中发生过一次。一如既往,我们从源位置的生产操作开始,然后我们可以执行一个。我们消费一个代币,生产两个代币。然后我们需要做c,c也是可能的,所以我们做一个消费和一个生产的动作。现在我们需要执行d,但是d没有启用,因为p3处没有令牌。所以,我们看到有一个问题,我们需要添加一个丢失的令牌,只有这样我们才能执行d。它导致两个代币的消费和一个代币的生产。最后,我们需要消耗最后一个位置的令牌,当我们完成这项工作时,我们看到一个令牌仍保留在原来的位置。所以如果我们现在把这些数字加起来,我们可以看到在这个例子中,有五个生成的令牌,五个消耗的令牌,有一个丢失的令牌,还有一个剩余的令牌。我们可以用它来量化这个单一轨迹的适合度。但我们得把整个日志都写下来。我们使用一个电子表格来实现这一点,现在突出显示的行显示了我们刚才看到的跟踪,一个丢失的令牌和一个剩余的令牌,五个生成的令牌和五个消耗的令牌。这个跟踪只发生了一次,所以如果我们把它乘以1,我们就得到了消耗的、产生的、丢失的和剩余的令牌的数量。我们还可以看看另一个轨迹,例如,第一个轨迹,它非常适合。如果我们重放它,我们不会遇到任何丢失或剩余的令牌。这个轨迹发生了十次,所以我们需要把这个轨迹的数字乘以十。如果我们对所有的跟踪都这样做,那么我们可以将生成的、剩余的、消耗的和丢失的令牌的数量相加,如这里突出显示的。然后我们可以简单地应用这个公式,得到0.96的适合度。这就是我们计算由多个记录道组成的日志的适合度的方法。
在这里插入图片描述
在这里我们可以看到ProM的输出,所以ProM提供了我们在回放期间获得的诊断类型。所以在这里你可以看到丢失或剩余的标记,你可以看到整体的适合度。但也可以选择合适和不合适的案例。请注意,这不是来自ProM 6的输出,而是来自早期版本ProM 5.2。因为prom6提供了更高级的一致性检查技术,将在下一节中讨论。让我们看看另一个例子。所以问题是,现在我们来看一个只包含一个案例的事件日志。
在这里插入图片描述

这一个例子只包含一个事件,即e,请用我们以前看到的公式计算适应度。要回答这个问题,我们需要重放这个跟踪。我们从源位置的生产操作开始,然后需要执行e。但是很明显,e没有启用,因为p1和p2是空的,它们没有令牌。所以,我们记录了两个丢失的标记,一个是p1,一个是p2。然后我们可以执行e,我们消耗两个代币,我们产生两个代币。然后追踪就结束了。但是环境仍然需要从place end使用令牌,但是place end不包含令牌。所以,我们记录了一个丢失的代币的事实,我们消耗了这个代币。如果我们看最后的状态,我们可以看到仍然有标记,即在源位置和位置p3和p4。所以如果我们看这些数字,我们可以看到,我们有三个生产的代币,三个消费的代币,三个丢失的代币和三个剩余的代币。那么现在这个特定轨迹的适用性是什么呢?它等于0,因为我们用3除以3,然后取1减去这个数。这对生产和消费都成立,所以适合度等于0。换句话说,没有一个生成的代币被实际使用。所有消费的代币都不存在,表明这显然是人们所能想象的最糟糕的健康状况。

1.5 Aligning Observed and Modeled Behavior

最先进的方法,将事件日志与流程模型相关联。这里您将再次看到三种一致性检查方法的概述。我们从footprints开始,我们基本上只比较语法结构,使用直接跟随关系。然后我们研究了一种更高级的方法,使用基于令牌的重播。今天我们将讨论基于对齐的一致性检查。那么,为了克服我们之前所看到的方法的局限性,一致性检查的要求是什么呢?首先,一致性检查不应该对流程模型符号施加任何限制。例如,我们不应该局限于工作流网络。我们不应该局限于模型,其中不能有两个具有相同标签的转换。或者在有静默步骤的情况下,例如建模或拆分或或联接。此外,我们真的希望通过流程模型看到最接近的匹配路径。因此,如果我们在现实中看到一些东西,我们希望将其与通过流程模型的有效路径联系起来。为什么这是必要的?在这里插入图片描述
这对于性能分析是必要的,在性能分析中,我们在模型之上重放现实,以查看瓶颈在哪里,但如果我们查看更复杂的一致性概念,包括精度、泛化或更高级的诊断形式,则也是必要的。我们首先需要将现实与通过模型的路径联系起来。所以它是所有其他类型分析的一种使能器。对齐的概念是什么?在这里我们可以看到一个从我们以前使用过的更大的日志中提取的痕迹。我们将其与模型进行比较,在本例中,模型中有一条路径与我们在日志中看到的轨迹完全匹配。所以最上面一行是通过日志的跟踪。最下面一行是通过流程模型的跟踪,在本例中,它们完全一致。在这里插入图片描述
在这里您可以看到另一个跟踪的示例,它不适合模型。如果我们看轨迹a,d,e,g,h,我们可以看到两个问题。首先,缺少一个b或c,应该与d同时执行。此外,最终不能同时作出两项决定。所以我们应该有g或h,但不能两者都有。对齐清楚地说明了这些问题,因此在对齐中,我们可以看到模型必须采取b移动,这不是被现实模仿的,并且在最后有一个g和一个h。而在模型中,这两个中的一个必须被忽略。那么,当我们谈论对齐时,我们使用的术语是什么?因此,对齐是由两行组成的行,其中顶行是指日志,底行是指通过模型的路径。我们只能在日志中有一个移动,然后我们只能在顶行中看到活动的标签,但在底行中看不到。只有入住模式才是相反的。模型不得不做出一个现实无法模仿的动作。如果我们同时看两个动作,也称为同步动作,那么两个动作同时进行。请注意,所有这些术语和概念以及相应的分析技术都独立于流程模型表示法。所以我们可以对Petri网,BPMN模型,过渡系统这样做,其实并不重要。在这里插入图片描述
让我们看一些例子。所以,我们要介绍的第一个概念是最佳对齐的概念。将现实与模型中的路径联系起来有多种方式,原则上,模型中可能有许多路径。那么我们要选择哪条路呢?我们选择最接近现实的道路。所以这里,很明显,顶部对齐,是最佳对齐。因为模型和原木之间有一个完美的协议。在这里插入图片描述
在这里,我们看到一个更棘手的例子,所以,我们看一个不适合的跟踪,这是一个我们以前用过的例子。现在可以使用多种解释。在这里插入图片描述
那么,哪一个是对我们所看到的最好的解释呢?在这里看到的第一个对齐中,基本上表示a和b已经交换了。第二个对齐,向我们解释,我们在模型中看到的e1,e2,e3对应于d1,d2和d3。那么哪一个是最好的对齐方式呢?很难说,**这取决于成本函数。**与e1、e2和e3相关的偏差。这里或多或少,比我们看到的关于a和b的偏差。为了量化这一点并做出客观的决策,我们引入了成本函数的概念。所以我们把成本和行动联系起来。如果我们有一个同步移动,其中log和mobile就要采取的操作达成一致,那么我们的成本为0。在这里插入图片描述
对于所有其他情况,我们需要引入正成本。我们通常做的是,如果两个活动不一致,我们说成本是无限的,在其他方面,我们给它如此高的成本,我们永远不会采取这样的解决办法。如果我们使用一个标准的成本函数,我们给移动模型和移动日志分配相同的成本,即一个。因此,在所有示例的剩余部分中,我们将使用这个标准成本函数。在这里插入图片描述
如果我们把它应用到前面的例子中,那么我们可以看看三条路线,我们可以看到顶部路线的成本为0,第二条路线的成本为2,因为我们有一个move-a-log和一个move-in模型。最下面的一个值10,因为有10个禁止移动的符号。因此,最上面的一个是最佳的,因为没有其他具有较低成本的对齐方式。我们可以看一下这个例子,这里我们看到了我们之前看到的两个对齐。现在,使用标准成本函数,我们可以做一个决定,我们可以决定,第一个是最优的路线,因为我们找不到其他成本更低的路线。在这里插入图片描述
所以所有的路线都要花费两个或更多。让我们看一看这个例子,它的目的是显示,在给定日志中的一个跟踪和一个模型的情况下,可能有许多不同的最佳对齐方式。因此,这种对齐的成本是2。这个排列提供的解释是,现实e和f发生了,但是我们应该忽略它们。在这里插入图片描述
在其他方面,我们不经过循环,我们只经过一次过程,我们忽略了e和f,成本2。在这里插入图片描述
另一种解释也有代价2,就是我们必须经过一次迭代,所以,现在,我们接受这个事实,我们需要执行f,但是为了这个,我们需要添加两个事实上没有发生的事件来解释。从开始到结束的模型中的路径。因此,事件日志中缺少d和b,但在这个解释中,它们被添加了。因此可以有多条路线,对应于相同的轨迹和相同的模型。让我们看看你是否理解这些概念。在这里插入图片描述
所以,看看这个痕迹。我们以前见过的那个,还有模型。有多少条最佳路线?答案是九。在这里插入图片描述

有九条最佳路线,让我们试着理解这九条路线是什么。在这里我们看到了我们之前展示的两个,而b移入模型在这里用红色突出显示,因为这个b可以被一个c取代,所以我们有这些可能的变体。现在当我们说,好的,有三种可能的最佳排列,但是还有更多,因为d与b和c是并行的。所以,我们可以重新排列这些不同的变体。所以我们可以把与d有关的移动,换成与b或c有关的移动。所以,如果我们看情况,我们可以看到实际上总共有九个动作,因为我们可以看所有不同变体的所有组合。到目前为止,我们只考虑了标准的成本函数,它将成本1分配给一个移入日志和一个移入模型,但是我们可以认为任何成本结构也考虑了事件的其他属性和其他属性。在这里插入图片描述
例如,如果我们需要调整这两个动作,日志中的一个事件,模型中的一个转换的执行,那么我们可以考虑这些活动有多相似,如果它们非常相似,那么我们可以有更低的成本。我们还可以对由错误的人执行的活动进行处罚。所以,假设John没有被授权执行这个活动,那么我们就可以对它进行惩罚。在大多数流程模型中,通常也有截止日期,事情应该在三周内发生。如果事实上需要四个星期的时间,你可以给事情已经太晚的事实一个惩罚。还可以考虑数据,因此流程模型中的某些路径只允许用于特定类型的客户或特定类型的订单。例如,较大的订单或较小的订单应采用不同的路径。在创建成本函数和相应的对齐方式时,也可以考虑到这一点。一个人可以看看风险,一个人可以看看上下文信息。因此,任何东西都可以添加到这个成本函数中,我们仍然可以提供一个最佳的对齐方式,并在考虑到这些其他观点的情况下诊断差异。到目前为止,我们只提供了诊断,只在模型中移动,只在日志中移动。因为现实和模式的迹象不一致。但是如果我们想用一个介于0和1之间的数字来量化适应度,我们需要考虑一个最坏的情况。最坏情况下的成本是多少?好吧,如果你仔细想想,最坏的情况是我们只有移入模型和移入日志。那是什么意思?在这里插入图片描述

再看一次这个例子,让我们用最坏的情况来计算适应度。在这种情况下,最坏的情况是,对于跟踪中的所有事件,我们只在日志中进行移动。下一步,我们在模型中采用最短路径,并执行仅移动模型的操作。如果我们这样做,我们就得到这个数字。所以,最优的对齐代价是2,我们以前见过。轨迹长度为7,最短路径长度为5。在这里插入图片描述
如果我们填写这个公式,我们会看到这个特殊轨迹的适合度是0.83。所以这就是我们计算适应度的方法。在这里插入图片描述
现在试着用这个轨迹来计算适应度。我们应该考虑一个最坏的情况来计算这个。答案如下。所以,我们需要将我们看到的轨迹与模型对齐。查看最佳对齐方式和最坏情况下的对齐方式。我们之前已经看到,最佳对齐的代价是2。如果我们看看最坏情况下的排列,它是什么样子的?好吧,这是一个最坏情况下对齐的例子。所以,它由两部分组成,如果我们看第一部分,我们会看到日志中的所有内容,只对应于日志中的移动。然后我们在模型中选择最短的路径,然后继续模型。如果我们这样做,我们可以看到,最佳的排列有两个成本。最坏的情况是,花费了6加6。现在我们可以用这些数字来填充公式,我们发现适合度是0.833。在这里插入图片描述
只是碰巧,它的价值和我们以前看到的一样。那么,对齐日志和模型有什么好处呢。我们可以直接将观察到的行为与模型本身联系起来,这一点非常重要。在这里插入图片描述
它是非常灵活的,我向你们展示了,一个人可以使用任何成本函数,分配惩罚不作出最后期限,事件被错误的人执行,等等。我们得到非常详细的诊断。我们可以非常精确地比较事件。在对齐日志和模型之后,我们得到了一条通过模型的路径,我们可以进行各种其他类型的分析。所以这使得对齐非常重要。为了说明这一点,让我们看看这个图表。这是一条通过模型的路径,这就是模型化的行为。如果在现实中我们看到一条偏离的轨迹,我们可以使用对齐来诊断这些偏离的位置,以及它们发生的原因。但这不是唯一的事情,为什么对齐是重要的。我们也可以使用对齐来将我们在现实中看到的行为压缩到模型中,即使它并不完全适合。这对于性能分析以及要求我们同时使用模型和事件数据的所有其他类型的分析都是至关重要的。在这里插入图片描述
到目前为止,我们还没有讨论一致性检查的一个要素是向下钻取的能力。在这里插入图片描述
所以我们总是可以把轨迹分为拟合轨迹和非拟合轨迹,然后我们可以分别分析它们。所以我们可以这样做,试着去理解,有偏差的情况和无偏差的情况有什么区别。请注意,如果我们将这样的日志分为两部分,则可以将这两部分作为新的事件日志进行分析。所以我们可以应用我们以前见过的所有技术。我们也可以超越健身和控制流量。因此,到目前为止,我们大部分的注意力都集中在适应度上,但精确性、泛化和简单性也很重要。这些维度也可能有精确的定义,但它们不在本课程的范围之内。另外,如果我们看一下对齐之类的东西,我们主要关注的是控制流。在这里插入图片描述
但是我们也可以考虑其他的观点,正如前面已经说明的那样。一个很好的例子是所谓的数据感知对齐,它同时考虑了控制流和数据。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值