Comments (4)
Adding to Gert's point on more advanced discovery algorithms that detect AND splits: it would be great if more open source developers in the process mining field added some of their best work to the bupaR ecosystem. Felix' work on processanimateR is the best example for this. Another algorithm that deserves attention and would fit nicely into the bupaR world is the Inductive Visual Miner. So far it's only available in ProM. R has so many advantages in terms of reproducibility and integrating data preparation over other platforms.
from processmapr.
I wonder whether we can leverage some of the work done by pm4py since it would be possible to use Python code via the reticulate package. However, this is still very much under construction and we would need stable versions.
Of course, when using real process discovery algorithms, some more problems pop up: having to deal with alignments for performance measures / animations for instance :-)
I started a quick and dirty implementation of the Heuristics Miner internally, which would remove the clutter of edges when parallelism is present. However, without having implemented the XOR/AND split detection. I will try to put it up as a package soon.
from processmapr.
Thanks for the advice, I ended up identifying the overlapping activities, ranking them into sequences and then concatenated the activity id's together.. seem to be getting pretty good results so far, not receiving any negative durations anyway and probably reflects my process reasonably well due to how many activities get completed all at once.
Example code is available at loan-app-process/02-parallel-activities
from processmapr.
Hi @JesseVent , thanks for your message.
The current process map visualization is not really made for activities which happen at the same time or overlap. The negative times are essentially telling you this. If activity B starts while activity A is still running, there will be a flow from A to B (telling you that B started after A started), but the time indication will be negative, telling you that that B started before A finished). Indeed, the time shown by default is the time between the end of the source and the start of the target activity.
NB: if activities start at exactly the same time, there will still be a flow between them. In that case the order is decided based on the order the events were in in the data when you create the event log (unless you configured another order at that point).
So, you are not doing anything wrong, the fact is just that the process map is not advanced enough for this kind of data. And just dropping those arcs with negative durations (as is typically done in commerical process mining tools) would not be very transparant.
What you basically need is real discovery algorithms which can detect and show AND and XOR splits. Unfortunately, these are currently not included in bupaR. You can have a look at other commercial tools for this, such as Apromore (http://apromore.org/) or ProM (http://www.promtools.org/doku.php).
Another possibility is to transform the event data you have towards a higher level of abstraction, where you have clearly delineated activities which cannot overlap. However, that might not be ideal, depending on the questions you are having.
Hopefully there will be other algorithms included in the future which can discover BPMN-like models. If you have any suggestions on how to tackle this issue in the current process maps yourself, please feel free to let me know.
from processmapr.
Related Issues (20)
- The Start Node Wants to be on Top HOT 1
- Error: syntax error in line 29 near '"' HOT 1
- trace_explorer: Nr of traces attribute as alternative to coverage
- process_map output does not have nodes in rankdir order HOT 5
- process_map fails on data frame containing a column named 'time' HOT 2
- add QUANTILE performance HOT 1
- Extended RAW DATA parameter HOT 1
- Edges are stacked when using fixed_node_pos HOT 4
- Which mining algorithm is used ? HOT 1
- Incorrect scale label on precedence matrix plot when type is absolute
- precedence_matrix() types should be hyphen-separated HOT 1
- process_map() issue HOT 3
- plotly_dotted_chart for relative view HOT 2
- precedence_matrix with performance views HOT 4
- Secondary metric for the process_map HOT 5
- Sort Dotted Chart on all activities HOT 2
- dotted_chart.grouped_eventlog does not work
- Enlarging nodes in process map HOT 3
- Prefixing `UQ()` with the rlang namespace is deprecated as of rlang 0.3.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from processmapr.