introduction to process discoveryprocess discovery process identification process analysis process...
Post on 11-Oct-2020
12 Views
Preview:
TRANSCRIPT
Fabrizio Maria Maggi
f.m.maggi@ut.ee
Introduction to Process Discovery
Process discovery
Process identification
Processanalysis
Processimplementation
Processmonitoring
Processredesign
Process architecture
As-is processmodel
Insights onweaknesses and
their impact
To-be process model
Executable processmodel
Conformance and performance
insights
Process Analysis in the BPM
Lifecycle
Define Vision Develop Strategy Implement Strategy
Manage Personnel Manage Assets
Management Processes
Core Processes
Support Processes
Manage Risk
ManageInformation
ProcureMaterials
ProcureProducts
MarketProducts
Deliver Products
Manage Customer
Service
Examples for BPM lifecycle and process mining
C
1.5h
B
15h
DE
2h
C DA B E
A
3m
35h 30h
15m
10m
10min
5m5m 10m30m
Process Mining
www.processmining.org
Process Mining
www.processmining.org
α-algorithm: the Origin of Process Discovery
van der Aalst, W. M. P. and Weijters, A. J. M. M. and Maruster,
L. (2003). Workflow Mining: Discovering process models
from event logs, IEEE Transactions on Knowledge and Data
Engineering
α-algorithm
Basic Idea: Ordering relations
• Direct succession: x>y iff for some case x is directly followed by y.
• Causality: xy iff x>y and not y>x.
• Parallel: x||y iff x>y and y>x
• Unrelated: x#y iff not x>y and not y>x.
case 1 : task A
case 2 : task A
case 3 : task A
case 3 : task B
case 1 : task B
case 1 : task C
case 2 : task C
case 4 : task A
case 2 : task B
...
A>B
A>C
B>C
B>D
C>B
C>D
E>F
AB
AC
BD
CD
EF
B||C
C||B
ABCD
ACBD
EF
Basic Idea: Example
Basic Idea: Example
Basic Idea: Footprints
α-Algorithm
Idea (a)
α-Algorithm
Idea (a)
a b
α-Algorithm
Idea (b)
α-Algorithm
Idea (b)
a b, a c and b # c
α-Algorithm
Idea (c)
α-Algorithm
Idea (c)
b d, c d and b # c
α-Algorithm
Idea (d)
α-Algorithm
Idea (d)
a b, a c and b || c
α-Algorithm
Idea (e)
α-Algorithm
Idea (e)
b d, c d and b || c
α-algorithm: Applicative Example
α(L) = ?
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
ALPHABET
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
ALPHABET
{a,b,c,d,e,f,g}
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
INITIAL ACTIVITIES
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
INITIAL ACTIVITIES
{a}
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
FINAL ACTIVITIES
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
FINAL ACTIVITIES
{g}
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
α-algorithm: Applicative Example
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
a b c d e f g
a # > > # # # #
b < # || > # # #
c < || # > # # #
d # < < # > > #
e # # # < # # >
f # # # < # # >
g # # # # < < #
FOOTPRINTS
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}
α-algorithm: Applicative Example
α(L) = ?
L= { <a,b,c,d,e,f> 4, <a,g,h,d,f,e> 2, <a,b,c,d,f,e> 3, <a,g,h,d,e,f> 3}
Limitations of alpha miner
Completeness
All possible traces of the process (model) need to be in the log
Short loops
c>b and b>c implies c||b and b||cinstead of cb and bc
Self-loops
b>b and not b>b implies bb (impossible!)
Frequency of the Ordering Relations?
Little Thumb to Deal with Noise
van der Aalst, W. M. P. and Weijters, A. J. M. M. (2003).
Rediscovering workflow models from event-based data
using little thumb, Integrated Computer-Aided Engineering
Heuristics Miner
Heuristics Miner
number between -1 and 1 indicating strength of causal dependency between a and b
Heuristics Miner
Heuristics Miner
Heuristics Miner
What’s the corresponding process model?
Automated Process Discovery
Automated process
discovery method
Simplicity
minimal size & structural complexity
Precision
does not parse traces not in the
log
Fitness
parses the traces of the log
Generalization
parses traces of the process not
included in the log
50
Process Discovery Algorithms:
The Two Worlds
High-Fitness
High-Precision
Heuristic Miner
Fodina Miner
High-Fitness
Low-Complexity
Process Model discovered with Heuristics
Miner
Process Model discovered with
Inductive Miner
Structured by construction
Based on process tree
Process Discovery Algorithms:
The Two Worlds
High-Fitness
High-Precision
Heuristic Miner
Fodina Miner
High-Fitness
Low-Complexity
Inductive Miner
Evolutionary Tree Miner
Split Miner
Augusto, A. and Conforti, R. and Dumas, M. and La Rosa, M.
(2017). Split Miner: Discovering Accurate and Simple
Business Process Models from Event Logs. ICDM 2017
Process Model discovered with
Split Miner
Process Discovery Algorithms
High-Fitness
High-Precision
Low-Complexity
Split Miner
From Event Log to Process Model in 5 Steps
58
Directly-Follows Graph and
Loops DiscoveryFiltering
Concurrency Discovery
SplitsDiscovery
JoinsDiscovery
Event Log
Process Model
Trace #obs
a » b » c » g » e » h 10
a » b » c » f » g » h 10
a » b » d » g » e » h 10
a » b » d » e » g » h 10
a » b » e » c » g » h 10
a » b » e » d » g » h 10
a » c » b » e » g » h 10
a » c » b » f » g » h 10
a » d » b » e » g » h 10
a » d » b » f » g » h 10
59
Directly-Follows Graph and
Loops Discovery
Concurrency DiscoveryEvent Log Filtering
SplitsDiscovery
JoinsDiscovery
Process Model
Trace #obs
a » b » c » g » e » h 10
a » b » c » f » g » h 10
a » b » d » g » e » h 10
a » b » d » e » g » h 10
a » b » e » c » g » h 10
a » b » e » d » g » h 10
a » c » b » e » g » h 10
a » c » b » f » g » h 10
a » d » b » e » g » h 10
a » d » b » f » g » h 10
60
Directly-Follows Graph and
Loops Discovery
Concurrency DiscoveryEvent Log Filtering
SplitsDiscovery
JoinsDiscovery
Process Model
61
Directly-Follows Graph and
Loops Discovery
Concurrency DiscoveryEvent Log Filtering
SplitsDiscovery
JoinsDiscovery
Process Model
(b || c) (b || d) (d || e) (e || g)
62
Directly-Follows Graph and
Loops Discovery
Concurrency DiscoveryEvent Log Filtering
SplitsDiscovery
JoinsDiscovery
Process Model
63
Break for Make-up!
64
Directly-Follows Graph and
Loops Discovery
Concurrency DiscoveryEvent Log Filtering
SplitsDiscovery
JoinsDiscovery
Process Model
(b || c) (b || d) (d || e) (e || g)
65
Directly-Follows Graph and
Loops Discovery
Concurrency DiscoveryEvent Log Filtering
SplitsDiscovery
JoinsDiscovery
Process Model
66
Done!
top related