Suchen

Moderne Architekturen zur Datenanalyse – Teil 2 Echtzeitdaten – Ausreißer identifizieren

| Autor / Redakteur: Steffen Hausmann / Nico Litzel

Im ersten Teil des Artikels ging es um die optimale Analyse von Echtzeitdaten mithilfe der Cloud. Dabei werden beispielhaft in Echtzeit einlaufende Geoinformationen und Bezahldaten eines Taxiunternehmens in New York untersucht. Durch die Vorverarbeitung der Daten musste zunächst für eine ausreichende Datenqualität gesorgt werden. Im nächsten Schritt geht es nun darum, die Daten miteinander zu verglichen, um Ausreißer zu identifizieren.

Firmen zum Thema

Ausreißer identifizieren: In der Darstellung zeigt sich auch schön, dass der Algorithmus zunächst die Muster des Datenstroms lernt und der ausgegebene Anomaliewert daher in dieser Initialisierungsphase null ist (im Diagramm zum Zeitpunkt 7:47 bis ca. 7:51).
Ausreißer identifizieren: In der Darstellung zeigt sich auch schön, dass der Algorithmus zunächst die Muster des Datenstroms lernt und der ausgegebene Anomaliewert daher in dieser Initialisierungsphase null ist (im Diagramm zum Zeitpunkt 7:47 bis ca. 7:51).
(Bild: Bild: AWS)

In unserem Beispiel würden wir beispielsweise die von den Taxis gemeldeten Umsätze zeitlich miteinander vergleichen, um ungewöhnliche Muster zu erkennen. Um eine effiziente Analyse der Daten zu ermöglichen, werden die einzelnen Ereignisse des Datenstroms mit der folgenden Anfrage zunächst aggregiert.

Eine gängige Strategie beim Verarbeiten von Echtzeitdaten ist, bei Anfragen nicht alle Daten des gesamten Datenstroms zu betrachten, was bei einem hohen Durchsatz und den Eigenschaften von Datenstömen häufig zu Problemen bei der Auswertung von Anfragen führt. Stattdessen kommen Zeitfenster zum Einsatz, um den Datenstrom in viele kleine Zeiteinheiten zu teilen, die dann unabhängig voneinander ausgewertet werden. Genauso gehen wir auch in unserem Beispiel vor, und verwenden ein fünf Sekunden-Intervall unsere Abfrage.

Grafik 1
Grafik 1
(Bild: AWS)

Mit dieser SQL-Anfrage werden zunächst alle fünf Sekunden Statistiken über die angefallenen Fahrten erzeugt. Dazu wird die Anzahl der Fahrten, die Anzahl der Passagiere und der Umsatz der etwa 40000 Fahrten in jedem Fünf-Sekunden-Fenster aufsummiert und als neues Ereignis in den internen trip_statistics-Datenstrom geschrieben. Diese Anfrage fasst also alle fünf Sekunden etwa 40.000 Ereignisse zu einem einigen Ereignis zusammen, das die Anzahl der Fahrten, die Gesamtzahl der Passagiere und den Gesamtumsatz in dem entsprechenden Fünf-Sekunden-Fenster enthält.

Diese Statistiken werden dann wiederum als Grundlage für die Anomalie-Erkennung verwendet. Kinesis Analytics unterstützt eine Reihe von vordefinierten Algorithmen, die auch ohne Machine-Learning-Kenntnisse komplexe Analysen ermöglichen. Einer dieser Algorithmen ist der sogenannte RANDOM_CUT_FORREST-Algorithmus, der ohne manuelles Kennzeichnen der Ereignisse automatisch die Muster in dem Datenstrom lernt und dann selbstständig den Grad der Anomalie eines jeden Events einschätzen kann.

Grafik 2
Grafik 2
(Bild: AWS)

Der Algorithmus benötigt als Eingabe lediglich den Datenstrom und ein paar Basisparameter, etwa die Länge der sich wiederholenden Muster die auf Anomalien untersucht werden sollen. In diesem Fall wählen wir als Länge des Musters die Zahl der Messwerte, die an einem Tag anfallen. Der Algorithmus vergleicht dann die Umsatzmuster aufeinanderfolgender Tage und bestimmt daraus den Anomaliewert. Durch das beschleunigte Abspielen und Aggregieren der Daten wird ein Tag durch zwölf Messwerte repräsentiert.

Die Anomaliewerte lassen sich dann in Echtzeit über CloudWatch in einem Dashboard darstellen. Darüber hinaus ist es auch denkbar eine automatische Reaktion, wie z. B. einen Alarm, auszulösen, wenn es Hinweise auf eine Abweichung/Anomalie gibt.

Zurück zu unserem Beispiel: Wie zu erwarten, zeigen sich die typischen Muster von Taxifahrten. In der Nacht sinkt der Umsatz, stark ab, steigt am Morgen wieder an und erreicht jeweils zur Hauptverkehrszeit einen Höhepunkt. Obwohl der Umsatz von Stunde zu Stunde stark schwankt, bleibt der orangenfarbene Anomaliewert stabil bis zu dem Moment, an dem der Umsatz deutlich unter dem der Vortage zurückbleibt (im Diagramm zum Zeitpunkt 5:31).

Der Autor: Steffen Hausmann ist Specialist Solutions Architect Analytics bei AWS
Der Autor: Steffen Hausmann ist Specialist Solutions Architect Analytics bei AWS
(Bild: AWS)

Wenn Sie das Szenario in Ihrem Account durch das CloudFormation Template nachgestellt haben, finden Sie ein entsprechendes Dashboard der AWS-Konsole unter CloudWatch und dann auf der linken Seite unter Dashboards.

Mithilfe der beschriebenen Schritte ist es innerhalb des Beispielszenarios möglich, eine sehr genaue Echtzeit-Auswertung vorzunehmen. So sieht der Betreiber der Taxiflotte auf einen Blick, welche Stadtgebiete und Tageszeiten aus wirtschaftlicher Sicht besonders interessant sind. Möglicherweise ist es darüber hinaus gewünscht, auch historische Daten im Rahmen einer Langzeitanalyse zu betrachten. Darum geht es im dritten Teil der Artikelserie.

(ID:46361380)