Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guía 1
Guía 1
G UÍA DE E STUDIO
Process mining
2010
1
1. INTRODUCCIÓN
1 Introducción
Esta es una guía de ejercicios de process mining. Contiene problemas simples de descubrim-
iento de las perspectivas de procesos y organizacional. Aunque es posible usar el software ProM
(www.processmining.org) para resolver los ejercicios, sugerimos hacerlos manualmente o con
uso de la planilla electrónica que se puede bajar del sitio del profesor (ver [6]). Con esta guía quer-
emos ayudar a comprender mejor cómo trabajan los algoritmos básicos de process y organizational
mining.
2 Process Perspective
Los siguientes ejercicios de la perspectiva de procesos tienen como objetivo ayudar a comprender
cómo trabaja el algoritmo α. Este algoritmo ha sido ampliado para resolver varias situaciones del
mundo real en cuyos casos no trabaja adecuadamente, a saber: actividades invisibles, actividades
duplicadas, constructos non-free-choice, short-loops, y finalmente ruido, excepciones e incompleti-
tud. Aquí mostramos el algoritmo α básico y algunos ejemplos de estos problemas.
1. (Process mining) La tabla 1 muestra 5 casos o instancias de proceso. El orden de pre-
sentación corresponde al orden de ejecución. Esta tabla representa un event log. Determine
el proceso (flujo de tareas) que se ejecutó usando el algoritmo α.
Case ID 1 2 3 3 1 1 2 4 2 2 5 4 1 3 3 4 5 5 4
Tarea A A A B B C C A B D A C D C D B E D D
2. (Process mining) Descubra el proceso que generó el event log mostrado en la tabla 2.
Case ID 1 2 3 3 1 1 2 4 2 1 2 3 4 3 5 4 5 4
Tarea A A A B B C C A B D D C C D E B F D
3. (Process mining) Considere el event log de la tabla 31 que contiene las siguientes tareas A:
recibir un ítem y registrar, B: verificar ítem, C: verificar garantía,
D: notificar cliente, E: reparar ítem, F : recibir pago, G: enviar
carta de cancelación, H: devolver ítem. Determine el proceso que se ejecutó
usando el algoritmo α.
4. (Actividades invisibles) Considere los casos (A, B, C, D), (A, C, B, D) y (A, D). Observe
que es similar al del problema 1, excepto que la última instancia es (A, E, D) y no (A, D). Es
decir, la actividad E es invisible. ¿Puede el algoritmo α resolver este problema con tareas
invisibles?
1 Adaptado de [4].
5. (Actividades duplicadas) Considere los casos (A, B, C, D), (A, C, B, D) y (A, B, D). ¿Es
posible descubrir el modelo? Ahora considere el siguiente modelo de la figura 1 y verifique
que genera los casos especificados.
A C D
A D
B E
Figure 2: Modelo con constructo free-choice que no puede ser descubierto con el algoritmo α
A X D
B Y E
Figure 3: Modelo con constructo free-choice que si puede ser descubierto con el algoritmo α
8. (Short loops) En un proceso, es posible que una actividad se ejecute muchas veces. La figura
4 muestra un ejemplo. Después de ejecutar la actividad B, la actividad C se puede ejecutar
un número arbitrario de veces. Posibles instancias son (B, D), (B, C, D), (B, C, C, D),(B, C, C, C, D),
etc. ¿Puede resolver esto el algoritmo α básico?
3 Organizational Perspective
El objetivo de process mining desde la perspectiva organizacional es descubrir las relaciones, jer-
arquías y centralidades entre originadores o grupos de ellos. Estas relaciones, jerarquías o cen-
A E
C
B D
Figure 4: Modelo con short-loops. La tarea C puede ejecutarse una cantidad arbitraria de veces
tralidades pueden medirse de acuerdo a varias métricas. Los problemas que se plantean a con-
tinuación no abordan todas estas métricas ni todas las relaciones, pero sí las más relevantes.
Una comprensión adecuada de estos problemas permitirá comprender y abordar otros casos más
grandes o complejos que pueden resolverse haciendo uso del software ProM.
1. (Default mining) Considere el siguiente event log que se muestra en la tabla 4. Determine el
proceso que generó el event log de la tabla utilizando el algoritmo α. Luego construya una
matriz del tipo originator ×task en que cada elemento ij de la matriz es el número de veces
que el originador i realiza la tarea j. ¿Qué grupos de originadores puede encontrar?
2. (Default mining) Considere el siguiente event log2 que se muestra en la tabla 5. Determine
el proceso que generó el event log de la tabla utilizando el algoritmo α. Luego construya una
matriz del tipo originator ×task en que cada elemento ij de la matriz es el número de veces
que el originador i realiza la tarea j. ¿Qué grupos de originadores puede encontrar?
3. (Joint activities metrics) Utilizando la tabla del tipo originator ×task que se determinó en el
ejercicio anterior, determine la distancia entre los originadores de acuerdo la métrica Pear-
son’s correlation coefficient según joint activities. También determine el grafo resultante en que
cada arco dirigido entre los originadores representa un coeficiente de correlación mayor que
0.
2 Adaptado de [4].
2 3
1 4
6. (Social network – betweenness) Considere la red social entre 5 originadores que se muestra
en la figura 6. La relación entre los originadores es la métrica handover (es decir quién le pasa
la información a quién). Calcule el indicador de betweenness de cada originador. ¿Cómo se
interpreta este resultado? Ahora suponga que el criterio representado en la red social es la
subcontractor, ¿cómo se interpreta este último resultado?
1 4
A C D
B
A D
C
E F
B G
A D H
C E F
4. Una de las suposiciones básicas del process mining (no sólo del algoritmo α) es que cada
actividad ejecutada está registrada en el log. Por ello es que el algoritmo no es capaz de
descubrir tareas que no están registradas.
5. El problema con actividades duplicadas se refiere a la situación en que el mismo modelo
tiene dos nodos con la misma actividad. Este es el caso de la actividad B de la figura 1.
Es claro que es muy difícil automatizar el descubrimiento del modelo, porque no es posible
distinguir la ejecución de B en un caso del otro.
6. El modelo de la figura 7 es del tipo free-choice, porque la elección entre B y C, con E está
separada de la sincronización (nodo AND). En cambio el modelo de la figura 2 es non-free-
choice. Después de ejecutar la actividad C, hay una elección entre la actividad D y la E. Sin
embargo, la elección entre D y E está controlada por la elección realizada antes entre A y B.
Claramente tales constructos son difíciles de descubrir puesto que la elección es no-local y
el algoritmo no puede recordar eventos anteriores.
Las free-choice Petri nets son Petri nets en las cuales existen al menos dos transiciones que no
ocupan los mismos input places, es decir hay al menos dos transiciones que no comparten los
mismos input places. Esto excluye la posibilidad de mezclar elección (OR) y sincronización
(AND o paralelismo) en un mismo modelo. Las free-choice Petri nets constituyen una clase
bien conocida y estudiada de Petri nets. Los constructos non-free-choices se presentan en
situaciones en las cuales la elección entre dos actividades no está determinada dentro del
nodo del modelo del proceso sino que depende de elecciones hechas en otras partes del
modelo. Por ello se dice que tales modelos tienen un comportamiento no-local. Desafortu-
nadamente, la mayoría de los algoritmos de process mining (incluido el algoritmo α) asumen
que los modelos a descubrir son free-choices.
7. A pesar del caso anterior, hay constructos non-free-choices que pueden ser descubiertos ade-
cuadamente como el de la figura 3 usando el algoritmo α. Ahora la elección se detecta
debido a las nuevas actividades X e Y . Nótese que D sigue directamente a X, pero no así
lo hace E que sigue a Y . De esta forma se puede descubrir el place entre X y D.
8. En un proceso es posible ejecutar alguna actividad muchas veces. Si esto sucede, esto se
modela típicamente como in loop como se muestra en la figura 4. Loops que involucran sólo
una actividad, como en este caso, son fáciles de descubrir; sin embargo, en el caso de loops
de constructos más complejos no son triviales de descubrir.
A B1 B2 C
Camila 4 0 0 4
Ernesto 0 4 0 0
Carlos 2 0 0 2
Emilia 0 0 2 0
A B C D E F G H
John 6 0 6 0 0 0 0 0
Sue 0 0 0 2 0 0 1 3
Mike 0 2 0 0 1 0 0 0
Pete 0 1 0 0 1 0 0 0
Jane 0 0 0 0 0 2 0 0
Clare 0 0 0 2 0 0 1 3
Fred 0 0 0 0 1 0 0 0
Robert 0 2 0 0 1 0 0 0
Mona 0 1 0 0 0 2 0 0
3. La tabla 8 obtenida anteriormente nos sirve para calcular distancias entre los originadores
(distancias entre vectores que corresponden a las filas). Esta distancia se puede interpretar
cuán cerca están los originadores de actividades similares (joint activities). La métrica más
usada para medir esta distancia es el Pearson’s correlation coefficient, cuyo método de cálculo
se explica en el apéndice A. A pesar de la simplicidad del cálculo, la cantidad de operaciones
hacen algo tediosa la solución, por ello usamos una planilla electrónica que mostramos en
la figura 10 (ver [6] para bajarla).
A partir del cálculo de estos coeficientes, es posible obtener la red de relaciones entre los
originadores que se muestra en la figura 11. Los arcos considerados entre cualquier par de
nodos representan distancias mayores que 0.
4. Las jerarquías entre personas o agrupaciones que funcionan en la práctica se pueden encon-
trar con ayuda del método Agglomerative Hierarchical Clustering que se detalla en el apéndice
C. Este método agrupa sucesivamente originadores o grupos que están más cerca. Por ejem-
plo, de la tabla de Pearson’s coefficients mostrada en la parte de abajo de la figura 10 se encuen-
tran cerca los originadores Clare con Sue; Jane y Mona; Pete y Robert; y finalmente,
Fred con Mike. Esto permite construir 4 parejas más John, un total de 5 grupos. Con estos
grupos se continua el procedimiento hasta llegar a una cantidad de grupos pre-definida. El
cálculo completo es largo y tedioso, por lo que sugerimos usar la planilla electrónica (ver
[6] para bajarla). El proceso de agrupación se puede representar como una jerarquía que se
muestra en la figura 12.
5. Para calcular la métrica de betweenness de cada nodo de la red social de la figura 5, primero
se debe construir una tabla que muestre todos los caminos más cortos entre cualquier par
de nodos. Luego usamos la fórmula de la sección B para calcular el indicador. Observemos
que la red es dirigida y no existen arcos entre un nodo y sí mismo.
1 2 3 4
1 – 1−2 1−3 1−4
2 – – – –
3 – 3−2 – –
4 – 4−3−2 4−3 –
Table 9: Caminos más cortos entre todos los pares de nodos para calcular cB (3). Se han eliminado,
para el cálculo, la fila y la columna 3 y la diagonal
Calculamos el betweenness centrality del originador 1, es decir cB (3) que está dado por
0 + 0 + 0 + 0 + 0 + 1 = 1,
1
cB (3) =
6 |{z}
1 1
|{z} 0
|{z} 0
|{z} 0
|{z} 1 6
|{z}
1−2 1−4 2−1 2−4 4−1 4−2
donde cada sumando corresponde al cuociente entre el número de caminos más cortos i − j
(que comienzan en i y terminan en j) y que pasan por el nodo 3 y el número total de caminos
más cortos i − j. Por ejemplo entre el nodo 4 y el 2 existe un camino más cortos: el 4 − 3 − 2 y
ambos pasan por el nodo 3, luego la fracción correspondiente es 11 (ver tabla 9). El número 6
que divide toda la suma es un factor de normalización que corresponde el número total de
comparaciones (n − 1)(n − 2), donde n es el número de nodos. Del mismo modo, se puede
calcular cB (1) = 0, cB (2) = 0 y cB (4) = 0.
6. Como en el ejercicio anterior, para calcular la métrica de betweenness de cada nodo de la red
social de la figura 6, primero se debe construir una tabla que muestre todos los caminos más
cortos entre cualquier par de nodos. Luego usamos la fórmula de la sección B para calcular
el indicador. Observemos que la red es dirigida y no existen arcos entre un nodo y sí mismo.
1 2 3 4 5
1 – 1−2 1−4−3 1−4 1−4−5
2 2 − 4 − 3 − 1,2 − 4 − 5 − 1 – 2−4−3 2−4 2−4−5
3 3−1 3−1−2 – 3−1−4 3−1−4−5
4 4 − 3 − 1,4 − 5 − 1 4 − 3 − 1 − 2,4 − 5 − 1 − 2 4−3 – 4−5
5 5−1 5−1−2 5−1−4−3 5−1−4 –
Table 10: Caminos más cortos entre todos los pares de nodos para calcular cB (3). Se han elimi-
nado, para el cálculo, la fila y la columna 1 y la diagonal
Calculamos el betweenness centrality del originador 1, es decir cB (1) que está dado por
1
0 + 0 + 0 + 1 + 1 + 0 + 1 + 2 + 0 + 1 + 1 + 1 = 7 ,
cB (1) =
12 |{z}
1 1
|{z} 1
|{z} 1
|{z} 1
|{z} 1
|{z} 1
|{z} 2
|{z} 1
|{z} 1
|{z} 1
|{z} 1 12
|{z}
2−3 2−4 2−5 3−4 3−5 4−5 3−2 4−2 4−3 5−2 5−3 5−4
donde cada sumando corresponde al cuociente entre el número de caminos mós cortos i − j
(que comienzan en i y terminan en j) y que pasan por el nodo 1 y el número total de caminos
más cortos i − j. Por ejemplo entre el nodo 4 y el 2 existen dos caminos más cortos: el
4 − 3 − 1 − 2 y el 4 − 5 − 1 − 2 y ambos pasan por el nodo 1, luego la fracción correspondiente
es 22 . El número 12 que divide toda la suma es un factor de normalización que corresponde
el número total de comparaciones (n − 1)(n − 2), donde n es el número de nodos. Del mismo
modo se puede calcular cB (2) = 0, cB (3) = 18 , cB (4) = 12
7
y cB (5) = 18 .
B Betweenness centrality
En la teoría de grafos y análisis de redes hay varias medidas de la centralidad de un vértice dentro
de un grafo que determina la importancia relativa de un vértice dentro del mismo (por ejemplo,
cuán importante es una persona en una red social o, en una red urbana, cuán bien usado es un
camino, etc.). Hay varias medidas de centralidad que se usan ampliamente en el análisis de una
red: degree centrality, betweennness, closeness y eigenvector centrality. No explicaremos aquí cada una
de las medidas, sino que mostraremos cómo calcular la betweenness centrality.
La idea es que aquellos vértices, que son parte de muchos caminos más cortos entre los otros
.
vértices, tienen un betweenness más alto que aquellos que no los son. Supongamos un grafo G =
(V, E) con un conjunto V de vértices y E de arcos entre tales vértices. La medida betweenness
centrality de un nodo v ∈ V se define como
. X σst (v)
cB (v) = ,
σst
s 6= v 6= t,
s 6= t
donde σst es el número de caminos mós cortos entre los nodos s y t; y σst (v) es el número de
caminos mós cortos que pasan por el nodo v. Normalmente este valor se normaliza al dividirlo
por el número de pares de vértices que no incluyen v, el cual es (n−1)(n−2) para grafos dirigidos
y (n − 1)(n − 2)/2 para grafos no-dirigidos. Para el cálculo asumimos que 00 toma el valor 0.
References
[1] van der Aalst, W. y A.J.M.M. Weijters, Process Mining, in Process-Aware Information Systems,
edited by Dumas, van der Aalst and Hofstede, Wiley and Sons, Inc, 2005.
[2] Bozkaya, M., J. Gabriels y J.M. van der Werf, Process Diagnostics: a Method Based on Process
Mining, Proceedings of the International Conference on Information, Process, and Knowl-
edge Management, 2009 (eKNOW’09), pp. 22-27.
[3] de Medeiros, A.K.A. y A.T. Weijters, ProM Framework Tutorial, Eindhoven Uni-
versity of Technology, Eindhoven, The Netherlands, November 2006 (http:
//prom.win.tue.nl/research/wiki/_media/tutorial/promtutorialv2.
pdf?id=tutorials&cache=cache).
[4] Song, M. y van der Aalst, W.M.P. "Towards comprehensive support for organizational min-
ing", Decision Support System, 46: 300-317, 1008.
[5] página del profesor: http://sites.google.com/site/sigifredolaengle2/.
Figure 10: Planilla electrónica para calcular los Pearson’s correlation coefficient
Mike
Pete
Fred Robert
Figure 11: Red de relaciones entre originadores cuyos arcos representan distancias de Pearson’s
correlation Coefficient mayores que 0
G1
John G2
G3 G4
Clare Sue G5 G6
Jane Mona G7 G8
Figure 12: Jerarquía obtenida según el criterio joint activities medido con la métrica Pearson’s cor-
relation coefficient