Kommentar : Verbesserte Prozesse und fundierte Entscheidungen durch Anomalie-Erkennung für Echtzeit-Datenströme

Unternehmen aus allen Branchen generieren heutzutage eine Vielzahl an Daten, welche dazu genutzt werden können, Prozesse zu verbessern und zu beschleunigen – wenn man sie denn auch analysiert. Damit die Daten schlussendlich eine gute Grundlage für das Treffen von Entscheidungen bieten, ist eine hohe Datenqualität unerlässlich. Die Erkennung einzelner Ausreißer oder Anomalien in der Datenmenge ist daher wesentlich, um zu verhindern, dass sie wichtige Entscheidungen beeinflussen

Daten-Streaming und Anomalien

Bei Streaming-Daten handelt es sich um Daten, die kontinuierlich von einer Vielzahl von Quellen generiert werden und dann im Regelfall simultan und in kleinen Paketen, meist im Kilobyte-Bereich, übertragen werden. Dieses Daten-Streaming kommt für viele Anwendungsfälle in Frage, sei es im Internet of Things (IoT), bei Clickstream-Analysen, der Ortung von Geräten, der Datenverarbeitung in sozialen Medien sowie im Finanzhandel. Aufgrund von Änderungen im Systemverhalten, fehlenden Daten oder menschlichen Fehlern kann es passieren, dass Ausreißer oder Anomalien auftreten. Während diese sich leicht mithilfe von menschlicher Intuition erkennen lassen, fehlt diese Fähigkeit bei traditioneller Software. Daher kann es sinnvoll sein, eine Echtzeit-Anomalie-Erkennung einzusetzen.

Anwendungen der Echtzeit-Anomalie-Erkennung

Besonders oft wird die Echtzeit-Analyse für sogenannte High-Velocity-Daten verwendet, welche in kurzer Zeit erfasst, gespeichert, verarbeitet und analysiert werden müssen, aufgrund ihrer schnellen und häufigen Generierung jedoch sehr anfällig für Zuverlässigkeits- und Qualitätsprobleme sind. Mithilfe der Anomalie-Erkennung können Extremwerte herausgefiltert und die Verlässlichkeit der Daten so verbessert werden. Das erhöht auch die Qualität der Datensätze insgesamt und ermöglicht es Unternehmen, fundierte Geschäftsentscheidungen zu treffen – beispielsweise in der Produktion, wenn eine Maschine ihre Drehzahl anhand von Temperatursensordaten bestimmt. Überschreitet sie einen gewissen Schwellenwert, verringert sie den Ausstoß, um die Hardware zu schonen. Das senkt allerdings auch die Produktivität. Wenn Anomalien hier in Echtzeit erkannt werden, können Fehlentscheidungen verhindert werden, die sich negativ auf das Geschäft auswirken. Ein weiteres Anwendungsbeispiel ist die Analyse von Clickstream-Daten: Hier wird die Klickrate (CTR) beim Kauf von Produkten auf Anomalien analysiert, um Online-Betrügern auf die Spur zu kommen.

Datenaufnahme

Die Echtzeit-Analyse setzt bei der Datenaufnahme eines Daten-Streams an, den ein Daten-Generator wie beispielsweise ein Sensor oder ein Webbrowser erzeugt. Um den Zugriff von Dritten auf den Stream zu verhindern, sollten Unternehmen unbedingt ein Proxy einsetzen, wenn sie selbst nur Zugriff auf den Datenstrom selbst, nicht aber die Datenquelle haben. Je nachdem, welche Streaming-Plattform verwendet wird, gibt es unterschiedliche unterstützende Authentifizierungsmethoden. Besonders bei HTTP-Proxies zur Erfassung von Stream-Daten sollten auch Geräte wie IoT-Sensoren berücksichtigt werden, die einen niedrigen Energieverbrauch haben, denn diese sind oft nicht in der Lage, anspruchsvolle Software Development Kits (SDKs) auszuführen oder REST-APIs aufzurufen.

Datenanalyse

In der Big-Data-Analyse kommt häufig die Stapelverarbeitung zum Einsatz. Das bedeutet, dass Daten über einen bestimmten Zeitraum hinweg gesammelt und anschließend gemeinsam verarbeitet werden. Bei zeitkritischen Analysen wie die Erkennung von Echtzeit-Anomalien eignet sich diese Methode jedoch nicht und es sind Methoden erforderlich, bei denen Datenströme kontinuierlich analysiert werden. Das Resultat sind nahezu sofortige Ergebnisse, obwohl die Daten noch in Bewegung sind. Für die Anomalie-Erkennung gibt es verschiedene Algorithmen: den Welford-Algorithmus, den Z-Score und den Random-Cut-Forest-Algorithmus (RCF). Letzterer beispielsweise ist ein maschineller Lern-Algorithmus für die Anomalie-Erkennung und agiert autonom, indem er jedem Datensatz einen Anomalie-Wert zuordnet. Sind Werte größer als drei Standardabweichungen vom Mittelwert, betrachtet der RCF diese als ungewöhnlich. Das bedeutet aber auch, dass zuerst Daten gesammelt werden müssen, um Referenzwerte zu generieren. Diese erste Sammelphase bezeichnet man als Stream-Priming.

Datenspeicherung und -verarbeitung

Um Kosten zu sparen und gleichzeitig die Leistung zu verbessern, sollten die kleinen Streaming-Datensätze zu größeren Dateien aggregiert werden, bevor sie dauerhaft gespeichert werden. Gleichzeitig werden weiter Datensätze mit erkannten Anomalien verarbeitet. Es empfiehlt sich, hier das sogenannte Event-based Computing anzuwenden: Überschreitet ein Datensatz die vorher festgelegte Anomalie-Score-Schwelle, löst das ein Ereignis (Event) aus, das einen passenden Programmcode ausführt. Als Alternative kann auch ein Mitarbeiter benachrichtigt werden, der dann eine manuelle Operation ausführt, z.B. die Wartung einer überhitzten Maschine planen oder den Techniker für eine Überprüfung hinzuziehen.

Bei Amazon Web Services (AWS) können Unternehmen eine Vielzahl von Diensten aus einer Hand nutzen: Einerseits können mit Amazon Kinesis Data Streams (KDS), einem skalierbaren und beständigen Streaming-Service für Echtzeitdaten, kontinuierlich pro Sekunde Datenvolumen im Gigabyte-Bereich aus Hunderttausenden von Quellen aufgenommen werden, andererseits können diese dann direkt über einen Amazon Kinesis Firehose Delivery Stream in einem Amazon S3 Bucket gespeichert werden. Für die Echtzeit-Erkennung der Streaming-Daten auf Anomalien bietet AWS ebenfalls eine passende Lösung: Amazon Kinesis Data Analytics (KDA).