본문 바로가기

나혼자 DA

[공부하기] 프로세스 마이닝 기본 (프로세스 마이닝, 이벤트 로그, 프로세스 마이닝 종류)

🔸 프로세스 마이닝? 

프로세스 마이닝은 공정 과정(Process) 전체를 분석하고 시각화해서 어떻게 이 Process를 더 효율적으로 개선하고, 발전시킬 수 있는지에 집중하는 학문

 

웹페이지 안에서 사용자가 물건을 구매하기까지의 과정, 병원에서 환자가 접수하고 퇴원까지의 과정, 

회사에서 직원이 업무를 받아 처리 후 보고하기까지의 과정 모두가 프로세스라고 할 수 있다. 

이런 모든 프로세스에 대해 프로세스 마이닝은 힘을 발휘할 수 있다. 

즉, 앞서 말한 모든 과정들이 프로세스 마이닝으로 많은 사용자 구매유도를, 더 빠른 환자치료를, 더 효율적인 업무분배를 할 수 있게 해준다. 

 

1. 현재의 프로세스 분석

데이터를 기반으로 현재 프로세스가 어떻게 진행되는지 파악 하고 시각화 해준다 

2. 문제점 도출 및 개선

프로세스 내의 문제점(병목 현상, 반복 작업, 불필요한 프로세스 등)을 파악하고 이를 토대로 개선하게 해줌

3. 미래 예측

🔸 이벤트 로그? 

✔ 이벤트 로그란 프로세스 마이닝의 가장 기본이 되는 데이터 형태

✔ 데이터를 프로세스 마이닝에 활용하기 위해선 이벤트 로그 형태로 바꿔줘야한다 

이벤트 로그의 필수요소 3가지

1️⃣ 케이스 아이디

2️⃣ 액티비티 

3️⃣ 타임스탬프 

 

위의 표에서 1️⃣ 케이스 아이디 는 Patient  2️⃣ 액티비티는 Activity 3️⃣ 타임스탬프는 Timestamp

환자 하나의 데이터(각 행) 과정을 이벤트라고 하고, 이 이벤트들이 모여 하나의 케이스가 되고 이 케이스들이 모여 EVENT LOG가 된다. 

 

이벤트 로그의 추가적인 요소 

위 세가지의 필수적인 요소 외, 이벤트 로그에 포함될 수 있는 요소들은 다음과 같다.

 

1️⃣ Resource : 해당 작업을 처리한 사람 (위에선 doctor column) 이나 부서, 기계 등 

2️⃣ Transactional Information : 액티비티의 시작, 종료 시점을 기록한 정보 (e.g. schedule, start, complete column) 

3️⃣ Other data :  각 케이스나 이벤트의 정보 (위에성 age, cost columns)

🔸 이벤트 로그 표시 

➡ 전체 이벤트 로그에서 <a,b,c,d>패턴을 보인 케이스가 3개, <a,c,b,d> 패턴을 보인 케이스가 2개, <a,e,d> 패턴을 보인 케이스가 1개

 

< > : 케이스 내에서 발생한 액티비티의 패턴 

< > : 옆 지수 : 해당 패턴을 보이는 케이스가 일어난 횟수 

🔸 활용 Tool

ProM , PM4Py, Disco

🔸 프로세스마이닝의 종류 

1️⃣ Process Discovery 프로세스 도출 

✔ Process Discovery는 가장 중요한 부분으로, 아무런 사전 정보 없이 이벤트 로그로부터 모델을 도출하는 것을 의미. 

MAIN POINT : 아무런 사정 정보 없이 

✔ Just 시스템으로부터 도출되어 저장된 데이터를 이벤트 로그 형태로 가공만 하면, 가공된 데이터로부터 프로세스가 어떻게 흘러가는지 이해할 수 있음. 

✔ 한 눈에 보이지 않는 표 or 로그 형태로 저장된 데이터를 아래 그림처럼 한눈에 볼 수 있는 흐름으로 바꾸어 주는 놀라운 작업 

✔ Alpha Miner, Hueristic Miner, ILP Miner, Inductive Miner 등

2️⃣ Conformance Checking (적합도 검사) 

✔ 도출된 모델이 실제 이벤트 로그와 잘 맞는지 확인하는 작업, 즉 도출된 모델의 성능을 데이터를 기반으로 검사하는 작업

✔ 기존 모델의 문제점 파악하는 단계 

✔ Casual footprint, Token-Based Replay, Synchronous Product Net 등 을 이용해 checking

3️⃣ Enhencement (향상)

✔ 기존에 존재하는 모델을 새로운 이벤트 로그의 정보를 토대로 더 나은 모델 혹은 확장된 모델로 발전시키는 작업

✔ 더 나은 모델(Repair) : Conformance가 더 좋은 모델 / 확장된 모델(Extended) : 병목, 빈도, 소요시간 등 추가적인 정보를 제공하는 모델

✔ 새로운 모델로 발전하는 단계 

4️⃣ Process Analysis (프로세스 분석)

1~3번 방법을 통해 모델을 도출하고, 이 모델을 진단해 더 나은 확장된 모델을 만들었다면 이를 분석해 어떤 방법으로 프로세스를 발전시킬 수 있는지를 알아봐야한다.프로세스를 분석해 문제점을 발견하고 이를 개선할 수 있는 방법을 제시하는 모든 과정을 Process Analysis 라고 한다.

 

 

🔹 Refined Process Mining Framework (새로운 프로세스 마이닝의 종류) 

🔻 전통적인 프로세스 마이닝

✔ Process Discovery & Conformance Checking , Enhancement로 이루어진 프로세스 마이닝

✔ 일어난 일에 대한 데이터를 분석해 모델을 만들거나 이 모델의 성능을 평가하거나 향상시키는 것을 목적으로 함 

 

🔺Refined Process Mining Framework 

✔ 이벤트 로그의 데이터에 Pre mortem data 포함

✔ 프로세스 모델에 de jure model 이 포함

 

🔹 프로세스 마이닝 종류 

1️⃣ Cartography (지도제작)

  ✔지도가 현실 세계를 그림으로 보여주듯 프로세스 마이닝의 cartography는 현실 세계의 프로세스를 프로세스 모델로 보여주는 것.

  ✔ Cartography 엔 Discover & Enhance & Diagnose 세가지 종류가 있다. 

 

  🅰 Discover

    기존의 process discovery 처럼, 데이터로부터 프로세스 모델을 도출하는 것

  🅱 Enhance 

    프로세스 모델을 발전시키는 것. repair가 될 수도, extend가 될 수 도 있다

  🅾 Diagnose 

    이벤트 로그 없이 프로세스 모델 자체를 진단하는 것. 즉, 프로세스 모델의 soundness를 분석하는 것부터 프로세스 모델의 성능(소요시간 등)을 분석하는 것까지의 모든 process model analysis를 말한다

 

2️⃣  Auditing 

  ✔ Auditing은 프로세스가 원하는 방향으로 잘 흘러가고 있는지를 확인하는 것.

  ✔ 두개의 프로세스 모델의 행동을 분석 OR 이벤트 로그와 프로세스 모델을 비교해 분석

 

  🅰 Detect 

   ✔ de jure model을 pre mortem 데이터와 비교함으로써 현재 진행 중인 데이터가 이상적인 프로세스 모델대로 흘러가는지를 분석하고 deviation을 찾아내는 것을 말함. 

   ✔ 만약 원하는 방향대로 프로세스가 흘러가지 않으면 이를 알려주는 것을 목적으로 함

  🅱 Check 

   ✔ de jure model와 post mortem 데이터를 cross check 하는 것을 말함

   ✔ 목적 :  post mortem 데이터와 de jure model의 차이점을 분석함으로써 모델이 데이터에 얼마나 일치하는지(compliance)를 확인하는 것

  🅾  Compare

  ✔ de facto model과 de jure model을 비교하는 것을 말함

  ✔ 이상적인 모델과 현재 프로세스가 흘러가는 모델을 비교 분석함으로써 현재의 프로세스 모델이 이상적인 모델의 방향과 어떤 차이가 있는지를 분석하는 것 

  🆎 Promote 

  ✔ Promote 는 Compare을 기반으로 하여 de facto model 을 de jure model과 더 비슷한 방향으로 발전시키는 것을 말한다

 

3️⃣ Navigation 

 과거에 일어난 것을 기반으로 분석했던 catography나 auditing과 달리, 미래에 일어나야할 방향을 제시한다. 

 

  🅰 Explore

   ✔ Explore는 이벤트 데이터와 모델을 함께 이용해 현재 일어나고 있는 데이터(run-time)가 모델에서 어떤 과정에 있는지를 보고, 전에 일어났던 비슷한 케이스와 이를 비교하는 등의 행위를 말한다 

  🅱 Predict 

  ✔ 현재 일어나고 있는 케이스(running-case)의 정보와 모델을 결합함으로써 미래에 어떤 액티비티가 일어날건지, 전체 케이스의 소요 시간은 얼마가 될 것인지 등의 정보를 예측하는 것을 말한다

  🅾 Recommend 

  ✔ 현재 일어나고 있는 케이스의 정보와 모델을 결합함으로써 가장 짧은 소요 시간으로 케이스를 수행하려면 어떻게 해야할지, 가장 적은 비용으로 케이스를 진행하려면 어떻게 해야할지 등의 추천을 해주는 것을 말한다

 

 

💡 필사하며 느낀점

프로세스 마이닝을 더 이해하고자 필사를 진행했다. 전체 그림이 처음엔 모호했는데 확실히 글을 읽고 필사를 하다보니 개념이 정리된 느낌! 

특히 Auditing - Detect 부분을 필사할때  전에 Puzzle Data의 영상을 봤을 때가 생각났다. 

프로세스에서 벗어난 행위가 있을 경우 알림을 주는 부분이 인상에 남았는데 기존 프로세스 마이닝에선 어느 부분에 그 단계가 들어가는지 정확히 알지 못했는데, detect부분에서 진행되는 듯해보인다. 

 

중간에 등장하는 불어같은 단어가 뭔지 또 찾아봐야하지만 ㅎ 

그래도 아직까진 궁금한 프로세스 마이닝 분야! 

논문을 정리해주신 분 덕분에 한글로 편하게 공부하는데, 추후 더 관심이 생긴다면 참고하셨던 논문도 전체적으로 볼 예정 😎

 


본 글은 <유니의 공부>에서 나온 프로세스 마이닝 글을 필사하며 정리한 글입니다

* 출처 : https://process-mining.tistory.com/120

 

프로세스 마이닝 공부하는 법 (프로세스 마이닝 공부 순서)

제목이 거창하다.... '공부하는 법'을 남들에게 알려줄 수 있는 수준은 아니지만, 혹여나 도움이 될까 싶어 글을 써 본다 ㅎㅎ 블로그를 시작한지 1년이 조금 넘었다. 글을 쓰고 싶은 순서대로 글

process-mining.tistory.com