Obtención de conocimiento y descubrimiento de procesos a partir de datos brutos – Minería de Procesos (Process Mining)

Ene 8, 2017   //   by Sandra Seijo Fernández   //   Minería de Datos  //  Comentarios desactivados en Obtención de conocimiento y descubrimiento de procesos a partir de datos brutos – Minería de Procesos (Process Mining)

Actualmente los procesos de negocio de las organizaciones están soportados por sistemas de información que registran datos valiosos con respecto a ejecutores, actividades, eventos, tiempos y variables asociadas a la ejecución de los procesos. Esta información puede ser aprovechada con técnicas de la minería de datos, más específicamente, de la Minería de Procesos (MP) para descubrir la realidad de cómo se están ejecutando los procesos y de esta forma tomar decisiones para mejorarlos [4].

Este concepto de “Minería de Procesos” se definió en el Manifiesto de Minería de Procesos, lanzado por el grupo de expertos de todo el mundo que investiga la MP, conocido como IEEE Task Force on Process Mining (Fuerza de Trabajo de la IEEE sobre Minería de Procesos), en el 201 y soportado por 53 organizaciones, bajo la contribución de 77 expertos en el tema. Está dirigido a promover el tópico de Minería de Procesos. Además, al definir un conjunto de principios rectores y listar importantes desafíos, el manifiesto sirve como una guía para desarrolladores de software, científicos, consultores, gerentes de negocio, y usuarios finales. El objetivo es incrementar la madurez de la Minería de Procesos como una nueva herramienta para mejorar el (re)diseño, control, y apoyo a los procesos de negocio operacionales. Hay dos razones principales para el creciente interés en Minería de Procesos: por un lado, se registran más y más eventos, proporcionando información detallada acerca de la historia de los procesos y por otro lado, hay una necesidad de mejorar y apoyar los procesos de negocio en ambientes competitivos y que cambian rápidamente.

La Minería de Procesos es una técnica de análisis de datos que integra la minería de datos mediante el uso de datos de eventos con las técnicas de modelado de procesos. Existen tres tipos de minería de componentes como se puede apreciar en la Figura 1:

  • Descubrimiento: se basa en el análisis de un registro de eventos y la producción de un modelo, sin usar ninguna información previa para descubrir los procesos reales, solo basado en las muestras de ejecución de los registros de eventos.
  • Conformidad: se compone de técnicas para la comparación de eventos del registro de eventos con actividades del modelo de proceso. Es usado para chequear si el modelo es equivalente a la información que está almacenada en el registro de eventos, en aras de detectar desviaciones, cuellos de botellas e incongruencias, muy utilizado en las auditorias.
  • Mejoramiento: la finalidad es mejorar el proceso existente utilizando la información acerca del proceso real almacenado en el registro de eventos.

Figura 1: Posicionamiento de los 3 tipos de Minería de Procesos [5].

Mediante el uso de técnicas de MP las organizaciones pueden obtener un modelo real del proceso ya que se obtienen con eventos reales que se generan a partir de situaciones que se han dado en el proceso. Esto a su vez permite estudiar si el proceso cumple con lo estipulado al comparar el modelo obtenido con el modelo ideal.  La MP también permite descubrir cuellos de botella mediante la simulación de casos reales del proceso se puede determinar dónde existen cuellos de botella con el fin de actuar sobre los mismos y mejorar la eficiencia de dicho proceso.

Aplicación de la minería de procesos a un caso real

En Ibermática, gracias a las investigaciones previas realizadas en los últimos años por I3B al respecto de procesos avanzados en Inteligencia Artificial, y en concreto, en la generación automática de “workflows de procesos” por medios automáticos, ha desarrollado una plataforma de Process Mining basada en software libre y distribuido, que va a permitir a los clientes de la compañía, principalmente en su vertiente industrial y médica, aprovecharse de esta nueva tecnología ya madura y que minimiza de forma sustancial los análisis de tiempos, costes, eficiencia y eficacia de los procesos, detectando ineficiencias en los mismos, cuellos de botellas, permitiendo una visión real prospectiva, es decir, que  permite recomendar acciones de optimización sobre escenarios futuros ineficaces.  En este “blog” vamos a mostrar un ejemplo concreto aplicado a datos reales de un proceso es el campo de la fabricación de piezas.

El ejemplo versa sobre  un fabricante real  piezas que cuenta con registros de las distintas referencias que a la hora de ejecutar sus órdenes de fabricación, tiene registradas las fases por las que pasa cada orden, la máquina qué utiliza en cada una de ellas y un timestamp. Con la finalidad de obtener un modelo realista, inicialmente nos centramos en los datos asociados para una determinada referencia. Todas las pruebas que se han llevado a cabo se han realizado usando el plugging de minería de procesos para RapidminerRapidProm”.

Obtención, preprocesado y tratamiento de los datos de entrada al sistema

Como es habitual en los proyectos en los que se cuenta con una gran cantidad de datos, inicialmente hay que realizar tareas de ETL (de sus siglas en inglés “Extract, Transform and Load”) que permitan obtener un conjunto de datos apropiado para la obtención de conocimiento del proceso que se quiere analizar. En nuestro caso, una vez realizada la ETL,  se obtiene el fichero de Event Logs en el que se encuentra definido el identificador de trazas y de eventos. Con esta información, y antes de obtener un modelo, ya se puede obtener información relevante de los logs y del proceso, como estadísticas sobre en número de casos y eventos, en que eventos se inician las órdenes o en cuales terminan entre otros,  como se puede apreciar en las Figura 2 y Figura 3.

Figura 2: Resumen del fichero de logs.

Figura 3: Estadísticas de ocurrencia de eventos del fichero de logs.

Así mismo, el visualizador de data logs del ProM también proporciona un gráfico de puntos. Dicho gráfico muestra la propagación de eventos en un registro de eventos a lo largo del tiempo. En la Figura 4 se puede como se distribuyen las ordenes de fabricación lanzadas a producción a lo largo del tiempo y como se aprecia una relación lineal entre dichas órdenes y el tiempo. Además, como atributo color hemos marcado el día de la semana, lo que nos permite apreciar a simple vista por ejemplo que ninguna orden ha sido lanzada el domingo, ya que dicho día no aparece en la leyenda.

Figura 4: Gráfico de puntos.

Obtención y análisis de un modelo del proceso

El modulo desarrollado denominado “Módulo de Descubrimiento del control de flujo del  fabricación de una referencia determinada,  busca la caracterización de todos los caminos posibles para la fabricación de las piezas analizadas y permite visualizar lo que ocurre realmente con el proceso.

Existen variados algoritmos para el descubrimiento de modelos: Alpha Mining [7], Inductive Miner [2], Heuristic Miner [6], Genetic Mining [3], Fuzzy Mining [1], entre otros. Hay que tener en cuenta que el modelo obtenido puede variar para un mismo log de eventos dependiendo del algoritmo usado y de sus parámetros. En este caso y para ilustrar el modelo del proceso real de fabricación de piezas usamos dos algoritmos distintos: Inductive Miner y el Fuzzy Mining.

El algoritmo Inductive Miner es un algoritmo que aplica un enfoque de divide y vencerás: funciona con una división recursiva que va creando particiones con los eventos hasta dar con el modelo. El modelo obtenido se muestra en la Figura 5. En este se puede apreciar los distintos caminos a través de las fases y máquinas que se pueden seguir para obtener una pieza finalizada. Si queremos analizar dicho modelo observando cuántas órdenes de fabricación pasan por cada posible camino, en qué fechas, qué eventos se dan un mayor número de veces o simular el “log” de eventos usamos el Inductive Visual Miner, el cúal, al tener en cuenta el timestamp de cada evento, para crear el modelo, si encuentra inconsistencias re-ordena los eventos y crea un nuevo modelo. En el Video1 se puede ver una simulación para las órdenes de fabricación del log de eventos y la información que devuelve dicho proceso.

 

 

 

Como se puede apreciar en el vídeo, el proceso devuelve, además de la simulación, a lo largo del tiempo, de las distintas órdenes de fabricación de las piezas a lo largo de las distintas fases y máquinas, el número de ocurrencias de cada evento y el número de ocurrencias de cada transacción. El grosor de las líneas de las transiciones y la intensidad de los recuadros que representan los eventos es proporcional al número de ocurrencias, lo que permite conocer a simple vista que rutas son las más frecuentadas.

Figura 5: Red de Petri devuelta por el algoritmo Inductive Miner.

Otro algoritmo usado para obtener un es el Fuzzy Miner el cual intenta abstraer detalles de los modelos al igual que un mapa y permite simplificar la visualización a través de una segmentación (clúster) que agrupa eventos con una alta correlación y una baja significancia.  La significancia determina la importancia relativa de eventos y relaciones del proceso. En la Figura 6 se puede ver el modelo obtenido con el operador Fuzzy Miner, con los distintos eventos (Fase – Máquina), las distintas rutas de fabricación y para cada evento, el valor de la significancia, que determina la importancia relativa de eventos y relaciones. En el modelo, las relaciones con mayor significancia se representan con trazas de mayor grosor y las relaciones con mayor correlación se representan con colores más oscuros. En el Vídeo 2 se puede ver como se simula el “log” de eventos sobre el modelo Fuzzy y como los eventos con alta correlación y baja significancia están agrupados en un clúster que es el nodo que tiene forma octogonal.

 

 

Figura 6: Modelo fuzzy creado con el Fuzzy Miner.

Una de las aplicaciones más interesantes y atractivas de la Minería de Procesos es el estudio y reducción de posibles  “cuellos de botella”. Para ello, la Plataforma cuenta con un proceso que reproduce un “log” de registros en un modelo de un proceso y devuelve información sobre el rendimiento basado en los tiempos entre eventos. En la Figura 7 se puede ver el estudio de tiempos sobre el modelo que se obtuvo anteriormente con el algoritmo Inductive Miner (ver Figura 5). Como se puede apreciar, la intensidad del color de los eventos es proporcional al valor promedio de tiempo de espera: cuanto mayor es dicho valor promedio el color es más intenso. Además, el sistema devuelve unos valores estadísticos basado en los tiempos, como que puede apreciar en la figura para el evento “TOR.REVESTIDO_11511”, en el que se aprecia que se devuelve la frecuencia de casos que se ha dado dicho evento en el “log” de eventos, el promedio mínimo, máximo y medio de tiempo de espera y su desviación estándar.

Figura 7: Análisis de tiempo para estudio de posibles cuellos de botella

Conclusiones

Teniendo en cuenta todo lo comentado y mostrado anteriormente, se puede concluir que uno de los principales beneficios de la Minería de Procesos es que permite conocer cómo sucede realmente un proceso, ya que usa información real obtenida del proceso. Esto permite, por otro lado, detectar fácilmente discrepancias entre el proceso estimado y lo que sucede realmente y, finalmente, realizar un estudio más analítico de los procesos y del funcionamiento de una organización, basado en hechos que ya ocurrieron y que muestran la realidad de la ejecución.

Por otro lado, la Minería de Procesos permite, de manera sencilla, obtener una primera comprensión básica y visual del proceso, lo que facilita un primer análisis y conocimiento del proceso, con un esfuerzo relativamente pequeño. Si nos adentramos más en profundidad, la Minería de Procesos aporta utilidades para simular registros de “log”, estudiar en dónde se encuentran las discrepancias entre el modelo y lo real, y la optimización de procesos entre otros.

En resumen y teniendo en cuenta todo lo mencionado anteriormente, la Minería de Procesos es una herramienta que aporta muchos beneficios y que es muy útil en la gestión de procesos mediante el análisis y la mejora de los procesos de manera automatizada y rápida. Y desde Ibermática, la estamos ya implantando en aquellos proyectos en los que la eficiencia y eficacia de los procesos, la proactividad y la gestión de escenarios es fundamental para su negocio.

Para más información: http://ibermatica.com/innovacion/

Bibliografía

[1]          Christian W. Günther and Wil M. P. Van Der Aalst. Fuzzy mining: Adaptive process simplification based on multi-perspective metrics. In Proceedings of the 5th International Conference on Business Process Management, BPM’07, pages 328–343, Berlin, Heidelberg, 2007. Springer-Verlag.

[2]          Sander J. J. Leemans, Dirk Fahland, and Wil M. P. van der Aalst. Discovering Block-Structured Process Models from Event Logs – A Constructive Approach, pages 311–329. Springer Berlin Heidelberg, Berlin, Heidelberg, 2013.

[3]          A. K. Medeiros, A. J. Weijters, and W. M. Aalst. Genetic process mining: An experimental evaluation. Data Min. Knowl. Discov., 14(2):245–304, April 2007.

[4]          W. M. P. van der Aalst, A. K. Alves de Medeiros, and A. J. M. M. Weijters. Time prediction based on process mining. Information Systems, 36(2):450–475, April 2011.

[5]          W. M. P. van der Aalst et al. Process Mining Manifesto, pages 169–194. Springer Berlin Heidelberg, Berlin, Heidelberg, 2012.

[6]          Wil M. P. van der Aalst. Do petri nets provide the right representational bias for process mining? In Proceedings of the Workshop Applications of Region Theory 2011, Newcastle upon Tyne, UK, June 21, 2011, pages 85–94, 2011.

[7]          Wil M. P. van der Aalst. Process Mining: Discovery, Conformance and Enhancement of Business Processes. Springer Publishing Company, Incorporated, 1st edition, 2011.

 

Comments are closed.