Anomalieerkennung

Einführung in die Anomalieerkennung

Entwicklung von Algorithmen zur Erkennung unerwarteter Ereignisse oder Muster in Daten

Die Erkennung von Anomalien ist der Prozess der Identifizierung von Ereignissen oder Mustern in Daten, die vom erwarteten Verhalten abweichen. Anomalien weisen oft auf kritische Verhaltensweisen hin, wie z. B. Maschinenfehler, Sicherheitsverletzungen oder ineffiziente Prozesse.

Vorteile der Anomalieerkennung

Die Methoden zur Anomalieerkennung können von der einfachen Erkennung von Ausreißern bis hin zu komplexen Machine-Learning-Algorithmen reichen, die darauf trainiert sind, verborgene Muster in riesigen multivariaten Datensätzen aufzudecken. In einer industriellen Umgebung mit Tausenden von Sensoren können Algorithmen zur Erkennung von Zeitreihenanomalien beispielsweise Muster aufdecken, die für Menschen manuell nicht zu erkennen wären. Zu den Anwendungsfällen und Einsatzmöglichkeiten der Anomalieerkennung gehören:

  • Predictive Maintenance: Anomalien bei den Ausgabedaten der Sensoren, wie z. B. Vibrations- oder Temperaturdaten, können Vorboten für schwerwiegendere Ausfälle sein. Durch frühzeitiges Erkennen dieser Anomalien kann die Sicherheit der Geräte verbessert und kostenintensive Ausfallzeiten vermieden werden.
  • Prozessüberwachung: Die Erkennung von Anomalien in Prozessdaten, wie z. B. die Detektion von Energieanomalien in einem Stromnetz, kann Möglichkeiten zur Leistungsoptimierung und zur Verbesserung der Anlagenverfügbarkeit aufzeigen.
  • Erkenntnisse aus Testdaten: Während der Tests kann die Anomalieerkennung dazu verwendet werden, Probleme in Prototypen zu identifizieren, fehlerhafte Sensormesswerte zu entfernen und die Systemleistung zu verstehen. Durch diesen Ansatz wird sichergestellt, dass Produkte vor ihrer Inbetriebnahme wichtige Standards erfüllen.
  • Qualitätskontrolle: Bei Herstellungsverfahren können Anomalien auf physische Defekte in den Produktionslinien hinweisen, die mit herkömmlichen Methoden möglicherweise nicht erkannt worden wären, wodurch sich der Ausschuss minimieren und das Ergebnis optimieren lässt.

Einführung in die Anomalie-Erkennung für Ingenieure

Anomalien sind Abweichungen vom erwarteten Verhalten. Prüfungen alleine reichen nicht immer aus, um anomale Ereignisse oder Muster zu erkennen. Algorithmen zur Anomalie-Erkennung können zum Auffinden dieser Abweichungen beitragen. Erfahren Sie in einer Hardware-Vorführung, wie das geht.

Anomalieformen

Anomalien in Zeitreihendaten lassen sich in der Regel in drei Hauptkategorien einteilen:

Punktanomalien oder Ausreißer sind einzelne Datenpunkte, die vom erwarteten Wert abweichen. Eine isolierte Punktanomalie kann auf ein Problem oder eine Systemänderung hinweisen, die untersucht werden muss, aber sie kann auch auf nichts hinweisen, es sei denn, mehrere Punktanomalien treten kurz nacheinander auf.

Kollektive Anomalien treten auf, wenn eine Gruppe von Datenpunkten zusammen von den erwarteten Mustern abweicht. Beispielsweise könnte eine Abfolge unregelmäßiger Schwankungen im Stromverbrauch auf ein größeres Problem hinweisen, wie z. B. ein ausgefallenes Bauteil oder eine Änderung der Nutzungsmuster.

Multivariate Anomalien treten nur auf, wenn mehrere Datenquellen zusammen analysiert werden. Zum Beispiel können Temperatur- und Druckwerte in einem chemischen Prozess einzeln sichere Betriebsbedingungen anzeigen, aber eine Änderung in ihrem Verhältnis könnte auf ein Problem hinweisen.

Abweichungen bei anderen Datentypen

Erfahren Sie mehr über die Anomalieerkennung in anderen Datentypen wie Bildern, Videos und Text:

Anomalieerkennung mit MATLAB

Es gibt eine Vielzahl von Möglichkeiten, Algorithmen zur Erkennung von Zeitreihenanomalien in MATLAB® zu entwerfen. Welcher Ansatz zur Erkennung von Anomalien für eine bestimmte Anwendung am besten geeignet ist, hängt von der Menge der verfügbaren anomalen Daten ab und davon, ob Sie Anomalien von normalen Daten unterscheiden können.

Datenzugriff und -exploration

Die Grundlage jedes Projekts zur Anomalieerkennung sind Daten. MATLAB unterstützt viele Möglichkeiten, auf Ihre Daten zuzugreifen, sei es durch den Import von historischen Datensätzen, die lokal oder in der Cloud gespeichert sind, oder durch die direkte Erfassung von Daten aus Sensoren oder Datenbanken.

Manchmal können Sie Anomalien erkennen, indem Sie sich einfach Ihre Daten ansehen. In der folgenden Abbildung, die von einem Lüfter erfasste Signale zeigt, können Sie beispielsweise leicht die abrupten Signaländerungen erkennen, die auf Anomalien im Lüfterverhalten hinweisen. Wenn Sie in der Lage sind, Anomalien mit bloßem Auge zu erkennen, können Sie möglicherweise einen einfachen Algorithmus wie findchangepts oder controlchart verwenden.

MATLAB-Diagramm zur Anomalieerkennung, das die Motorspannung, die Lüfterdrehzahl und die Temperaturdaten anzeigt.

Daten von einem Kühlventilator, die mit der plot-Funktion von MATLAB erstellt wurden und Anomalien zeigen, die leicht mit dem Auge zu erkennen sind.

Datenvorverarbeitung und Feature Engineering

Anomalien sind anhand von Rohdaten oft schwer zu erkennen. Die komplexen Maschinen von heute können Tausende von Sensoren haben, und manchmal werden Anomalien erst dann sichtbar, wenn man viele Sensoren zugleich betrachtet. Wenn Sie Daten entsprechend gekennzeichnet haben, können Sie statistische Verteilungen von Merkmalen im Zeit- und Frequenzbereich untersuchen. Sie können auch eine unüberwachte Merkmalseinstufung anwenden, um die Merkmale zu identifizieren, die die höchste Varianz oder die niedrigste Korrelation mit anderen Merkmalen aufweisen und somit die besten Chancen bieten, einen genauen Algorithmus zur Erkennung von Zeitreihenanomalien zu trainieren.

Der Diagnostic Feature Designer in der Predictive Maintenance Toolbox™ kann Sie dabei unterstützen, Merkmale aus Zeitreihendaten interaktiv zu extrahieren, zu analysieren und zu bewerten.

Screenshot der App zur Erkennung von Anomalien mit Balkendiagramm für die Merkmalsbewertung und Histogrammen für die Wahrscheinlichkeit.

Mithilfe der Diagnostic Feature Designer-App lassen sich Merkmale in normalen dreiachsigen Schwingungsdaten extrahieren, untersuchen und einstufen. (Siehe MATLAB Programmcode.)

Entwicklung von Algorithmen zur Anomalieerkennung

Algorithmen zur Erkennung von Anomalien können die Anwendung einer statistischen Methode auf historische Daten oder das Training eines KI-Modells zur Erkennung von Anomalien in neuen Daten beinhalten. MATLAB bietet eine breite Palette von Ansätzen zur Erkennung von Zeitreihenanomalien, die in drei Kategorien unterteilt werden können: statistische und abstandsbasierte Methoden, Ein-Klassen-KI-Modelle sowie Clustering. All dies sind potenziell nützliche Tools, die Sie bei der Entwicklung von Algorithmen zur Anomalieerkennung verwenden können – der Ausgangspunkt hängt jedoch von den vorhandenen Daten und Ihren Zielen ab.

Die folgende Tabelle gibt einen umfassenden Überblick darüber, wann verschiedene allgemeine Kategorien von Anomalieerkennungsmethoden und einige Beispielfunktionen in MATLAB verwendet werden sollten. Hierbei handelt es sich jedoch nicht um eine vollständige Liste, und Sie sollten verschiedene Techniken ausprobieren, um die besten Ergebnisse zu erzielen.

Ansätze zur Anomalieerkennung
Kategorie Beispielfunktionen Einsatzbereich
Statistische und abstandsbasierte Methoden isoutlier, findchangepts, matrixProfile, robustcov, mahal
  • Sie haben viele normale Daten, in die einige Anomalien eingestreut sind.
  • Sie möchten die Anomalien in Ihren Daten finden.
  • Sie wollen einen einfachen, leicht zu erklärenden Ansatz.
Ein-Klassen-KI-Modelle

ocsvm, iforest, rccforest, lof, deepSignalAnomalyDetector

  • Sie haben viele normale Daten, aber nur wenige Anomalien.
  • Sie möchten ein KI-Modell trainieren, um Anomalien in neuen Daten zu erkennen.
Clustering-Methoden kmeans, dbscan, clusterdata, fitgmdist
  • Sie haben eine ausgewogene Zusammensetzung aus normalen Daten und Anomalien.
  • Sie möchten die Daten in identifizierbare Cluster unterteilen.

Statistische und abstandsbasierte Methoden

Statistische und abstandsbasierte Methoden zur Anomalieerkennung beruhen auf Annahmen über die zugrunde liegende Datenverteilung. Sie identifizieren Anomalien, indem sie feststellen, welche Datenpunkte erheblich vom erwarteten Verhalten abweichen. Zu diesen Methoden gehören:

  • Erkennung von Ausreißern und Änderungspunkten: Die Ausreißererkennung markiert einzelne Datenpunkte, die außerhalb der erwarteten Schwellenwerte liegen, wie z. B. ungewöhnlich hohe oder niedrige Werte. Mit der Änderungspunkt-Erkennung werden Verschiebungen in den statistischen Eigenschaften der Daten identifiziert, wie z. B. eine plötzliche Änderung des Mittelwerts oder der Varianz. Diese Methoden sind zwar nützlich, um punktuelle oder kollektive Anomalien zu erkennen und Ihre Daten zu verstehen oder zu bereinigen, aber sie sind möglicherweise nicht fehlerresistent genug, um subtilere Verhaltensänderungen zu erkennen.
  • Matrix- und Abstandsprofile: Die Berechnung des Abstandsprofils und des Matrixprofils sind Methoden zur Anomalieerkennung, bei denen Zeitreihendaten analysiert werden, um Motive (wiederholte Muster) und Diskordanzen (seltene oder anomale Muster) aufzudecken. Sie sind besonders nützlich für die Erkennung kollektiver Anomalien in langen Zeitreihen durch den Vergleich von Datensegmenten und sind sehr recheneffizient.
  • Fehlerresistente Kovarianz: Die fehlerresistente Kovarianz modelliert die Verteilung der Daten und erkennt Punkte, die außerhalb ihrer Konturen liegen. Durch die Berücksichtigung der Zusammenhänge zwischen Variablen ist es ein effektives Verfahren zur Erkennung von Anomalien in Datensätzen, bei denen multivariate Anomalien aus Abweichungen in mehreren Merkmalen gleichzeitig resultieren.
  • Mahalanobis-Abstand: Der Mahalanobis-Abstand misst, wie weit ein Datenpunkt vom Zentrum einer multivariaten Verteilung entfernt ist. Dieses Verfahren eignet sich besonders für die Erkennung multivariater Anomalien in Datensätzen, in denen Merkmale miteinander korrelieren.

Mit distanceProfile lassen sich Anomalien erkennen. Das Abstandsprofil berechnet den Abstand zwischen einer Abfrage-Teilsequenz (rot) und allen anderen Teilsequenzen in der Zeitreihe, um die ähnlichsten (Motive) und unterschiedlichsten (Diskordanzen) zu ermitteln. (Siehe MATLAB-Dokumentation.)

Ein-Klassen-KI-Modelle

Ein-Klassen-Modelle sind für die nicht-überwachte Erkennung von Anomalien konzipiert, d. h. wenn die meisten oder alle Daten „normal“ (nicht anomal) sind. Diese Modelle zur Erkennung von Anomalien mit einer Klasse können auf Machine Learning oder Deep Learning basieren – sie werden mit normalen Daten trainiert und alle Abweichungen vom Normalzustand werden als Anomalien gekennzeichnet. Ein-Klassen-Modelle funktionieren am besten, wenn Anomalien selten sind oder kein klar definiertes Muster aufweisen und Sie viele normale Daten für das Training haben. Sie können auf punktuelle, kollektive oder multivariate Anomalien angewendet werden.

Zu den gängigen Ein-Klassen-KI-Modellen für die Erkennung von Anomalien in MATLAB gehören:

  • Isolationswälder: Isolationswälder bauen Bäume, die jede Beobachtung in ein Blatt isolieren, und ein Anomalie-Maß wird als durchschnittliche Tiefe zu Ihrer Probe berechnet: Anomale Proben erfordern weniger Entscheidungen als normale. Diese Methode zur Erkennung von Anomalien unterstützt eine Mischung aus numerischen und kategorialen Merkmalen und funktioniert mit hochdimensionalen Daten.
  • Support Vector Machine mit einer Klasse: Support Vector Machines mit einer Klasse erstellen eine Grenze um normale Datenpunkte in einem hochdimensionalen Merkmalsraum und trennen sie von Punkten außerhalb der Grenze, die als Anomalien klassifiziert werden. Dieser Ansatz erfordert numerische Merkmale als Eingabe und funktioniert bei hochdimensionalen Daten nicht optimal.
  • Autoencoder: Autoencoder sind neuronale Netze, die mit normalen Daten trainiert werden und versuchen, die ursprüngliche Eingabe zu rekonstruieren. Der trainierte Autoencoder rekonstruiert eine normale Eingabe präzise, aber ein großer Unterschied zwischen der Eingabe und ihrer Rekonstruktion deutet auf eine Anomalie hin. Autoencoder können Convolutional Neural Networks oder Long Short-Term Memory Networks verwenden. Die Signal Processing Toolbox™ bietet ein deepSignalAnomalyDetector-Objekt zur Anwendung dieser Deep-Learning-Methoden.
Screenshot eines Diagramms in MATLAB zur Erkennung von Anomalien, das die Vibrationsdaten von drei Kanälen vor und nach der Vibration zeigt.

Beispiel für multivariate Anomalien, die in dreiachsigen Schwingungsdaten erkannt wurden. Hier sind die direkt nach der Wartung erfassten Daten normal, während die direkt vor der Wartung erfassten Daten als Anomalie identifiziert werden. (Siehe MATLAB Programmcode.)

Clustering

Wenn Ihre Daten Anomalien enthalten, Sie diese aber nicht kennzeichnen können, können Sie auch unüberwachte Clustering-Ansätze zur Anomalieerkennung ausprobieren. Clustering-Algorithmen gruppieren ähnliche Datenpunkte auf der Grundlage ihrer Merkmale. In der Regel werden Clustering-Methoden auf Merkmale angewendet, die aus den Zeitreihendaten extrahiert wurden, wie z. B. Hauptkomponenten. Manchmal können Sie Cluster normaler und anomaler Daten miteinander verknüpfen, aber wenn Ihr Datensatz nicht ausgewogen ist (d. h. viele Anomalien desselben Typs enthält), sind nützliche Ergebnisse mit den Ein-Klassen-KI-Methoden wahrscheinlicher.

Einfaches k-Means-Clustering mit MATLAB

Wenden Sie k-means-Clustering mithilfe des Live Editor Task für Clusterdaten an.

Tests und Validierung

Durch Tests und Validierung wird sichergestellt, dass ein Modell zur Anomalieerkennung auch bei unbekannten Daten genau und zuverlässig funktioniert. Für diesen Prozess werden einige gekennzeichnete anomale Daten benötigt – und diese Daten sind möglicherweise schwer zu beschaffen. Wenn nur wenige anomale Daten vorliegen, können Sie synthetische Zeitreihendaten mithilfe regelbasierter Methoden (z. B. Hinzufügen von Rauschen oder Spitzen) oder aus physikbasierten Simscape™-Modellen Ihres Systems generieren. Oder Sie können zusätzliche tabellarische Merkmaldaten mithilfe von synthesizeTabularData generieren.

Ingenieure teilen Daten üblicherweise in Trainings-, Validierungs- und Testsätze auf: Der Trainingssatz lehrt das Modell das normale Verhalten, der Validierungssatz stimmt es während des Trainings ab und der Testsatz bewertet seine endgültige Leistung. Leistungskennzahlen wie Präzision, Recall, F1-Score und ROC-AUC bewerten, wie gut das Modell Anomalien erkennt. Robustheitstests stellen die Zuverlässigkeit weiter sicher, indem das Modell anhand von verrauschten, unvollständigen oder nicht sichtbaren Datenmustern bewertet wird.

Bereitstellung

Sie können Algorithmen zur Echtzeit-Erkennung von Anomalien auf eingebetteten Geräten bereitstellen, indem Sie C/C++ Code oder Simulink-Blöcke generieren. Wenn Sie möchten, dass das Modell kontinuierlich aus neuen Daten lernt, können Sie auch die inkrementelle Anomalieerkennung anwenden. Hier werden eingehende Daten mit wenig oder gar keinen Informationen über die Daten verarbeitet und der Algorithmus passt sich in Echtzeit an Veränderungen an.

Für die Verarbeitung unternehmensweiter Daten können Sie auch Algorithmen zur Anomalieerkennung in Cloud-Umgebungen Ihrer Wahl bereitstellen.