
„Wird die Katze in meinem Haus überleben? Fragte ich mich, bevor ich meinen pelzigen Freund aus dem Tierheim abholte. Und ich beschloss, meine Hypothese mittels Process Mining zu testen, dieser relativ neuen, aber sich aktiv entwickelnden Richtung der Prozessanalyse. Unter den Softwareprodukten in diesem Bereich gibt es eine ausreichende Anzahl von Alternativen, insbesondere: Celonis, Disco, ProM, Apramore. Ich habe mich entschlossen, die Python-Sprachbibliothek PM4PY (Process Mining für Python) auszuprobieren, deren erste Version auf GitHub erschienvor etwas mehr als einem Jahr, Ende 2018. Seine Besonderheit ist, dass es sich um freie Software handelt und es keine Einschränkungen hinsichtlich der Anzahl der heruntergeladenen Dateien und der Anzahl der im Protokoll berücksichtigten Ereignisse (Ereignisprotokoll) gibt. PM4PY verfügt auch über eine umfangreiche Dokumentation, die die grundlegenden Funktionen beschreibt. Codebeispiele und Referenzinformationen finden Sie auf der offiziellen Website - pm4py.org .
Zuallererst - ... nein, keine Flugzeuge, sondern Daten! PM4PY unterstützt mehrere Eingabeformate. Darunter: CSV (durch Kommas getrennt), XES (eXtensible Event Stream) und Parkett. Das einfachste, sowohl hinsichtlich des Verständnisses als auch hinsichtlich der verfügbaren Funktionalität, ist das CSV-Format.

In diesem Format wurden die Daten der Morgenroutine präsentiert, die später im betrachteten Beispiel des Prozesses verwendet wurden. In einer Reihe von Ereignissen am Morgen wie "Aufstehen", "Frühstück", "Zähneputzen" usw. Ein bedeutender neuer Schritt wurde als "Füttere die Katze" hinzugefügt. Dieses Beispiel wurde künstlich in einer MS Excel-Tabelle generiert und dann in CSV gespeichert (die Anzahl der Simulationstage beträgt 39 und die Gesamtzahl der Ereignisse betrug 250). Der Datenimport erfolgt in zwei Codezeilen. In der ersten wird die sogenannte Importfactory (die entsprechende Python-Klasse dieser Bibliothek) geladen, und in der zweiten wird der Name der Datendatei der Eingabe dieser „Factory“ zugeführt und der gewünschten Variablen zugewiesen.
Ein von außen geladenes Protokoll (in dem einen oder anderen Format) kann der Eingabe von "Miners" - Algorithmen zugeführt werden, die das in den Speicher geladene Ereignisprotokoll analysieren und versuchen, anhand dieser Eingabedaten ein angenommenes Modell des Prozesses in Form eines Petri-Netzes zu erstellen. Beispiele für in PM4PY verfügbare Algorithmen: Alpha, IMDFb, Heuristic. Aber wenn Sie sich erinnern, interessierte mich nicht die akademisch strenge theoretische Darstellung des Prozessmodells, sondern die rein praktische Frage nach dem Überleben der Katze.
Daher gehen wir zu einer viel interessanteren praktischen Analyse des Prozesses in Form von DFG-Diagrammen (Directly-Follows Graph) über, bei denen die Scheitelpunkte des Diagramms die Ereignisse des von uns geladenen Ereignisprotokolls sind und die gerichteten Kanten Paare von Ereignissen verbinden, die mindestens einmal nacheinander aufgetreten sind ... Der Vorteil dieser Ansicht ist die detaillierte Anzeige aller möglichen Übergänge. Der Nachteil ist die übermäßige Unordnung des Bildes mit Verbindungslinien, deren Anzahl mit der Zunahme der Anzahl der Aktionen im Protokoll und der Multivarianz der tatsächlichen Schritte, die im beobachteten Prozess aufgetreten sind, stark zunimmt.


Es ist ersichtlich, dass der bereits schwierige Prozess der Morgenroutine mit einem zusätzlichen Schritt beim Füttern des Haustieres noch schwieriger geworden ist. DFG kann in Bezug auf die Frequenz aufgetragen werden, d.h. Wie viele Übergänge gab es von einem Scheitelpunkt zum anderen? Und Sie können im Kontext der Zeiteffizienz aufbauen, indem Sie als Indikator den Durchschnittswert der Zeit zwischen Ereignissen auswählen. Sie können auch den Minimalwert, das Maximum oder den Median als Indikator auswählen.
Um den betrachteten Datenbereich eingrenzen zu können, bietet PM4PY die Möglichkeit, mit Filtern (Sie können Filter nach Spalten wie in der Pandas-Bibliothek festlegen) und mit Optionen (typische Abfolgen von Schritten) des Protokolls zu arbeiten. In den obigen Abbildungen wurden beispielsweise DFGs mit allen Optionen ohne Einschränkungen angezeigt. Sie können beispielsweise die drei häufigsten Abfolgen von Schritten auswählen, und dann wird das Bild viel einfacher.
Es sei daran erinnert, dass die Einfachheit im Bild rechts auf das Verwerfen seltenerer Optionen zurückzuführen ist, die entweder atypische, aber für uns nicht interessante, aber durchaus akzeptable Optionen und wichtige Abweichungen vom Standardprozess enthalten, die für uns sehr interessant sind.

Infolgedessen sehen wir, dass selbst in den typischsten Abfolgen von Ereignissen der Schritt "Füttere die Katze" nur in 4 von 8 Fällen auftrat, und in der Hälfte der Fälle (4) wurde diese Aktion übersprungen und es gab keine Rückkehr dazu. Jene. In diesem Fall ist es besser, vorerst nicht zu eilen und ohne zusätzliche Verantwortung an Ihrer Disziplin und Ihrem Engagement zu arbeiten, ohne das Tier mit Sorgfalt zu beruhigen, was in der Tat nicht der Fall sein wird.