Algorithmen sind die Grundlage der Computerprogrammierung und ein wesentlicher Bestandteil der Datenwissenschaft. In diesem Artikel erklären wir einfach die fünf beliebtesten Algorithmen, die im Process Mining verwendet werden.
Was sind Process-Mining-Algorithmen?
Process-Mining-Algorithmen sind mathematische Regeln, die dazu dienen, mithilfe von Data-Mining-Techniken Prozessmodelle aus Geschäftssystemen zu ermitteln. Mit Process-Mining-Algorithmen können Sie den tatsächlichen Zustand von Geschäftsprozessen abbilden, Engpässe und Effizienzsteigerungen ermitteln und Ihre Geschäftsprozesse datengesteuert verbessern.
Diese Algorithmen bilden die Grundlage der Process-Mining-Software. Zu den fünf gängigsten Process-Mining-Algorithmen gehören Alpha Miner, Heuristic Miner, Fuzzy Miner, Inductive Miner und Genetic Miner.
1. Alpha Bergmann
Der Alpha Miner (oder α-Algorithmus, α-miner) verbindet Ereignisprotokolle oder beobachtete Daten und die Entdeckung eines Prozessmodells. Dieser Algorithmus war der erste Prozessentdeckungsalgorithmus, der von Dr. Wil van der Aalst, Dr. Ton Weijters und Dr. Laura Măruşter entwickelt und vorgeschlagen wurde.
Wie der Alpha Miner im Prozessbergbau arbeitet
Der Alpha-Miner-Algorithmus verwendet Ereignisprotokolle als Datenquelle. Er beginnt mit der Umwandlung der Ereignisprotokolle in Direct-Follows-, Sequence-, Parallel- und Choice-Relationen und verwendet diese dann, um ein Petrinetz zu erstellen, das das Prozessmodell beschreibt. Vereinfacht ausgedrückt, wird ein zeitgestempelter Fluss von Geschäftsprozessen erstellt, der visualisiert werden kann.
Ein Petri-Netz ist ein grafisches und mathematisches Werkzeug, das zur Modellierung und Visualisierung nebenläufiger Systeme verwendet wird. Quelle: Wikipedia.
Der Alpha-Miner-Algorithmus und seine Variationen können heute in großem Umfang in Process-Mining-Anwendungen eingesetzt werden, z. B. bei der Prozessentdeckung und bei der Konformitätsprüfung.
2. Heuristischer Bergmann
Der zweite populäre Process-Mining-Algorithmus, der Heuristic Miner, wurde von Dr. Ton Weijters entwickelt, um einige der wichtigsten Einschränkungen des Alpha Miners zu beseitigen. In der Informatik ist eine Heuristik eine Technik, mit der ein Problem schneller gelöst werden kann, indem eine ungefähre Lösung gefunden wird, während klassische Algorithmen nach einer exakten Lösung suchen. Heuristische Algorithmen werden gerne in der künstlichen Intelligenz eingesetzt, wo man über große Datenmengen verfügt und auf der Grundlage des maschinellen Lernens ausreichend gute Antworten ableiten kann.
Wie der Heuristic Miner im Process Mining arbeitet
Wie der Alpha-Miner-Algorithmus verwendet auch der heuristische Miner ein direktes Diagramm, um die Abfolge von Geschäftsprozessen auf der Grundlage von Ereignisprotokollen darzustellen. Der Hauptunterschied besteht darin, dass der Heuristic Miner Filter anwendet, um das Rauschen bzw. bedeutungslose oder unvollständige Ereignisprotokolldaten zu reduzieren, um Flussdiagramme zu erstellen, die weniger genau, aber robuster sind als der Alpha Miner.
Beispiel für ein kausales Netz, das in heuristischen Minern verwendet wird. Quelle: r-project.org.
Heuristische Mining-Algorithmen verwenden eine Darstellung, die als Kausalnetz bezeichnet wird, um den gesamten zeitlichen und räumlichen Verlauf der verschiedenen Aktivitäten abzubilden. Dann wird untersucht, wie häufig verschiedene Ereignisse stattfinden, und ein Prozessmodell erstellt, das die seltensten Pfade aus dem visualisierten Modell ausschließt. Das Endergebnis eignet sich gut für komplexe Datenumgebungen, z. B. für das Process Mining bei besonders umfangreichen Prozessen.
3. Unscharfer Bergmann
Der Fuzzy Miner ist ein dritter Kern-Algorithmus für das Prozess-Mining, der für das Mining von weniger strukturierten Prozessen geeignet ist. Er wurde von Christian W. Günther entwickelt und zielt darauf ab, dem Process Mining einen Teil der aufwändigen Datenerfassung abzunehmen, indem er sich auf das konzentriert, was der Benutzer entdecken und analysieren möchte.
Wie der Fuzzy Miner im Prozessbergbau arbeitet
Der Fuzzy Miner verwendet Signifikanz-/Korrelationsmetriken, um das Prozessmodell auf der gewünschten Detailebene interaktiv zu vereinfachen. Vereinfacht ausgedrückt, führt er das richtige Maß an Data Mining durch, je nachdem, worauf der Benutzer achtet. Wenn der Benutzer mehr ins Detail gehen möchte, wird das Modell mehr Details enthalten. Wenn der Benutzer die übergeordnete Ansicht betrachtet, wird das Modell geclustert und "unschärfer".
Beispiel für Fuzzy Mining mit dem ProM-Werkzeug. Quelle: tue.nl
4. Induktiver Bergmann
Der Inductive Miner ist ein weiterer gängiger Algorithmus, der beim Process Mining zur Ermittlung von Prozessmodellen aus Ereignisprotokollen verwendet wird. Diese Technik beruht auf der Idee, Ereignisprotokolle in kleinere Unterprotokolle zu zerschneiden, die als Schnitte oder Splits bezeichnet werden, und dann verschiedene Schnitte auf den direkt folgenden Graphen zu erkennen, die mit Hilfe der Ereignisprotokolle erstellt wurden. Der Hauptvorteil des Inductive Miner ist seine Flexibilität und Skalierbarkeit.
Wie der Inductive Miner im Prozessbergbau funktioniert
Der einzigartige Aspekt des Inductive Miners ist die Methodik der Entdeckung verschiedener Unterteilungen im direkt verfolgten Graphen und die Verwendung der kleineren Komponenten nach der Unterteilung zur Darstellung der Ausführungsreihenfolge der Aktivitäten. Der Inductive Miner-Algorithmus erforscht iterativ den Raum möglicher Prozessmodelle und ist in der Lage, eine breite Palette von Prozessstrukturen zu erkennen, von linearen bis hin zu komplexeren Modellen mit Gleichzeitigkeit, Schleifen und Oder-Verzweigungen.
Beispiel eines induktiven Miners im Prozessbergbau. Quelle: S.J.J. Leemans slideserve.com
5. Genetischer Bergmann
Der Genetic Miner hat seinen Namen aus der Biologie und funktioniert ähnlich wie die natürliche Selektion. Er arbeitet mit einem genetischen Algorithmus, der einen Raum möglicher Prozessmodelle durchsucht, um das wahrscheinlichste Prozessmodell zu ermitteln. Der Genetic Miner kann als ein evolutionärer Ansatz betrachtet werden, bei dem Prozessmodelle mutiert und kombiniert werden, um bessere Modelle zu finden.
Wie der Genetic Miner im Prozessbergbau arbeitet
Der Genetic Miner-Algorithmus bewertet jedes Prozessmodell und verwendet Auswahl-, Crossover- und Mutationsoperationen, um neue Prozessmodelle zu erzeugen. Die Prozessmodelle werden bewertet, und das geeignetste Modell wird als endgültiges Prozessmodell ausgewählt. Der Genetic Miner ist in der Lage, Prozessmodelle mit mehreren Varianten zu identifizieren und komplexe Prozessstrukturen, wie Schleifen und Gleichzeitigkeit, zu erkennen.
Visualisierung der Funktionsweise des Genetic Miners im Process Mining Quelle: mlwiki.org.
Kurzanleitung zum Prozessabbau in Python
Ein sehr vereinfachtes Beispiel dafür ist, dass man mit der Programmiersprache Python schnell auf Open-Source-Process-Mining-Algorithmen zugreifen und diese nutzen kann.
Um Process Mining in Python durchzuführen, können Sie die pm4py-Bibliothek verwenden, die verschiedene Funktionen für die Prozesserkennung, Konformitätsprüfung und Prozessverbesserung bietet. Hier finden Sie eine einfache Schritt-für-Schritt-Anleitung, um mit Process Mining unter Verwendung der pm4py-Bibliothek zu beginnen:
Schritt 1: pm4py installieren
Zuerst müssen Sie die pm4py-Bibliothek installieren. Sie können dies mit pip tun:
bashCopy Code
pip install pm4py
Schritt 2: Importieren Sie die erforderlichen Bibliotheken
Als nächstes importieren Sie die erforderlichen Bibliotheken in Ihr Python-Skript:
pythonCopy-Code
pm4py importieren
from pm4py.objects.log.importer.xes import importer as xes_importer
from pm4py.algo.discovery.alpha importiere Algorithmus als alpha_miner
from pm4py.visualization.petrinet import visualizer as pn_visualizer
Schritt 3: Laden Sie das Ereignisprotokoll
Laden Sie die Ereignisprotokolldaten mit dem entsprechenden Importer. In diesem Beispiel werden wir eine XES-Ereignisprotokolldatei verwenden:
pythonCopy-Code
event_log_file = "pfad/zu/ihr/event_log.xes"
log = xes_importer.apply(event_log_file)
Sie können auch ein Ereignisprotokoll aus einer CSV-Datei erstellen, indem Sie die pm4py-Bibliothek verwenden. Hier ist ein Beispiel:
pythonKopieren von Code
importiere pandas als pd
from pm4py.objects.conversion.log import converter as log_converter
from pm4py.objects.log.util importieren dataframe_utils
csv_file = "pfad/zu/ihre/csv_file.csv"
Datenrahmen = pd.read_csv(csv_file)
dataframe = dataframe_utils.convert_timestamp_columns_in_df(dataframe)
dataframe = dataframe.sort_values("zeitstempel_spalte_name")
log = log_converter.apply(datenrahmen)
Schritt 4: Anwendung eines Prozesserkennungsalgorithmus
Wenden Sie einen Prozesserkennungsalgorithmus auf die Ereignisprotokolldaten an, um das Prozessmodell zu extrahieren. In diesem Beispiel verwenden wir den Alpha Miner-Algorithmus:
pythonCopy code
net, initial_marking, final_marking = alpha_miner.apply(log)
Sie können auch andere Prozessentdeckungsalgorithmen wie den Inductive Miner oder den Heuristics Miner ausprobieren, die in der pm4py-Bibliothek verfügbar sind.
Schritt 5: Visualisierung des Prozessmodells
Visualisieren Sie das ermittelte Prozessmodell mit dem Petri-Netz-Visualisierer:
pythonCopy-Code
gviz = pn_visualizer.apply(net, initial_marking, final_marking)
pn_visualizer.view(gviz)
Dadurch wird die Petri-Netz-Visualisierung des ermittelten Prozessmodells angezeigt.
Schritt 6: Zusätzliche Analysen durchführen (optional)
Sie können die pm4py-Bibliothek verwenden, um zusätzliche Analysen wie Konformitätsprüfung, Engpassanalyse oder Leistungsanalyse durchzuführen. Lesen Sie die Dokumentation und die Beispiele der Bibliothek, um mehr über diese Funktionen zu erfahren.
Wenn Sie diese Schritte befolgen, können Sie mit der pm4py-Bibliothek grundlegende Prozessanalysen in Python durchführen. Für fortgeschrittene Anwendungsfälle und Anpassungen lesen Sie bitte die offizielle pm4py-Dokumentation und Beispiele:
Offizielle Dokumentation: https://pm4py.fit.fraunhofer.de/documentation
Beispiele: https://github.com/pm4py/pm4py-core/tree/stable/examples
Das obige Beispiel ist eine grobe Vereinfachung der Bedürfnisse der meisten Unternehmensleiter. Die Realität der Entwicklung und Anwendung von Prozessanalysen ist oft viel komplizierter, so dass sich Unternehmen zunehmend für spezielle Lösungen von Anbietern entscheiden.
Codefreie Alternative zum Process Mining
Wenn Sie auf der Suche nach einer mühelosen Alternative zum Process Mining sind, könnte Process Intelligence für Sie interessant sein. Dabei handelt es sich um einen hybriden Ansatz, der Elemente des Task Mining und des Process Mining kombiniert, ohne dass Data Science oder Integrationsaufwand erforderlich sind. Weitere Informationen finden Sie in unserem aktuellen Whitepaper.
Fragen und Antworten zum Prozessbergbau:
1. Was ist Process Mining?
Process Mining ist eine Technik, bei der Ereignisprotokolle analysiert werden, um visuelle Prozessmodelle zu erstellen, die wertvolle Einblicke in den aktuellen Zustand eines Geschäftsprozesses geben und Bereiche mit Verbesserungspotenzial aufzeigen.
2. Was ist der Unterschied zwischen Process Mining und Task Mining?
Sowohl das Process Mining als auch das Task Mining liefern Erkenntnisse, die für das Management von Geschäftsprozessen relevant sind, aber sie arbeiten auf leicht unterschiedliche Weise. Beim Process Mining werden Daten aus Ereignisprotokollen in Quellsystemen des Unternehmens gesammelt, während beim Task Mining Informationen aus der Benutzeroberfläche von Workstations gesammelt werden.
3. Ist Process Mining für alle Branchen geeignet?
Process Mining kann zwar in verschiedenen Branchen eingesetzt werden, ist aber besonders für Unternehmen mit komplexen Prozessen und großen Datenmengen von Vorteil. Diese Unternehmen können Process Mining nutzen, um wertvolle Einblicke in ihre Prozesse zu gewinnen und erhebliche Verbesserungen bei Effizienz, Kosteneinsparungen und Kundenzufriedenheit zu erzielen.
4. Was ist der Unterschied zwischen Process Mining und Business Intelligence?
Process Mining ist eine Teilmenge von Business Intelligence, bei der BI-Methoden und Data-Science-Techniken mit dem Geschäftsprozessmanagement kombiniert werden.