›   Demo 2: Predictive Maintenance
›  Datenanalyse mit RapidMiner

Demo 2 veranschaulicht die Vorausschauende Wartung am Beispiel eines Automobildatensatzes, der als Excel-Datei vorliegt. Der Automobildatensatz wird, wie in Schritt 4: Datenanalyse beschrieben, in einen Trainings- und Testdatensatz aufgeteilt. Danach werden die Datensätze in ein Datenanalyse-Tool eingelesen, das mit Hilfe des Trainingsdatensatzes ein Entscheidungsbaum-Modell herleitet und den Testdatensatz zur Klassifikation bzw. der Vorhersage eines Ausfalls verwendet. In Teil 2: Kennzahlen bestimmen wir mit Hilfe des Kreuzvalidierung-Testverfahrens Kennzahlen für die Güte unseres Modells.

Für die Datenanalyse verwenden wir RapidMiner, da das Tool durch sein Bausteinkonzept und ausführliche Dokumentation einen leichten Einstieg bietet. Die Abbildung des Prozesses in RapidMiner wird durch ein 5-Minuten-Video veranschaulicht.

Der Automobildatensatz

Der Automobildatensatz wird zunächst interpretiert, auf Vollständigkeit der Daten überprüft und in einen Trainings- und einen Testdatensatz aufgeteilt. Damit liegt er in einer Form vor, die von einem Datenanalyse-Tool verwendet werden kann. Der Automobildatensatz besteht aus insgesamt 136 Beobachtungen von 7 Motoren.

Der Trainingsdatensatz

Trainingsdatensatz

Der Testdatensatz

Testdatensatz

Aufbau des Datensatzes

Jede Beobachtung enthält den Vorhersagewert Ausfall, mit angenommenen Werten ja/nein, die Messungsnummer, und Sensorwerte zu insgesamt 22 Merkmalen. Für den 7. Motor liegen nur 16 Messungen vor. Die erhobenen Merkmalswerte stammen aus Temperatur- und Druckmessungen sowie Mengenangaben zum Kraftstoff und zu Abgasdämpfen, die an verschiedenen Stellen im Motor erfasst wurden.

Weiterhin enthält der Datensatz acht Merkmale zu den Lambdasonden, die an jeweils einem Zylinder im Motor Messwerte liefern und in 2 Bänke unterteilt sind (d.h. das Merkmal Lambdasonde32 gibt den Sensorwert vom dritten Zylinder innerhalb der zweiten Bank an).

Bis auf die Katalysatortemperatur (Merkmalsname: KatalysatortempKategorie, Werte: normal/hoch) liegen für alle Merkmale numerische Messungen vor.

Numerische vs. diskrete Messungen

Viele Messungen stellen numerische Werte dar, d.h. reelle Zahlen in einem bestimmten Wertebereich. Die Kühlmitteltemperatur kann z.B. eine Zahl zwischen 0.2 und 11.2 sein. Einige Messungen können auch diskrete Werte ergeben, d.h. ganze Zahlen oder Kategorien (1=normal, 2=hoch). Der Wertebereich der einzelnen Merkmale hat einen Einfluss darauf, welcher Algorithmus für die Modellbildung verwendet werden kann.

Weitere Details über den Automobildatensatz

Die Daten liegen im CSV-Format (engl. comma-separated values) vor, d.h. als komma-getrennte Werte. In CSV-Dateien können Tabellen oder Listen unterschiedlicher Längen abgebildet werden.

Die Fragestellung

Uns interessiert, welche Merkmalskombinationen, d.h. welches Zusammenspiel der Sensorwerte, zu einem Ausfall der Anlage/Motors führen. Die Frage, die der Entscheidungsbaum beantworten soll, lautet also: Welche Kombination von Merkmalen wird zu einem Ausfall führen? Werden alle Merkmale einen Einfluss auf den Ausfall haben und falls nein, mit welchem Gewicht werden welche Merkmale einen Ausfall bewirken?

Die Entwicklungsumgebung

Als Datenanalyse-Tool wird RapidMiner eingesetzt. RapidMiner ist eine Entwicklungsumgebung für Datenanalyse, die als Open Source-Software an der Uni Dortmund entstanden ist und heute zu den Marktführern gehört. RapidMiner bildet den Datenanalyse-Prozess mit Hilfe von Operatoren ab, die alle gängigen Aufgaben der Datenanalyse abbilden und über Ports miteinander verknüpft werden.

Tools für Datenanalyse

Schritt 4 Datenanalyse wird mit Hilfe spezialisierter Tools und Programmbibliotheken durchgeführt, die die Komplexität der zugrundeliegenden Algorithmen verbergen und Funktionalitäten wie Datenimport, Datenbereinigung, modellbasierte Entwicklung und Visualisierung der Ergebnisse anbieten. Datenanalyse gilt als eine Disziplin für Spezialisten, kommerzielle Tools sind teuer und die Einstiegshürde ist hoch.

Für den Einstieg eignen sich Tools wie RapidMiner oder die MATLAB-Toolbox für maschinelles Lernen, oder auch die Werkzeuge der Programmiersprachen R oder Python.

Der Datenanalyse-Prozess in RapidMiner

Schritt 4 Datenanalyse der "Vorausschauenden Wartung" wird nun am Beispiel des Automobildatensatzes mit RapidMiner durchgeführt.

Der Prozessverlauf ist in der Abbildung zu sehen und beinhaltet verschiedene Schritte: Einlesen und Speichern der Daten (lila-markiert), Bearbeitung der Daten (rosa-markiert), die Analyse der Trainingsdaten und die Vorhersage mit Hilfe des erstellten Entscheidungsbaum-Modells (grün-markiert).

RapidMiner-Prozess

Der Datenanalyse-Prozess wird mit Hilfe der Operatoren "Read Excel" (Daten aus Excel einlesen), "SetRole" (Rolle festlegen), "DecisionTree" (Klassifikationsmodell erstellen), "ApplyModel" (Modell anwenden) zusammengebaut.

Der Read Excel-Operator liest Daten aus Excel ein.

Der Read Excel-Operator ist ein Baustein, der eine Datentabelle aus Excel einliest.
Der Read Excel-Operator wird in unserem Prozess zweimal verwendet: einmal, um den Trainingsdatensatz einzubinden, und einmal, um den Testdatensatz einzubinden.

Der Store-Operator speichert eingelesene Daten in RapidMiner-Format.

Der Store-Operator ist ein Baustein, der die eingelesenen Daten in der lokalen Datenablage von RapidMiner unter einem eingegebenen Namen speichert.
Der Store-Operator wird in unserem Prozess verwendet um die Trainingsdaten lokal in RapidMiner zu speichern. Somit steht dieser Datensatz in jedem neuem Prozess direkt zur Verfügung.

Der Set Role-Operator zeichnet eine ausgewählte Spalte als Zielspalte aus.

Der Set Role-Operator ist ein Baustein, der eine der Spalten des Datensatzes als Vorhersagewert für die Klassifikation auszeichnet.
In unserem Beispiel wird die Variable bzw. die Spalte Ausfall als Vorhersagewert für die Klassifikation ausgezeichnet.

Der Select Attributes-Operator wählt die zu verwendenden Spalten aus.

Der Select Attributes-Operator ist ein Baustein, der einen Teil der Spalten aus dem Originaldaten zur weiteren Verwendung im Prozess auswählt.
Wir wählen die 22 Merkmalsspalten und die Spalte des Vorhersagewertes Ausfall zu weiteren Verwendung im Prozess aus. Die Messungsnummer wird in dieser Demo erstmal nicht benötigt.

Der DecisionTree-Operator erstellt den Entscheidungsbaum.

Der Decision Tree-Operator ist ein Baustein, der für die Daten den passenden Algorithmus wählt und einen Entscheidungsbaum auf Basis eines unter den Parametern wählbaren Kriteriums erstellt, z.B. der Entropie.
Wir erstellen den Baum mittels des Entropie-Kriteriums basierend auf den Trainingsdatensatz über die Motoren.

Der Apply Model-Operator führt die Vorhersage durch.

Der Apply Model-Operator ist ein Baustein, der das von links verbundene Vorhersagemodell auf einen Datensatz anwendet und somit die Vorhersage bzw. Klassifikation für eine neue Beobachtung durchführt.
In unserer Demo wird für neue Beobachtungen bzw. die Zeilen im Testdatensatz eine Klassifikation in Ausfall ja oder nein anhand des Entscheidungsbaums durchgeführt. Es erfolgt also eine Vorhersage für neue Messwertkombinationen.

Der Entscheidungsbaum

Der Entscheidungsbaum wählt nur einen Teil der 22 Merkmale zur Vorhersage eines Ausfalls aus. Die Merkmale werden hierarchisch als Baum oder Text dargestellt. In unserer Demo werden die Merkmale Drosselklappenstellung, Einspritzmenge bei kurzzeitiger Belastung, Werte der Lambdasonde an Bank 2 Zylinder 2 und die Kategorien der Katalysatortemperatur zur Zuordnung in Ausfall ja oder nein verwendet.

An jedem Knoten wird für das jeweilige Merkmal eine Bedingung abgefragt und je nach Beobachtungswert wird nach links oder rechts zum weiteren Knoten verwiesen. Dort erfolgt eine erneute Bedingung für ein Merkmal mit weiteren Verweis auf den nächsten Knoten. Dies wird solange durchgeführt bis der durchlaufene Pfad an einem Ja/Nein-Block bzw. Blatt des Baumes endet.

Wann kommt es zu einem Ausfall?

Wenn im letzten rechteckigen Block "Ja" steht, dann führt der Pfad/die Merkmalskombination zu einem Ausfall der Anlage andernfalls, d.h. bei "Nein", kommt es bei durchlaufener Merkmalskombination zu keinem Ausfall.

Entscheidungsbaum


Je höher des Merkmal im Baum steht, d.h. je weiter oben dessen Position ist, desto mehr Einfluss hat es auf die Vorhersage eines Ausfalls. In unserem Baum hat die Drosselklappenstellung den höchsten Einfluss, da bei einem Messwert kleiner oder gleich 5.54 ein Ausfall direkt ausgeschlossen ist. An der Höhe der rot/blauen Balken in den Blättern erkennt man, wie viele Beobachtungen des Trainingsdatensatzes diesem Blatt zugeordnet werden. Eine genaue Angabe der Anzahl der zugeordneten Beobachtungen erfolgt in RapidMiner durch Klicken auf das jeweilige Blatt.

Eine alternative Darstellung des Entscheidungsbaum-Modells ist als Textform gegeben, einige Werkzeuge zur Predictive Maintenance wie die Programmiersprachen R geben diese Darstellung standardmäßig aus. Dort sind auch direkt die oben erwähnten Anzahlen der zugeordneten Beobachtungen im jeweiligen Ast angegeben.

Entscheidungsbaum Text

Durch die Auflistung als erstes Merkmal und die hohe Anzahl der Zuordnungen aus dem Trainingsdaten (roter Kasten in der Abbildung) erkennt man auch hier sofort den hohen Einfluss des Merkmals Drosselklappenstellung.

Die Klassifikation mit dem Entscheidungsbaum

Vorhersage mit dem Entscheidungsbaum

Für die Beobachtungen im Testdatensatz, also für neu erfasste Daten, wird nun durch Anwendung des Apply Model-Operators eine Zuordnung in Ausfall ja oder nein anhand des erstellten Entscheidungsbaum-Modells durchgeführt. Diese Zuordnung/Vorhersage erfolgt mittels Durchwandern des Pfades im Baum bis ein Blatt erreicht wird.

Wie in der obigen Ausgabe-Tabelle von RapidMiner zu erkennen ist, führen die ersten drei Merkmalskombinationen laut Baum zu keinem Ausfall, die vierte Kombination aber doch (siehe Spalte prediction(Ausfall)). Die Sicherheit der Zuordnung ist in den beiden Spalten confidence(nein) und confidence(ja) angegeben. Diese Werte geben die Aufteilung des rot/blauen Balkens eines Blattes in Ausfall ja und nein wieder.