Acerca de los gatos y la minería de procesos





“¿Sobrevivirá el gato en mi casa? Me pregunté antes de recoger a mi peludo amigo del refugio de mascotas. Y decidí probar mi hipótesis utilizando Process Mining, esta dirección de análisis de procesos relativamente nueva, pero en desarrollo activo. Entre los productos de software en esta área hay un número suficiente de alternativas, en particular: Celonis, Disco, ProM, Apramore. Decidí probar la biblioteca de lenguaje Python - PM4PY (Process Mining for Python), cuya primera versión apareció en GitHubhace poco más de un año, a finales de 2018. Su peculiaridad es que es un software libre, y no tiene restricciones tanto en la cantidad de archivos descargados como en la cantidad de eventos considerados en el log (log de eventos). PM4PY también tiene una extensa documentación que describe la funcionalidad básica; se pueden encontrar ejemplos de código e información de referencia en el sitio oficial: pm4py.org .



En primer lugar, ... no, no aviones, ¡sino datos! PM4PY admite múltiples formatos de entrada. Entre ellos: CSV (delimitado por comas), XES (eXtensible Event Stream) y Parquet. El más simple, tanto en comprensión como en términos de funcionalidad disponible, es el formato CSV.







Fue en este formato que se presentaron los datos de la rutina matutina, utilizados posteriormente en el ejemplo considerado del proceso. En una serie de eventos por la mañana como "levantarse", "desayunar", "lavarse los dientes", etc. se ha añadido un nuevo paso importante como "alimentar al gato". Este ejemplo se generó artificialmente en una tabla de MS Excel y luego se guardó en CSV (el número de días de simulación es 39 y el número total de eventos es 250). La importación de datos se realiza en dos líneas de código. En el primero, se carga la llamada fábrica de importación (la clase Python correspondiente de esta biblioteca), y en el segundo, el nombre del archivo de datos se alimenta a la entrada de esta “fábrica” y se asigna a la variable requerida.



Un registro cargado desde el exterior (en un formato u otro) se puede alimentar a la entrada de "Miners", algoritmos que analizan el registro de eventos cargado en la memoria e intentan construir un supuesto modelo del proceso en forma de red Petri utilizando estos datos de entrada. Ejemplos de algoritmos disponibles en PM4PY: Alpha, IMDFb, Heuristic. Pero, si recuerdas, no me interesaba el gráfico teórico académicamente riguroso del modelo de proceso, sino la cuestión puramente práctica de la supervivencia del gato.



Y por lo tanto, estamos pasando a un análisis práctico mucho más interesante del proceso en forma de gráficos DFG (Directly-Follows Graph), donde los vértices del gráfico son los eventos del registro de eventos que cargamos, y los bordes dirigidos conectan pares de eventos que sucedieron uno tras otro al menos una vez. ... La ventaja de esta vista es la visualización detallada de todas las posibles transiciones. La desventaja es el desorden excesivo de la imagen con líneas de conexión, cuyo número aumenta drásticamente con el aumento en el número de acciones en el registro y la multivariancia de los pasos reales que ocurrieron en el proceso observado.











Se puede ver que el ya difícil proceso de la rutina matutina con la adición de un paso adicional con la alimentación de la mascota se ha vuelto aún más difícil. DFG se puede trazar en términos de frecuencia, es decir cuántas transiciones hubo de un vértice a otro. Y puede construir en el contexto de la eficiencia en el tiempo, eligiendo como indicador el valor promedio del tiempo entre eventos. También puede elegir el valor mínimo, máximo o mediana como indicador.



Para poder reducir el área de datos en consideración, PM4PY brinda la capacidad de trabajar con filtros (puede establecer filtros por columnas de manera similar a trabajar en la biblioteca de pandas) y con opciones (secuencias típicas de pasos) del registro. Por ejemplo, en las figuras anteriores, los DFG se mostraban con todas las opciones, sin restricciones. Pero puede elegir, por ejemplo, las 3 secuencias de pasos más frecuentes, y luego la imagen será mucho más simple.



Debe recordarse que la simplicidad en la imagen de la derecha apareció debido al descarte de opciones más raras, que contienen opciones atípicas pero no interesantes para nosotros, pero bastante aceptables, y desviaciones importantes del proceso estándar que son muy interesantes para nosotros.







Como resultado, vemos que, incluso en las secuencias de eventos más típicas, el paso "alimentar al gato" ocurrió solo en 4 de los 8 casos, y en la mitad de los casos (4) esta acción fue omitida y no hubo retorno a ella. Aquellos. en este caso, es mejor no apresurarse por ahora y, sin asumir responsabilidades adicionales, trabajar en su disciplina y compromiso, no tranquilizar al animal con cuidados, que en realidad no serán.



All Articles