Demo-MAT3: Clusteranalyse "Automotive in 3D"

Diese Demo zeigt einen Anwendungsfall der Clusteranalyse im 3-dimensionalen Raum anhand des Automobildatensatzes, der auch in Demo 5: Predictive Maintenance mit MATLAB verwendet wird. In diesem konkreten Anwendungsfall werden die Cluster auf Basis von drei Merkmalen des Datensatzes erstellt und die Daten und deren Cluster-Zuordnung im 3 dimensionalen Raum visualisiert.

Die Cluster-Verfahren aus der Statistics and Machine Learning Toolbox werden verwendet um die Modelle zu erzeugen. Zur Visualisierung im 3-dimensionalen Raum wird die plot3-Funktion aus der Graphics Bibliothek verwendet, diese stellt Methoden zur Erstellung von 2D- und 3D-Grafiken bereit.

info-icon Motivation

Für die Automobildaten wurde in Demo 5: Predictive Maintenance mit MATLAB , Demo-PY4: Predictive Maintenance mit scikit-learn oder auch Demo 4: Predictive Maintenance mit R die Merkmale mittels eines Entscheidungsbaums, ein Verfahren des maschinellen Lernens, ermittelt, die am stärksten zu einem Ausfall des Motors beitragen.
Diese drei Merkmale werden nun herangezogen um eine Clusteranalyse durchzuführen, dabei werden durch die Verwendung eines bestimmten Ähnlichkeits- bzw. Abstandsmaßes Gruppen/Cluster ähnlicher Merkmale gebildet. Neue Daten können anhand ihrer Merkmale den in der Analyse gebildeten Clustern zugeordnet werden und somit eine Kategorisierung dieser durchgeführt werden.

Die Zuordnung zu den Clustern anhand der drei Merkmale werden danach im 3 dimensionalen Raum visualisiert und mittels der Merkmale bzw. deren entsprechenden Bauteile und der Funktionalitäten und Wirkungs-Zusammenhänge im Motor interpretiert.

info-icon Übersicht

Demo-MAT3: Clusteranalyse "Automotive" ist in drei Abschnitte gegliedert. Zunächst wird die Fragestellung im konkreten Anwendungsfall der Automobildaten erläutert. Danach werden Verfahren der Clusteranalyse aus der Statistics and Machine Learning Toolbox auf die Automobildaten angewandt und es wird mittels der plot3-Funktion aus der Graphics Bibliothek die Daten- und Clusterzugehörigkeit visualisiert. Die Interpretation der Cluster und Beschreibung der ausgewählten Merkmale inkl. Bauteile im Motor und Erfassung der Sensordaten werden im nächsten Abschnitt erläutert.

1 Die Fragestellung

Aus den Ergebnissen der in Demo 5: Predictive Maintenance mit MATLAB , Demo-PY4: Predictive Maintenance mit scikit-learn und Demo 4: Predictive Maintenance mit R durchgeführten Analysen wurden drei Merkmale, die am stärksten zum Ausfall des Motors beitragen, ausgewählt: der Ansaugkrümmerdruck, die Drosselklappenstellung und die Katalysatortemperatur.
Die Frage, die mit einer Clusteranalyse beantwortet werden soll, lautet: Welche Clusterzuordnung der Motoren erfolgt bzgl. dieser drei Merkmale, die den stärksten Einfluss auf den Ausfall hatten?

2 Clusteranalyse im 3 dimensionalen Raum

Wir fangen direkt mit der Clusteranalyse an. Über Programme öffnen wir MATLAB und erstellen mit Hilfe des Menüpunkts "New" ein neues Live Script. In diesem Live Script werden Sektionen eingefügt, die den üblichen Schritten bei der Erstellung einer Clusteranalyse entsprechen.

2.1 Daten einlesen und verwalten

In der zweiten Codezelle werden Daten, die in der csv-Datei automotive_test_140.csv gespeichert sind, mit Hilfe der Funktion readtable() der Statistics and Machine Learning Toolbox eingelesen, siehe auch Demo 5 Teil 2: Datenanalyse mit MATLAB.

 % Einlesen der Daten
 data = readtable('automotive_test_140.csv');
 
 % Auswahl der drei Merkmale für die Analyse
 merkmale = data(:,[7,8,24]);
 
 disp('Ein Ausschnitt der ersten 5 Beobachtungen')
 disp('sieht wie folgt aus:')
 
 % Auswahl-Ausgabe der Daten erstellen
 merkmale(1:5,:)
 
 % Formatierung in Array
 merkmale = table2array(merkmale);

Erläuterung des Codes:

Die Ausgabe nach Ausführung dieses Codeblocks sieht ähnlich aus wie abgebildet.


2.2 Clusteranalyse durchführen

Wir starten in diesem Abschnitt direkt bei der Durchführung der Clusteranalyse und der Erstellung eines Dendrogramms mittels der Statistics and Machine Learning Toolbox.

Vorbereitung: Dendrogramm erstellen

Das Dendrogramm wird mittels der dendrogram-Funktion durchgeführt und stellt bei Ungewissheit zur Anzahl der Cluster/Zentren ein vorbereitendes Mittel zur Auswahl der Clusteranzahl dar.

 % Merkmalsnummern als Skala auslesen
 labels = data(1:end,1);
 
 % Euklidische Distanzen berechnen
 dist = pdist(merkmale,'euclidean');
 
 % Clustering: Ward-Verfahren
 cluster2 = linkage(dist,'ward');
 
 % Dendrogramm erstellen
 dendrogram(cluster2);
 xlabel('Distanz');
 ylabel('Beobachtungen');
 title(['Hierarchisches Cluster-Dendrogramm ' ...
     'mit 4 bis 5 Clustern']);
 
 hold off

Erläuterung des Codes:

Die Ausgabe nach Ausführung dieses Codeblocks sieht ähnlich aus wie abgebildet. Das Dendrogramm zeigt das Vorhandensein von 4 oder 5 Clustern an. Die Information über die Anzahl der Cluster verwenden wir bei der Durchführung der Clusteranalyse, die im nächsten Schritt erfolgt.

Detaillierte Clusteranalyse durchführen

Die detaillierte Clusteranalyse wird mittels der cluster-Funktion durchgeführt.

 % Ausgabe der Clusterzuordnungen/-partitionen P
 % Anzahl der Cluster: n
 n = 4;
 P = cluster(cluster2,"maxclust", n)

Erläuterung des Codes:

Die Ausgabe nach Ausführung dieses Codeblocks sieht ähnlich aus wie abgebildet.

2.3 Zuordnung der Daten zu den Clustern visualisieren

Die Ergebnis, d.h. die Zuordnung der Beobachtungen zu den vier möglichen Zentren/Clustern, wird als 3D-Plot dargestellt. Dazu wird die plot3-Funktion aus der Graphics-Bibliothek verwendet.

 % Symbole für die Clusterzuordnung festlegen  
 ptsymb = {'bs','r^','md','go'};  
   
 % Daten plotten und mit Clustersymbol kennzeichnen  
 for i = 1:n  
     clust = find(P==i);  
     plot3(merkmale(clust,1),merkmale(clust,2),merkmale(clust,3),ptsymb{i});  
     hold on  
 end  
   
 % Achsenbeschriftung  
 hold off  
 xlabel('Ansaugkrümmerdruck');  
 ylabel('Drosselklappenstellung');  
 zlabel('Katalysatortemperatur');  
 title('Hierarchische Clusterzuordnung der Motoren');  
 grid on  

Erläuterung des Codes:

Die Ausgabe nach Ausführung dieses Codeblocks sieht ähnlich aus wie abgebildet.

3 Die Interpretation

Bei der Verwendung von Clusteranalysen ist, wie bei allen Datenanalysen, ein Verständnis der fachlichen Bedeutung der ausgewerteten Daten wichtig, um die Ergebnisse korrekt interpretieren zu können. Um die Interpretation der Cluster nachvollziehen zu können, werden die Zusammenhänge und Mechanismen im Viertaktmotor und insbesondere die Komponenten Drosselklappe, Ansaugkrümmer und Katalysator, sowie deren Ausstattung mit Sensoren, in den Abschnitten 4.2 und 4.3 von Demo-PY3: Clusteranalyse "Automotive in 3D" erläutert. Die über die Sensoren erfassten Werte, die als Merkmale in den Automotive-Datensatz eingehen, werden dort inkl. Skaleneinheit ebenfalls vorgestellt.

Bei der Bildung und Visualisierung der Cluster fällt auf, dass

Die Visualisierung in 2-dimensionalen Grafiken Ansaugkrümmerdruck vs. Drossel­klappen­stellung, Ansaugkrümmerdruck vs. Katalysatortemperatur und Drossel­klappen­stellung vs. Katalysatortemperatur, siehe ebenfalls Demo-PY3: Clusteranalyse "Automotive in 3D", zeigen auch, dass es keinen direkten Zusammenhang zwischen der Katalysatortemperatur und den anderen beiden Variablen gibt. In der Grafik Ansaugkrümmerdruck vs. Drossel­klappen­stellung ist die Bildung der Cluster, wie sie die obige Analyse ergeben hat, ebenfalls zu erkennen: es besteht ein grafischer Zusammenhang/Abhängigkeit zwischen Ansaugkrümmerdruck niedrig und Drossel­klappen­stellung niedrig und Ansaugkrümmerdruck hoch und Drossel­klappen­stellung niedrig.

Die Interpretation - Kurzversion

Die Bildung der Cluster (blau und rosa) spiegeln den funktionalen Zusammenhang zwischen den Bauteilen Ansaugkrümmer und Drosselklappe wieder. Bei der Interpretation der Cluster spielen die beiden Zustände Leerlauf und Volllast eine Rolle. Bei Leerlauf sind die Drosselklappe und ein sogenannter Leerlaufschalter geschlossen.
Die beiden Cluster (blau und rosa) beinhalten damit Motoren, deren Drosselklappen sich in geschlossenen (Leerlauf) oder leicht geöffneten Zustand (Anlassen eines Motors) befinden. Das Verhalten des Ansaugkrümmerdrucks während des Leerlaufs kann wie folgt beschrieben werden:
Die dicht geschlossene Drosselklappe drosselt den Luftdurchfluss aus der Umgebung, wenn der Motor Luftmasse von Ansaugkrümmer weg pumpt. Der kumulative Effekt ist eine Verringerung der Ansaugkrümmerluftdichte, was zu einem reduzierten Gesamtdruck im Vergleich zum Luftdruck führt (blaues Cluster).

Weitere Erläuterungen und funktionale Zusammenhängen, sowie weiterführende Fragen werden in Demo-PY3: Clusteranalyse "Automotive in 3D" zusammengefasst und erwähnt.

Autoren, Tools und Quellen

Autoren:
 M.Sc. Anke Welz
 Prof. Dr. Eva Maria Kiss

Tools:

Quellen und weiterführende Links: