Big Data Analytics trifft Ingenieurskunst

(Kommentare: 0)

Ingenieurskunst „Made in Germany“ steht weltweit für höchste Qualitätsstandards und einen entsprechend guten Ruf deutscher Maschinen- und Anlagenbauer. Im Zeitalter von Industrie 4.0 und dem Internet of Things ergeben sich für sie neue Chancen, um Prozesse durch Daten zu optimieren. So können zum Beispiel Service-Prozesse durch Predictive Maintenance optimiert und damit deutliche Einsparungen erzielt werden. Oder es können innovative, datengetriebene Geschäftsmodelle entwickelt werden, die zusätzliche Umsätze erzeugen. Themen wie Big Data Analytics und Machine Learning spielen dabei eine herausragende Rolle, bringen jedoch einige Herausforderungen mit sich, auf die im Folgenden eingegangen wird. 

Unbalancierte Daten

Durch Predictive Maintenance kann beispielsweise mittels Klassifikations- oder Regressionsalgorithmen abgeschätzt werden, ob es innerhalb eines bestimmten Zeitfensters zum Defekt einer Maschine kommt. So können Wartungskosten reduziert, Ausfallzeiten minimiert und Qualitätsmängel identifiziert werden.

Dafür werden Daten zum Trainieren bestimmter Algorithmen benötigt, die sowohl defekte als auch fehlerfrei arbeitende Maschinen widerspiegeln. Und genau hieraus resultiert die erste Herausforderung: Der überwiegende Anteil der Datensätze wird aufgrund der hohen Maschinenqualität als fehlerfrei deklariert und nur ein geringer Anteil als defekt. Diese sogenannten „unbalanced“ Datensätze können aufgrund der Unterrepräsentation der „Defekt“-Fälle nur schlecht von aktuellen Algorithmen verarbeitet werden und machen die Evaluierung und Optimierung der daraus resultierenden Vorhersage-Modelle anhand eines Gütemaßes schwieriger. Nehmen wir beispielsweise an, dass vorausgesagt werden soll, ob eine Maschine innerhalb der nächsten Woche einen Defekt aufweist oder fehlerfrei bleibt. Grundlage sind Testdaten mit 1.000.000 als fehlerfrei und 1.000 als defekt deklarierten Datensätzen. Würden wir nun unsere Klassifikation intuitiv anhand des Anteils der richtig klassifizierten Testdaten an den gesamten Testdaten evaluieren, ergäbe sich eine Genauigkeit (Accuracy) von 99,9 Prozent, wenn das Klassifikationsmodell einfach alle Testdatensätze als fehlerfrei klassifiziert, da nur 1.000 von 1.000.000 Datensätzen fälschlicherweise als „fehlerfrei“ eingestuft werden. Das Klassifikationsergebnis wirkt also erstmal sehr überzeugend, nützt aber dem eigentlichen Use Case nicht: dem Entdecken von Maschinenausfällen. Daher sollten komplexere Evaluationsmaße wie Matthews Correlation Coefficient (MCC) und/oder ROC-Kurven genutzt werden.

Der MCC spiegelt die Korrelation zwischen den vorhergesagten Werten und den tatsächlichen Werten wider. Im Gegensatz zur Accuracy wird bei der Berechnung des MCC die Balance zwischen richtigerweise als positiv oder negativ klassifizierten und fälschlicherweise als positiv oder negativ klassifizierten Datensätzen berücksichtigt. Mittels des MCC kann die Qualität einer Klassifikation somit auch für unbalanced Datensätze zuverlässig in einem Evaluationsmaß ausgedrückt werden.

Weiterhin können auch sogenannte Receiver Operating Characteristic(ROC)-Kurven zur Evaluierung genutzt werden. Diese repräsentieren grafisch, wie viele fälschlicherweise als positiv (also als „defekt“) klassifizierte Datensätze in Kauf genommen werden müssen, um einen bestimmten Anteil an tatsächlich positiven Fällen zu finden. Anhand ihrer ROC-Kurven kann man dann unterschiedliche Klassifikationsmodelle miteinander vergleichen.ROC-Kurve von https://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html#sphx-glr-auto-examples-model-selection-plot-roc-py, 18.03.2019

(ROC-Kurve von https://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html#sphx-glr-auto-examples-model-selection-plot-roc-py, 18.03.2019)

Abgesehen von besseren Evaluationsmaßen kann bei unbalanced Datensätzen außerdem ein sinnvolles Resampling der Daten, also ein Verändern der Stichprobengröße und Stichprobenverteilung, nützlich sein.

Fluch der Dimensionalität

Bei der Implementierung von Analytics- oder Machine-Learning-Lösungen werden häufig Datensätze verwendet, die sich beispielsweise aus Messwerten einiger unterschiedlicher Sensoren zusammensetzen. Diese weisen daher eine hohe Dimensionalität, also eine große Anzahl verschiedener Merkmale pro Datensatz, auf. Damit Machine-Learning-Modelle generalisieren, das heißt nicht nur für ihre Trainingsdaten, sondern auch für unbekannte, neue Daten gute Vorhersagen treffen können, steigt der Bedarf an Trainingsdaten exponentiell zur Anzahl der Dimensionen. Dies wird auch als „Fluch der Dimensionalität“ bezeichnet. Hier kann eine Dimensionsreduktion sinnvoll sein, zum Beispiel, indem von Merkmalen, die stark miteinander korrelieren (Beispiel: Alter und Altersklasse) nur eines ausgewählt wird.

Aus der hohen Dimensionalität resultiert ein weiteres Problem: Während zwei- oder dreidimensionale Daten einfach visualisiert werden können, fällt dies bei multidimensionalen Daten erheblich schwerer. In diesem Fall können beispielsweise Scatterplots mit verschiedenen Farbtönen, Punktgrößen, Punktformen etc. genutzt werden. Zu erwähnen ist auch der t-SNE Algorithmus, der multidimensionalen Daten bestimmte Punkte im zwei- oder dreidimensionalen Raum zuweist und sie so visualisierbar macht.

3D-scatterplot von https://matplotlib.org/gallery/mplot3d/scatter3d.html#sphx-glr-gallery-mplot3d-scatter3d-py, 18.03.2019

(3D-scatterplot von https://matplotlib.org/gallery/mplot3d/scatter3d.html#sphx-glr-gallery-mplot3d-scatter3d-py, 18.03.2019)

Big Data Analytics versus Datenschutz

Spricht man von Big Data Analytics, gibt es oftmals Bedenken bezüglich des Datenschutzes. Um dem entgegenzuwirken, können sowohl die Daten selbst als auch vorhandene Metadaten (z.B. Merkmalsbezeichnung wie „Temperatur“ oder „Vibration“) anonymisiert bereitgestellt werden. Fehlendes Wissen über die Daten erschwert zwar in manchen Fällen das Datenverständnis, ist jedoch nicht erforderlich, um erfolgreich Analytics- und Machine-Learning-Applikationen zu entwickeln.

Ein Beispiel – Bosch Production Line Performance

Die oben genannten Herausforderungen treffen alle auf einen Datensatz aus einer Fabrik von Bosch zu, der auf der Data-Science-Plattform Kaggle veröffentlicht und von SyroCon untersucht wurde.

Der Datensatz besteht aus über 4.000 verschiedenen Features und über einer Millionen Zeilen. Jede Zeile repräsentiert dabei jeweils ein in der Fabrik hergestelltes Produkt. Der Datensatz wurde weitestgehend anonymisiert, sodass die Bedeutung der einzelnen Features unbekannt ist. Lediglich die Nummern von Produktionslinie und Station sind bekannt. Weiterhin wurde er je Produkt mit den Labels 0 („fehlerfrei“) und 1 („defekt“) versehen. Dementsprechend wurden von SyroCon Klassifikationsmodelle, weitestgehend basierend auf dem populären XGBoost Algorithmus, trainiert, um defekte Komponenten zu finden.

Bei der Untersuchung der Daten hat sich herausgestellt, dass der Datensatz stark unbalanced ist, lediglich in 0.56 Prozent der Fälle kommt es zum Defekt. Daher wurde unter anderem auf den MCC als Evaluationsmaß für die Klassifikation zurückgegriffen. Um die Dimensionalität des Datensatzes zu verringern, wurde eine Feature Selektion durchgeführt. Dafür wurde bestimmt, wie groß der Einfluss einzelner Features auf das Klassifikationsziel ist, um anschließend Features mit geringer oder keiner Bedeutung zu entfernen. Durch die Reduktion der Features wurde sowohl die Trainingsdauer reduziert als auch die Modellgenauigkeit erhöht.

Da pro Datensatz verschiedene Produktionslinien und Stationen genutzt wurden, ist davon auszugehen, dass unterschiedliche Produkte in der Fabrik hergestellt werden. Diese wurden anhand einer Shopfloor-Visualisierung grafisch dargestellt, um ein besseres Verständnis für die Daten zu erhalten.
Mittels unterschiedlicher Clustering-Verfahren konnten anschließend mehrere Produktgruppen ermittelt werden, die Produkte mit ähnlichen Produktionswegen repräsentieren. Jedes Produkt konnte so einer Produktgruppe zugewiesen werden. Für diese Gruppen konnten anschließend spezialisierte Klassifikationsmodelle mit teilweise deutlich höherer Genauigkeit hinsichtlich der Klassifikation als „defekt“ oder „fehlerfrei“ erstellt werden.

Zurück