Dieser Leitfaden ist die erste Wahl für Ingenieure, die Algorithmen zur Anomalieerkennung in Zeitreihendaten entwickeln und bereitstellen möchten.
Einführung in die Anomalieerkennung
Was versteht man unter Anomalieerkennung?
Die Erkennung von Anomalien ist der Prozess der Identifizierung von Ereignissen oder Mustern in Daten, die vom erwarteten Verhalten abweichen. Diese Abweichungen, sogenannte Anomalien, können auf relevante Informationen hinweisen, etwa auf Maschinenfehler, Sicherheitsverletzungen, Frühwarnsignale oder Ineffizienzen in Prozessen.
Anomalien in Industrieanlagen werden anhand von Schwingungssignalen erkannt. Die dreiachsigen Schwingungsdaten eines Zeitfensters werden verarbeitet, während ein Machine-Learning-Modell Anomalien erkennt. Die Entscheidungsgrenze des Modells wird auf einer Hauptkomponentenebene dargestellt, wobei rote Punkte die Anomalien kennzeichnen.
Beispiele für Anwendungsfälle der Anomalieerkennung
Algorithmen zur Anomalieerkennung sind in zahlreichen Branchen und Anwendungen weitverbreitet:
Predictive Maintenance: In Industrieanlagen eingesetzte Algorithmen zur Anomalieerkennung können frühe Anzeichen von Maschinenfehlern identifizieren, die Sicherheit erhöhen und kostspielige Ausfallzeiten vermeiden.
Digitale Gesundheit: Die Erkennung von Anomalien in Elektrokardiogramm-Signalen (EKG-Signalen) kann auf verschiedene Herzkrankheiten hinweisen, wie etwa auf Arrhythmien, Vorhofflimmern oder ventrikuläre Tachykardie.
Analyse von Flugtestdaten: Ingenieure nutzen Flugtests, um das Systemverhalten zu verstehen und Entwurfsentscheidungen zu treffen. Die Anomalieerkennung kann unregelmäßige Sensorwerte kennzeichnen und Testbedingungen identifizieren, die außerhalb des erwarteten Leistungsbereichs liegen.
Fehlertolerante Regelungen: Embedded Algorithmen zur Anomalieerkennung in einem Elektromotor können Änderungen in Echtzeit melden. So kann der Regler seine Reaktion anpassen, Schäden verhindern und die Leistung verbessern.
Arten von Anomalien in Zeitreihendaten
Obwohl Anomalien in unterschiedlichen Datentypen wie Bild, Video und Text auftreten können, konzentriert sich dieser Leitfaden auf Zeitreihendaten, die in technischen Anwendungen weit verbreitet sind. Zeitreihendaten erfassen zeitlich aufeinanderfolgende Messungen, wie beispielsweise Temperatur, Druck oder Schwingung. Man unterscheidet dabei drei Haupttypen von Anomalien in Zeitreihendaten.
Punktanomalien oder Ausreißer sind einzelne Datenpunkte, die vom erwarteten Wert abweichen.
Kollektive Anomalien treten auf, wenn eine Gruppe von Datenpunkten zusammen von den erwarteten Mustern abweicht.
Multivariate Anomalien sind Abweichungen, die beim gleichzeitigen Analysieren mehrerer Datenquellen auftreten und in einer einzelnen Datenquelle möglicherweise nicht als Anomalien erkennbar sind.
Auswahl eines Algorithmus zur Anomalieerkennung
MATLAB bietet eine breite Palette von Algorithmen zur Erkennung von Zeitreihenanomalien, die in zwei Hauptkategorien unterteilt werden können: statistische und abstandsbasierte Methoden sowie Ein-Klassen-KI-Modelle. Es stehen verschiedene Tools zur Verfügung, um Algorithmen zur Anomalieerkennung zu entwickeln. Welche sich am besten eignen, hängt von Ihren Daten und Zielen ab.
Statistische und abstandsbasierte Methoden
Statistische Methoden basieren auf Annahmen über die zugrunde liegende Datenverteilung. Sie verwenden Schwellenwerte, Trends oder Wahrscheinlichkeitsmodelle, um Punkte zu identifizieren, die vom erwarteten statistischen Verhalten abweichen. Ein einfacher statistischer Ansatz zur Anomalieerkennung besteht darin, den gleitenden Mittelwert eines Signals zu berechnen und eine Anomalie zu melden, sobald dieser Mittelwert einen festgelegten Schwellenwert überschreitet.
Abstandsbasierte Methoden gehen nicht von einer bestimmten Datenverteilung aus. Stattdessen erkennen sie Anomalien, indem sie Abstände zwischen einzelnen Beobachtungen oder Teilsequenzen berechnen und diejenigen identifizieren, die deutlich von typischen Mustern abweichen. Beispielsweise vergleicht matrixProfile jede Teilsequenz in einer Zeitreihe und identifiziert Anomalien als jene mit dem größten Abstand zu den übrigen.
Man verwendet distanceProfile, um Anomalien in Zeitreihendaten zu ermitteln.
In diesen Fällen sind statistische und abstandsbasierte Methoden sinnvoll:
- Es stehen nur wenige Trainingsdaten zur Verfügung.
- Sie kennen die Basisstatistiken und Trends Ihrer Daten gut.
- Es sind nur begrenzte Rechenressourcen verfügbar.
Merkmale:
+ Einfach und gut interpretierbar
+ Geringer Rechenaufwand
+ Geeignet für punktuelle und kollektive Anomalien
- Kann Schwierigkeiten mit komplexen Mustern oder nichtlinearen Dynamiken aufweisen
- Empfindlich gegenüber Rauschen und Datendimensionalität
Beispieltechniken in MATLAB:
isoutlier– Ausreißer in Daten erkennenfindchangepts– abrupte Änderungen im Signal ermittelnrobustcov– fehlerresistente multivariate Kovarianz- und Mittelwertschätzung berechnenmahal– Mahalanobis-Distanz zu Referenzstichproben berechnendistanceProfile– Distanzprofil zwischen einer Abfrage-Teilsequenz und allen anderen Teilsequenzen einer Zeitreihe berechnenmatrixProfile– Matrix Profile zwischen allen Teilsequenzpaaren einer multivariaten Zeitreihe berechnen
Ein Beispiel ansehen
Erkennen von Anomalien in Motordaten mithilfe von Matrix Profile
Matrix Profile eignet sich zur effizienten Erkennung kollektiver Anomalien in langen Zeitreihen. Dieses Beispiel zeigt, wie Matrix Profile angewendet wird, um Anomalien in Ankerstrommessungen zu erkennen, die an einem sich verschlechternden Gleichstrommotor erfasst wurden.
Matrix Profile der Motordaten mit hervorgehobenen Paaren von Motiven und Diskordanzen
Ein-Klassen-KI-Modelle
Methoden zur Anomalieerkennung in dieser Kategorie trainieren ein Machine-Learning- oder Deep-Learning-Modell auf überwiegend normalen Basisdaten. Das Modell erlernt das normale Verhalten und identifiziert Abweichungen als Anomalien. Ein-Klassen-KI-Modelle funktionieren am besten, wenn Anomalien selten sind oder kein klar definiertes Muster aufweisen. Sie lassen sich über mehrere Datenkanäle hinweg für alle Arten von Anomalien anwenden.
In den folgenden Fällen sollten Ein-Klassen-KI-Modelle verwendet werden:
- Wenn ein Modell trainiert werden soll, das Anomalien in neuen eingehenden Daten erkennt
- Wenn umfangreiche Normaldaten für das Training vorhanden sind
- Wenn Anomalien selten, unbekannt oder ohne klar definiertes Muster auftreten
Merkmale:
+ Geeignet für alle Arten von Anomalien, einschließlich komplexer und nichtlinearer Muster
+ Fehlerresistent gegenüber Rauschen und Datendimensionalität
+ Deep-Learning-Methoden erfordern kein Feature Engineering
- Längere Trainingszeiten und höhere Rechenanforderungen
- Oft weniger interpretierbar als statistische und abstandsbasierte Methoden
Beispieltechniken in MATLAB:
iforest– Isolationswaldocsvm– Ein-Klassen-Support-Vektor-Maschinerccforest– fehlerresistenter Random Cut ForestdeepSignalAnomalyDetector– Deep-Learning-Modelle auf Basis eines 1D-Convolutional-Autoencoders oder eines LSTM-Netzes (Long Short-Term Memory)tcnAD– Temporal Convolutional Network (TCN)deepantAD– faltendes neuronales Netz (Convolutional neural network, CNN)usAD– Dual-Encoder-NetzwerkvaelstmAD– Variational Autoencoder und LSTM
Ein Beispiel ansehen
Training von Deep-Learning-Modellen zum Erkennen von Anomalien
Dieses Beispiel verwendet ein Deep-Learning-Modell, um abnormale Herzschlagsequenzen in Daten eines Elektrokardiogramms (EKG) zu erkennen.
EKG-Daten mit erkannter Anomalie in Rot dargestellt.
Datenaufbereitung zur Anomalieerkennung
Hochwertige Daten sind entscheidend, um präzise Anomalieerkennungsalgorithmen zu entwickeln. Das Sammeln, Untersuchen und Vorverarbeiten von Daten für die Anomalieerkennung ist jedoch anspruchsvoll und erfordert einen anwendungsspezifischen Ansatz. Die eingesetzten Techniken hängen von den Datenmerkmalen, den Hardware-Anforderungen und der jeweiligen Aufgabenstellung ab. Selbst bei großen Datenmengen kann die Erkennung von Anomalien schwierig sein, wenn die Daten von zahlreichen verrauschten Sensoren stammen. In solchen Fällen ist die Merkmalsextraktion und die Reduzierung der Datendimensionen von zentraler Bedeutung.
Datensätze zur Anomalieerkennung
Im Vergleich zu vielen klassischen Machine-Learning-Aufgaben sind die Anforderungen an Trainingsdaten flexibler – gekennzeichnete Daten sind hier nicht erforderlich. Algorithmen zur Anomalieerkennung werden nur mit normalen Daten oder überwiegend normalen Daten trainiert, in die einige Anomalien eingemischt sind. Mit solchen Daten wird ein Modell darauf trainiert, zu erkennen, was normal ist. Wiederum wird alles, was nicht normal ist, als Anomalie klassifiziert.
Wenn ein ausgewogener, gekennzeichneter Datensatz mit zwei oder mehr Klassen vorliegt, sollten Sie das überwachte Lernen zur Mehrklassen-Fehlererkennung verwenden.
Für die Anomalieerkennung geeignete Daten.
Weitere Informationen zu diesen Ansätzen:
Sichten und Vorverarbeiten von Daten
Bevor ein Algorithmus entworfen wird, ist es wichtig, zu verstehen, welche Informationen in den Daten stecken. Das Untersuchen und Visualisieren der Daten hilft, geeignete Datenquellen zu identifizieren, Muster zu erkennen, die Datenqualität zu beurteilen und die erforderlichen Vorverarbeitungsschritte festzulegen. Mit der Signal Analyzer-App können Zeitreihendaten interaktiv erkundet und vorverarbeitet werden.
Von Sensoren erfasste Daten sind in der Regel verrauscht, unstrukturiert und unorganisiert. In MATLAB stehen zahlreiche Techniken und interaktive Apps für Vorverarbeitungsschritte wie Resampling, Glättung, Strukturierung, das Auffüllen fehlender Daten und vieles mehr zur Verfügung.
Weitere Informationen zur Datenvorverarbeitung in MATLAB:
Merkmalsextraktion aus Rohdaten
Obwohl einige KI-Modelle direkt mit Zeitreihendaten arbeiten können, verbessert die Merkmalsextraktion häufig die Modellleistung, da die wichtigsten Größen hervorgehoben werden, die normale von anomalen Daten unterscheiden. Bei der Merkmalsextraktion werden Rohdaten in aussagekräftige numerische Merkmale transformiert, die zum Trainieren eines Modells verwendet werden können.
Beispielsweise können damit der Mittelwert, die Standardabweichung, die Spitzenamplitude oder die dominante Frequenz berechnet werden. Diese Merkmale fassen wichtige Verhaltensweisen in den Zeitreihendaten zusammen und erleichtern dem Modell das Erlernen des Normalzustands.
Ingenieure, die ihre Daten gut kennen, wissen oft bereits, welche Merkmale am nützlichsten sind. Alternativ kann ein automatisierter Merkmalsextraktionsprozess genutzt werden, der gängige Merkmale (deskriptive Statistiken, spektrale Kenngrößen und mehr) extrahiert und anschließend bewertet. Die Diagnostic Feature Designer-App in der Predictive Maintenance Toolbox unterstützt dabei, Merkmale interaktiv zu extrahieren, zu vergleichen und zu bewerten. Anschließend können diese Merkmale zum Trainieren eines KI-Modells verwendet werden.
Reduzierung der Datendimensionalität
Durch das Sammeln von Daten und die Merkmalsextraktion entsteht häufig eine sehr große Anzahl an Merkmalen – manchmal Hunderte pro Signal. Diese hohe Dimensionalität kann das Training verlangsamen, die Interpretierbarkeit erschweren und die Gefahr von Überanpassung erhöhen. Durch die Reduzierung der Dimensionalität, also das Auswählen oder Kombinieren nur der informativsten Merkmale, wird das Modell vereinfacht und das Training auf die Schlüsselfaktoren fokussiert, die auf Anomalien hinweisen. Verfahren zur Dimensionalitätsreduktion, etwa die Hauptkomponentenanalyse (PCA) oder das Merkmalsranking, helfen zu bestimmen, welche Merkmale am meisten zur Anomalieerkennung beitragen.
Ein Beispiel ansehen
Erkennung von Anomalien in Industrieanlagen mithilfe von dreiachsigen Schwingungsdaten
In diesem praxisnahen Beispiel werden drei verschiedene Ein-Klassen-KI-Modelle trainiert. Der Prozess umfasst das Sichten der Daten, die Merkmalsextraktion, das Trainieren der Modelle sowie die Bewertung ihrer Leistungsfähigkeit.
Dreiachsige Schwingungsdaten vor und nach der Wartung an Industrieanlagen. Die Daten nach der Wartung repräsentieren den Normalbetrieb, während die Daten unmittelbar vor der Wartung eine Anomalie darstellen.
Implementierung in der Praxis
Ingenieure möchten Anomalieerkennungsalgorithmen entwickeln, um Anomalien in realen Systemen zu erkennen. Die Entwicklung dieser Algorithmen ist ein iterativer Prozess.
Dieser Leitfaden beschreibt die wichtigsten Schritte für die Entwicklung eines Algorithmus zur Anomalieerkennung: Daten untersuchen und vorverarbeiten, Merkmale extrahieren und geeignete Algorithmen auswählen. Nach der Entwicklung kann der Algorithmus mit neuen Daten bewertet werden, um sicherzustellen, dass er gut verallgemeinert. Anschließend kann er für den Echtzeiteinsatz implementiert und bei Bedarf mit inkrementellem Lernen aktualisiert werden.
Workflow zur Entwicklung und Bereitstellung eines KI-modellbasierten Anomalieerkennungsmodells für praktische Anwendungen.
Bereitstellung auf Embedded Hardware
Mit MATLAB für Embedded KI können Sie Simulink-Blöcke erstellen oder C/C++ Code generieren, um Anomalieerkennungsalgorithmen auf Embedded-Geräten (z. B. Mikrocontroller oder Steuergerät/ECU) für die Erkennung in Echtzeit bereitzustellen. Dabei ist es wichtig, diese Algorithmen zunächst in der Simulation zu testen, um ihre Wirksamkeit vor der Bereitstellung auf Embedded Hardware sicherzustellen. Simulink bietet eine Plattform, um Algorithmen zur Anomalieerkennung in andere Systemkomponenten zu integrieren und Systemsimulationen in Echtzeit auf Systemebene zu ermöglichen.
Bereitstellung eines Deep Signal Anomaly Detector-Simulink-Blocks auf Raspberry Pi® zur Echtzeiterkennung von Störgeräuschen.
Inkrementelle Anomalieerkennung
Inkrementelle Verfahren zur Erkennung von Anomalien verarbeiten eingehende Daten fortlaufend und berechnen Anomalie-Scores in Echtzeit aus einem Datenstrom. Ein inkrementelles Modell wird an die Daten angepasst. MATLAB stellt die Modellobjekte incrementalRobustRandomCutForest und incrementalOneClassSVM für die inkrementelle Anomalieerkennung bereit. Zunächst wird ein Modell trainiert, um einen Anomalie-Score zu berechnen. Anschließend wird ein Schwellenwert auf Basis des während des Trainings gewonnenen Scores bestimmt und angepasst. Wenn neue Datenblöcke eintreffen, erkennt das Modell weitere Anomalien, wird schrittweise nachtrainiert und passt den Schwellenwert entsprechend an.
Erfahren Sie mehr über die inkrementelle Anomalieerkennung.
Phasen der Anwendung inkrementeller Lernverfahren auf Zeitreihendaten: Modellanpassung, Schwellenwertermittlung und Online-Schätzung.
Die wichtigsten Aspekte
Die Anomalieerkennung in Zeitreihen umfasst die Identifikation von Abweichungen gegenüber erwarteten Mustern, die auf kritische Zustände wie Maschinenfehler, Gesundheitsrisiken oder Prozessineffizienzen hinweisen können. MATLAB bietet einen vollständigen Workflow zur Erkennung von Anomalien in Zeitreihendaten: von der Datenuntersuchung und Vorverarbeitung über die Dimensionalitätsreduktion und Merkmalsextraktion bis hin zur Auswahl geeigneter Algorithmen. Mit Simulink können Algorithmen zur Erkennung von Anomalien in größere Systemmodelle integriert werden, um das Gesamtverhalten des Systems durch Simulationen zu überprüfen. Der Workflow unterstützt außerdem die Bereitstellung auf Embedded Hardware und ermöglicht die automatische Codegenerierung in C/C++, um Algorithmen zur Anomalieerkennung auf Edge-Geräten oder in Echtzeitanwendungen einzusetzen.
Erfahren Sie mehr über Anomalieerkennung und Predictive Maintenance.
Dieses Thema vertiefen
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)