Konzepte und Methoden zur Implementierung von Predictive-Analytics-Komponenten

Machine Learning goes E-Mobility: Mit Datenanalyse die Elektromobilität vorantreiben

Bettina Finzel, Hans-Christian Sperker

© Shutterstock/ LanKS

Datenanalyse ist eine der wichtigsten Kompetenzen, wenn es darum geht, den Erkenntnisgewinn zu steigern und Wettbewerbsvorteile auszubauen. Von einer konkreten Fragestellung bis zur Darstellung eines aussagekräftigen Ergebnisses ist es jedoch ein weiter Weg. Welche Aufgaben sind mit einem typischen Analyse-Prozess verbunden? Welche Stufen der Analyse gibt es? Welche Methoden und Abläufe kommen zum Einsatz, um den Analyse-Prozess umzusetzen? Welche Kompetenzen benötigt ein Analyse-Team? Neben Antworten auf diese Fragen präsentiert der folgende Artikel, welche Architekturen und Technologien für die Implementierung von Predictive-Analytics-Komponenten infrage kommen. Beispiele aus einem konkreten Anwendungsfall, der Analyse von Daten aus Ladeparks, illustrieren die vorgestellten Konzepte und Methoden.

Elektromobilität ist ein wichtiger Meilenstein auf dem Weg zur Energiewende, zur Unabhängigkeit von fossilen Rohstoffen sowie für die Reduktion der CO²-Belastung. Der weltweite Bestand an Elektroautos steigt kontinuierlich und liegt derzeit bei mehr als 3,2 Millionen Fahrzeugen. Auch in Deutschland werden Elektroautos immer beliebter. Während die Anzahl der Elektroautos in Deutschland 2008 laut einer Studie zu Trends beim Autokauf noch bei etwa 1.436 Autos lag, sind im Jahr 2017 laut einer Erhebung der European Automobile Manufacturers Association 54.617 Neuzulassungen zu verzeichnen gewesen. Die Anzahl der Ladestationen für Elektroautos in Deutschland liegt derzeit bei etwa 9.976 (Stand: 7.Juli 2018), Tendenz steigend. Prognosen für das Jahr 2030 zufolge ist zu erwarten, dass der Anteil an Elektroautos an Neuzulassungen, neben Diesel-, Benzin- und Hybridfahrzeugen, etwa 20 % betragen wird. Folglich wird auch die Nachfrage nach Ladestationen und damit verbundenen Dienstleistungen weiter steigen.

Insbesondere in Bezug auf Dienstleistungen wird verstärkt IT-Know-how benötigt, denn die Aufgaben eines Ladeparkbetreibers gehen weit über das Aufstellen von Ladesäulen, Kühlmodulen und Steuerungssystemen hinaus. Genau diesen Markt bedient beispielsweise die MHP Management- und IT-Beratung GmbH mit ihren Kompetenzen im Bereich e-Mobility und Charging. Die im Einsatz befindlichen Ladestationen kommunizieren hierbei über den Mobilfunkstandard GSM mit einem zentralen System. Bei Ladeparks mit Schnellladesäulen kommunizieren zudem viele verschiedene Komponenten miteinander. Das zentrale System steuert nicht nur die Ladesäulen, sondern auch etwaige Kühlmodule.

Um den reibungslosen Betrieb eines Ladeparks zu gewährleisten, muss solch ein komplexes System, inklusive seiner Prozesse, überwacht werden. Dabei helfen nicht nur Berichte und Warnsysteme (Descriptive Analytics und Diagnostic Analytics), sondern auch Komponenten, die veränderliche Größen, wie etwa die Auslastung und Nachfrage, analysieren und prognostizieren (Predictive Analytics). Solche Vorhersagen ebnen den Weg für intelligente Wartungsdienstleistungen und Infrastrukturen wie etwa das Smart Grid, ein intelligentes Stromnetz, das sich an die aktuelle Nachfrage optimal anpasst und gleichzeitig Netzstabilität gewährleistet. Des Weiteren können Auffälligkeiten, wie etwa Ausfälle, mittels intelligenter Analysen ebenso identifiziert werden wie ein Betrug oder Diebstahl. IT Dienstleister, die es verstehen, einen Analyse-Prozess nach Best Practices umzusetzen und die Kompetenzen auf allen Stufen der Analyse mitbringen, haben aufgrund des steigenden Bedarfs an Monitoring-, Reporting- und Decision-Support-Lösungen für den Ladeparkbetrieb, beste Aussichten.

ML Conference 2019

Workshop: Machine Learning 101++ using Python

mit Dr. Pieter Buteneers (Chatlayer.ai)

Honey Bee Conservation using Deep Learning

mit Thiago da Silva Alves, Jean Metz (JArchitects)

ML Summit 2019

Grundlagen von Machine Learning

mit Oliver Zeigermann (embarc)

Lösungsansätze mit KI (ML) finden – better done than perfect!

mit Jan Hedtfeld und Lena Müller-Ontjes (MACH AG)

Insbesondere durch die effiziente Verarbeitung sehr großer Datenmengen, am besten in Echtzeit, sowie die stärkere Vernetzung und Reaktivität von Systemen und die verständliche, nutzer-zentrierte Darstellung von Daten erhofft man sich einen Wettbewerbsvorteil. Dieser kann durch Steigerung des Erkenntnisgewinn sowie präzisere Vorhersagen von potenziellen Veränderungen erreicht werden. Erkennen und Vorhersagen lässt sich viel. Ausgangslage ist daher eine Vielzahl an Fragestellungen, die anhand von Datenanalysen möglichst gut beantwortet werden sollen. Um jedoch die Antwort zu finden, die den Wettbewerbsvorteil sichert, müssen viele Zahnräder in einander greifen. Von der Zusammenstellung eines geeigneten Kompetenzteams und der präzisen Definition der Fragestellungen, über die Wahl der richtigen Konzepte, Infrastrukturen und Technologien, bis hin zur Umsetzung, Präsentation und Weiterverwertung der Ergebnisse, müssen viele Faktoren berücksichtigt werden.

Dieser Artikel führt zunächst grundlegende Begriffe und Prozesse der Analyse ein, ordnet Fragestellungen und entsprechende Analysen anhand ihrer Komplexität und dem Grad der Erkenntnisfähigkeit ein und benennt für jede Dimension typische Analyseverfahren. Anschließend werden für den Bereich Predictive-Analytics geeignete Konzepte, Architekturen und Technologien vorgestellt, die zur Umsetzung eines Analytics-Systems verwendet werden können. Eine Empfehlung in Bezug auf die Zusammenstellung eines Teams für Analyse-Projekte rundet diesen Artikel ab. Die vorgestellten Herangehensweisen helfen, sich im Segment der Datenanalyse zu positionieren, um beispielsweise die Nutzung von Elektromobilität voranzutreiben.

Der Analyse-Prozess

Grundlage für die Durchführung von Datenanalysen ist ein strukturierter Prozess. Der Datenanalyse-Prozess beginnt mit der Datenakquise und –speicherung. An diesem Punkt müssen bereits Fragestellungen und Anforderungen definiert sein, um passende Entscheidungen über die Datenqualität und Datenmenge zu treffen. Daten, die fehlerhaft, unvollständig oder ungenau sind, werden keine präzisen Antworten liefern. In großen heterogenen Datenmengen steckt zwar meist viel Wissen, der Verarbeitungsaufwand ist jedoch entsprechend größer. Nicht zuletzt muss auch die Frage beantwortet werden, über welche Kanäle die Daten zur Analyse zusammengeführt werden und welche Data Stores zur temporären oder persistenten Speicherung benötigt werden.

Abb. 1: Der Analyse-Prozess

Da selten perfekte Daten zur Verfügung stehen, ist meist der Schritt der Datenaufbereitung notwendig. Daten aus verschiedenen Quellen müssen gegebenenfalls in ein einheitliches Format umgewandelt werden. Filter helfen, Daten zu extrahieren, die sich potenziell eignen, um gegebene Fragestellungen zu beantworten. Des Weiteren können Daten von minderer Qualität noch vor der Analyse ausgeschlossen werden.

Eng verzahnt mit der Datenaufbereitung sind die folgenden drei Prozessschritte: Feature-Transformation, Feature-Extraktion und Feature-Selektion. Der Begriff Feature beschreibt hier einen einzelnen Datenpunkt oder aber eine Menge an Datenpunkten, die eine Charakteristik des Datensatzes repräsentieren.

  • Die Transformation von Daten erhöht die Präzision und Güte der Berechnungen. Gängige Methoden sind Normalisierung, Skalierung und Imputation fehlender Daten, die eine Form der Bereinigung von Datensätzen darstellt und deren Zweck darin besteht, fehlende Werte auf Grundlage statistischer Größen zu schätzen.
  • Feature-Extraktion (auch Feature Engineering genannt) wandelt Rohdaten in Features um, die dann in der Berechnung von Statistiken und Modellen weiterverwendet werden können. Ein anschauliches Beispiel ist die Extraktion von Text aus Bildern, etwa zur Bestimmung der thematischen Zugehörigkeit.
  • Feature-Selektion dagegen dient der Identifikation derjenigen Features, die am ehesten zu Erkenntnissen und präzisen Vorhersagen führen. Vorteilhaft ist zudem, dass durch Reduktion der Features, die Dimensionalität der Daten gesenkt werden kann (siehe auch Fluch der Dimensionalität; größerer Parameterraum führt zu schwer anpassbaren Modellen). Relevanz und Wichtigkeit (Feature Importance) wird mit statistisch-mathematischen Methoden, wie etwa der Berechnung des Informationsgehalts, bestimmt.

Je nach Fragestellung können schließlich verschiedene Berechnungen auf den Werten der Features durchgeführt werden. Während deskriptive Statistiken grundlegende Größen und Strukturen in den Daten identifizieren (beispielsweise Maxima, Minima und Durchschnittswerte), werden induktive Statistiken verwendet, um anhand von Kennzahlen aus Stichproben auf die Gesamtheit der Daten zu schließen (beispielsweise um Vorhersagen zu treffen und Wahrscheinlichkeiten für bestimmte Ereignisse zu identifizieren).

Zentraler Bestandteil eines fortgeschrittenen Analyse-Prozesses ist die Berechnung und Anwendung komplexer Modelle der Regression, Klassifizierung und der Cluster-Analyse. Für die Umsetzung dieses Prozessschritts ist Kompetenz in maschinellem Lernen vorteilhaft. Eine Übersicht gängiger und populärer Verfahren ist im Abschnitt „Verfahren für Predictive-Analytics“ zu finden.

Der Analyse-Prozess ist nicht strikt linear und wird somit nicht zwangsläufig einmal von Beginn bis Ende durchlaufen. Insbesondere die Schritte der Modellberechnung/-anwendung, Modellevaluation und Modelloptimierung werden für gewöhnlich mehrmals hintereinander durchlaufen, um die Performanz des jeweiligen Verfahrens zu optimieren. Dabei ist es wichtig, gängige Indikatoren wie etwa Genauigkeit (Precision), Trefferquote (Recall), Korrektklassifikationsrate (Accuracy), F-Maß (F-Score) oder die Fehlerrate (Error Rate) zu berücksichtigen. Robuste Ergebnisse ergeben sich beispielsweise durch Anwendung von Kreuzvalidierungsverfahren (Cross-Validation) bei denen im Wesentlichen die Datenmenge in Test- sowie Trainingsmenge unterteilt wird. Eine Steigerung der Performanz in Bezug auf die Vorhersage kann durch modellspezifische Parameteroptimierung, etwa mittels Grid Search und durch Gradient Boosting erreicht werden. Während Grid Search darin besteht, verschiedene Parameterwerte miteinander zu kombinieren und diejenige Kombination zu wählen, welche die Performanz maximal steigert, zielt Gradient Boosting darauf ab durch schrittweise Berücksichtigung der bisherigen Fehlerrate in den Berechnungen zu besseren Modellen zu gelangen.

Wird ein geeignetes Modell identifiziert, kann es zum Zweck der Mustererkennung und Vorhersage wiederholt auf Daten angewandt werden. Ist es nach bestimmten vordefinierten Kriterien nicht mehr ausreichend aussagekräftig, muss es gegebenenfalls auf einer anderen oder erweiterten Datenbasis als der ursprünglichen neu berechnet werden. In diesem Fall wird der Analyse-Prozess erneut durchlaufen. Auch neue Fragestellungen können hinzukommen oder bestehende sich ändern.

Um einen Mehrwert zu schaffen, müssen Analyseergebnisse geeignet präsentiert werden. Wichtiger Bestandteil ist daher die Darstellung der Erkenntnisse, entsprechend dem jeweiligen Anwendungsfall. Web-basierte Dashboards laden beispielsweise zur Exploration der Ergebnisse ein. Um Verständnis für Muster und Vorgänge in den Daten schaffen zu können, muss hier besonders auf nutzerzentrierte Darstellungen, Interaktionsmöglichkeiten und intuitive Bedienbarkeit geachtet werden.

Der hier beschriebene Analyse-Prozess legt nahe, dass es einer Vielzahl an Experten oder Allrounder-Talenten bedarf, um ein Analyse-Projekt auf die Beine zu stellen. Je nach Schwerpunkt in den Fragestellungen unterscheiden sich erforderliche Kenntnisse über Konzepte, Verfahren und Technologien. Der nachfolgende Abschnitt ermöglicht eine erste Orientierung hinsichtlich möglicher Fragestellungen und ihrer Dimensionen.

Fragestellungen und ihre Dimensionen

Die folgende Grafik veranschaulicht Stufen der Analyse und ihren Mehrwert in Anlehnung an die vier Typen der Analyse von Gartner. Wie unten dargestellt, lassen sich die vier Analysestufen anhand zweier Dimensionen unterscheiden. Sie unterscheiden sich hinsichtlich ihrer Aussagekraft sowie Komplexität und in Bezug darauf, wie gut sie eintretende Ereignisse erkennen und vorhersagen können. Je höher die Stufe, desto stärker sind beide Dimensionen ausgeprägt.

Abb. 2: Das Analytics Kontinuum

Descriptive Analytics (Stufe 1) und Diagnostic Analytics (Stufe 2) werden insbesondere im Monitoring und Reporting verwendet. Ihr Ziel ist es, herauszufinden, welche Ereignisse eingetreten sind und was die zugrundeliegenden Ursachen sind. Hier genügt es meist, einfache Methoden der deskriptiven und induktiven Statistik anzuwenden. Man bildet beispielsweise Mittelwerte, berechnet Maxima sowie Minima und identifiziert ungewöhnliche oder inkonsistente Werte, sogenannte Ausreißer. Im Kontext des Ladesäulenmanagements lässt sich auf diese Weise zum Beispiel ein Warnsystem implementieren, das über Ladesäulen informiert, die ausgefallen sind. Dieses System kann unter Berücksichtigung aller gemessenen Daten Gründe für den Ausfall identifizieren. Sind etwa Temperaturmesswerte ungewöhnlich hoch, kann man von einem Ausfall durch Überhitzung ausgehen. Mittels induktiver Statistik können Wahrscheinlichkeiten für verschiedene potenzielle Ursachen berechnet werden.

Während auf der ersten und der zweiten Stufe Daten aus der Vergangenheit analysiert werden, befassen sich Predictive Analytics (Stufe 3) und Prescriptive Analytics (Stufe 4) mit der Zukunft. Zentral ist dabei, mit mathematisch-statistischen Methoden herauszufinden oder zumindest möglichst präzise abzuschätzen, was in naher oder ferner Zukunft geschehen wird. Beide Stufen eignen sich für die Implementierung eines Decision-Support-Systems, da aus ihnen Handlungsempfehlungen abgeleitet werden können. Geeignete Methoden sind Regressionsanalysen, Klassifikation und Clustering, sowie Optimierung und Simulation. Beispielsweise kann mithilfe der Analyse eines Ladeparks herausgefunden werden, dass Kühlmodule eines bestimmten Herstellers einen Defekt haben. Nachfolgend können diejenigen Ladesäulen identifiziert werden, die aufgrund dieses Schadens mit einer Wahrscheinlichkeit von über 99 % in den nächsten 24 Stunden ausfallen werden. Auch Langzeitanalysen sind möglich. Ein Decision-Support-System könnte beispielsweise herausfinden, welche Module ersetzt werden müssen, um die Anzahl von Ladesäulenausfällen an Standort A auf 10 pro Jahr und an Standort B auf 5 pro Jahr zu verringern.

Auf allen Stufen der Analyse sollte eine hohe Datenqualität sichergestellt werden. Sensoren sollten überwacht werden und in höherer Stückzahl am selben Ort oder für dieselbe Messaufgabe installiert werden. Auf diese Weise kann verhindert werden, dass Messfehler und unvollständige Daten in die Datenanalyse gelangen. Dies ist wichtig, um der Minderung der Aussagekraft von Ergebnissen vorzubeugen und weitere Verarbeitungsschritte, wie etwa die Approximation fehlender Daten, zu umgehen.

Für die Implementierung eines Systems, das auf den hier vorgestellten vier Stufen basiert, können die im Folgenden beschriebenen Verfahren, mit besonderem Fokus auf Predictive Analytics, zur Anwendung kommen.

Verfahren für Predictive-Analytics

Wie der Name schon verrät, ist Predictive Analytics nichts anderes als eine vorausschauende Analyse. Im Gegensatz zu Monitoring– und Reporting-Methoden, die beispielsweise in der Business-Analyse zum Einsatz kommen, um Ist- und Sollzustände zu vergleichen und Kennzahlen auf Basis bereits gewonnener Daten aufzuzeigen, befasst sich Predictive Analytics vielmehr mit der Vorhersage von Ereignissen sowie der Identifikation von Gründen, Zusammenhängen oder Konsequenzen von Ereignissen. Letzteres trifft insbesondere dann zu, wenn Verfahren, die streng genommen eher zu Prescriptive Analytics zuzuordnen sind, ebenso als Predictive-Analytics-Verfahren verstanden werden (zum Beispiel Entscheidungsbäume). In jedem Fall legt Predictive Analytics den Grundstein für Prescriptive Analytics, also intelligente und automatisierte Handlungsempfehlungen.

Predictive Analytics nutzt Vorhersagemodelle (Predictive Modelling, kurz PM) und Modelle des maschinellen Lernens (kurz ML). Während Vorhersagemodelle mittels statistischer Methoden aus vergangenen Daten Werte ableiten, die in Zukunft wahrscheinlich auftreten, werden Modelle des maschinellen Lernens in einem Prozess trainiert und angewandt, um Daten zu klassifizieren oder Muster in ihnen zu erkennen. Die nachfolgende Tabelle beschreibt einige Verfahren, die für Predictive-Analytics-Anwendungen äußerst relevant sind. Wer Predictive Analytics betreibt, sollte die folgenden Verfahren als Dienstleistung bereitstellen können.

Stufe Verfahren Mögl. Verwendung Beispiele
1 Summenstatistik Berechnet Summe, Mittelwert, Minimum, Maximum, Bereich, Standardabweichung, Anzahl, erster/letzter Datenelemente, Median, Varianz und Anteil. Durchschnittlicher Stromkonsum je Ladesäule, Anzahl der Fehlerfälle in einem Zeitraum
2 Lineare Regression Berechnet Richtung und Stärke des Zusammenhangs zwischen einer Zielvariablen und Einflussvariablen sowie die Zielvariable bei gegebenen Einflüssen. Einfluss der Tageszeit und des Standorts auf den Stromkonsum
2 Faktorenanalyse Berechnen nicht unmittelbar sichtbarer Variablen (latente Variablen, Hintergrundvariablen), die einer Vielzahl gegebener Variablen zugrunde liegen (explorativ und konfirmatorisch). Die Charakteristika einer Ladesäule, wie maximale Leistung, durchschnittliche Leistung lassen sich in einer Hintergrundvariablen „Ladesäulenmodell“ zusammenfassen.
3 (PM) Zeitreihenanalyse Stellt zeitlichen Verlauf der Daten dar und hilft weiteren Verlauf vorherzusagen. Entwicklung des Stromkonsums über den Zeitraum eines Jahres
3 (PM) Logistische Regression Bestimmt Wahrscheinlichkeit für Eintreten eines Ereignisses für eine binomiale, ordinale oder multinomiale abhängige Variable. Lässt sich die Wahrscheinlichkeit für das Auftreten einer Fehlerkategorie, durch Updateversion, Hersteller und Temperatur vorhersagen?
3 (ML) k-Nearest-Neighbor (kNN) Klassifiziert Daten auf Basis eines Ähnlichkeitsmaßes, wobei die Mehrheit in den Klassen der k ähnlichsten Datenpunkte entscheidend ist. Zu welcher demographischen Gruppe gehört ein Endnutzer auf Grundlage seines Ladeverhaltens am ehesten?
3 (ML) Clustering Gruppiert Daten zum Zweck der Mustererkennung auf Basis einer Distanz (zum Beispiel k-means), der Dichte (zum Beispiel DBScan), durch hierarchische Aufteilung oder Aggregation (zum Beispiel Ward’s method), gitterbasiert oder modellbasiert Ist die Ladeparkzugehörigkeit einer Ladesäule auf Basis eines bestimmten Musters zu erkennen? Der Parameter k würde hier der Anzahl an Ladeparks entsprechen.
3 (ML) Support Vector Machine Klassifizieren von Datenpunkten mit Features, die einen mehrdimensionalen Raum erzeugen. Trennen der Daten nach Kosten- und Präzisonsfaktoren. Ähnliche Fragestellungen wie kNN mit komplexeren Berechnungsmöglichkeiten.
3 (ML) Artificial Neural Network (ANN) und Deep Learning Modellbildung durch Berechnung einer Funktion auf Basis gewichteter oder parametrisierter Verbindungen zwischen abstrahierten Neuronen. Frühzeitige Erkennung von Problemen durch Analyse der Struktur in den Prozessen innerhalb eines Ladeparks.
3/4 (ML) Entscheidungsbaum Sagt Werte oder Kategorien vorher, zu denen, je nach Werten in den Daten, verschiedene Pfade führen. Aus den Pfaden können Gründe für die Vorhersage/Kategorisierung direkt abgelesen werden. Welche örtlichen Gegebenheiten führen dazu, dass eine Ladesäule besonders stark oder schwach frequentiert wird? (z.B. Distanz zum Stadtzentrum < 5 km)
3/4 (ML) Random Forest Sagt eine Zielvariable mithilfe der Berechnung zufälliger, mehrerer Entscheidungsbäume auf den Daten vorher und wählt den besten Baum aus. Siehe Entscheidungsbaum
3/4 (ML) Ensemble Models Kombiniert verschiedene Algorithmen, um eine bessere Performanz zu erreichen. Sehr unterschiedliche Fragestellungen sind denkbar.

Tabelle 1: Basale Predictive-Analytics Verfahren

Predictive Analytics in Echtzeit und für Big Data

Predictive Analytics baut auf Methoden niedrigerer Stufen auf. So können beispielsweise Summenstatistiken genutzt werden, um sinnvolle Features für komplexe Modelle zu extrahieren. Mittels Regression können Features hinsichtlich ihrer Relevanz bewertet werden. Die Faktorenanalyse reduziert die Dimensionalität der Daten durch Berechnung zugrundeliegender, nicht unmittelbar sichtbarer Variablen. Populäre Vertreter der Predictive Models sind die Zeitreihenanalyse und die logistische Regression. Aus einer Vielzahl existierender maschineller Lernverfahren seien hier drei häufig genutzte Verfahren genannt: k-Nearest-Neighbor, Support-Vector-Machine und das Artificial-Neural-Network, die Grundlage für Deep Learning. Jedes Verfahren gibt es in einer Vielzahl an Varianten, die je nach Datenbasis und Vorhersageziel ausgewählt werden.

Die Voraussetzungen zu beschreiben, die Daten erfüllen müssen, um von den einzelnen Verfahren verarbeitet werden zu können, würde das Ziel dieses Artikels verfehlen. Er soll lediglich einen Überblick über die wichtigsten Methoden geben. An dieser Stelle sei erwähnt, dass die oben genannten Verfahren in ihrer klassischen Form für fixe Datensätze implementiert wurden beziehungsweise die Annahme treffen, dass sich ein auftretendes Phänomen in immer der gleichen Form manifestiert. Das heißt, die Berechnung eines Modells erfolgt auf einem repräsentativen Datenausschnitt und das Modell findet solange Anwendung, bis es nicht mehr ausreichend präzise ist. Danach muss es unter Umständen mit einer Menge Zeit- und Speicherressourcen auf neuen Daten wiederberechnet werden.

Dieses Vorgehen ist ungeeignet, wenn Daten nicht in Datensammlungen gehalten werden, sondern in Echtzeit als Datenströme verarbeitet werden müssen. In diesem Fall müssen inkrementelle Verfahren angewandt werden, welche die berechneten Modelle im Optimalfall mit jedem neuen Datenpunkt, der eine bedeutsame Veränderung darstellt, aktualisieren. Nur so kann sichergestellt werden, dass Vorhersagen auf dem neuesten Stand bleiben. In Bezug auf die Verwaltung eines Ladeparks und seiner Ladesäulen kann es von Vorteil sein, sowohl Daten für klassische Analysen zu persistieren als auch Daten in Echtzeit zu verarbeiten und höchstens temporär während der Laufzeit zu speichern und zu verarbeiten. Für viele der klassischen maschinellen Lernverfahren wurden inkrementelle Varianten implementiert, die jedoch nicht im Fokus dieses Artikels stehen und somit nicht weiter beschrieben werden.

Daten, die für Analysen benötigt werden, können aus einer Vielzahl an Quellen extrahiert werden. Beispielsweise Konfigurationsdaten, Daten aus der Kommunikation der Ladesäulen mit anderen vernetzten Komponenten sowie Daten aus Ladetransaktionen können gewonnen und zusammengeführt werden. Die Herausforderung dabei ist, dass diese Daten in ihrer Qualität, im Volumen, in der Geschwindigkeit und Regelmäßigkeit des Eintreffens variieren können und meist heterogen im Format und ihrer Struktur sind. Sind, außer Daten aus einer großen Zahl an Datenquellen, auch noch jeweils große Datenmengen zu verarbeiten, handelt es sich um ein typisches Big-Data-Problem. Des Weiteren kann es erforderlich sein, Daten zu persistieren, um Erkenntnisse aus ihnen zu gewinnen und gleichzeitig eine Verarbeitung in Echtzeit anzubieten. Ein Analyse-System sollte daher auf einer geeigneten Architektur basieren. Eine System-Architektur, die beide Verarbeitungsformen unterstützt und häufig in Big-Data-Lösungen eingesetzt wird, ist die Lambda-Architektur.

Lambda: Eine mögliche Architektur für Predictive Analytics

Eine Lambda-Architektur besteht aus vier grundlegenden Schichten. Die Daten kommen zunächst im Data Ingestion Layer als unveränderliche Datensequenz an. Diese Schicht aggregiert Daten aus verschiedenen Quellen und macht sie den anderen Schichten verfügbar. Der Ingestion Layer reicht ankommende Daten parallel an den Speed Layer und den Batch Layer. Echtzeit-Daten werden nach Aussenden durch die Quelle über den Ingestion Layer an den Speed Layer weitergereicht und werden dort als einzelne Datenpunkte verarbeitet (Datenstrom-Verarbeitung).

Für Batch-basierte Analysen werden die Echtzeit-Daten vom Ingestion Layer an den Batch Layer übergeben, wo sie als Batches, eine Sammlung von Daten, zwischengespeichert und als Master Data persistiert und gegebenenfalls in regelmäßigen Abständen neu verarbeitet werden. Batch-Prozesse werden in Intervallen und normalerweise über einen längeren Zeitraum ausgeführt. Der Umfang der Daten entsteht üblicherweise während eines Zeitraums von wenigen Stunden bis Jahren. Wird der Speed Layer verwendet, um bestimmte Ereignisse (Events) aus einem Datenstrom zu filtern und sind diese Ereignisse auch für Batch-Analysen von Bedeutung, ist es sinnvoll, eine Schnittstelle zwischen Real-Time- und Batch-Komponente zu implementieren. Grundsätzlich kann jedoch, wenn dies sinnvoll erscheint, im Speed Layer und Batch Layer die gleiche Logik implementiert werden. Sowohl der Speed Layer als auch der Batch Layer reichen Daten weiter an den Serving Layer. In diesem werden alle verarbeiteten Daten gesammelt und stehen danach Anwendungen für Anfragen zur Verfügung.

Abb. 3: Die Lambda-Architektur

In der Regel werden im Speed Layer und Batch Layer verschiedene Ansichten (Views) auf die Daten implementiert. Die Kombination aller Views spiegelt den momentanen Gesamtzustand des Systems wider. Eine Anfrage erhält eine Komplettsicht auf die Daten, wenn sie sowohl die Batch Views als auch die Echtzeit-Views anfragt. Die Batch Views können mit komplexeren und ressourcenintensiveren Verfahren verarbeitet werden. Dadurch können Verzerrungen reduziert und die Datenqualität erhöht werden. Im Vergleich ermöglichen die Echtzeit-Views einen Blick auf die aktuellsten Daten.

Ein entscheidender Vorteil dieser Architektur ist, dass für dieselben eingehenden Daten über die Zeit verschiedene Views erstellt werden können, beispielsweise dann, wenn sich Analysen ändern. Ein Nachteil der Architektur ist, dass unter Umständen zwei unterschiedliche und potenziell komplexe Systeme programmiert werden müssen, um sowohl den Batch Layer als auch den Speed Layer zu implementieren. Jay Kreps stellt in seinem Artikel heraus, dass die Gefahr, bei Verwendung verteilter und umfangreicher Frameworks wie etwa Storm und Hadoop darin besteht, dass Code auf das jeweils verwendete Framework zugeschnitten wird. Eine potenzielle Schwachstelle der Lambda-Architektur sieht er darin, dass in manchen Anwendungsfällen Code mit derselben Logik sowohl in der Batch– als auch in der Speed-Komponente in unterschiedlichen Frameworks implementiert werden muss.

Als Alternative zur Lambda-Architektur empfiehlt Kreps daher einen weiteren Ansatz, die Kappa-Architektur, die unter Umständen besser für Echtzeit-Anwendungen geeignet ist und in seinem Artikel ausführlich beschrieben wird. Es gibt jedoch auch Technologien, über deren Implementierung beide Schichten gut integriert werden können. Beispielsweise Apache Spark kann sowohl die Echtzeit-Komponente (Spark Structured Streaming) und die Batch-Komponente (Spark SQL und Co.) bedienen. Obwohl Spark Structured Streaming näher betrachtet Datenströme nicht in Echtzeit verarbeitet (einen Datenpunkt nach dem anderen), kommt der implementierte Micro-Batching-Ansatz einer Echtzeit-Verarbeitung bezüglich der Latenz gleich. Ein einziges Framework zu verwenden, hat den Vorteil, dass dank Spark, Code mit derselben Logik nicht zweimal implementiert muss, wie dies bei der Nutzung unterschiedlicher Frameworks in beiden Schichten erforderlich werden kann.

In seinem Artikel fasst Michael Verrilli die Diskussion zur Verwendung einer der beiden Architekturen sehr gut zusammen: Für den Fall, dass die Echtzeit- und Batch-Analysen einander entsprechen, sollte die Kappa-Architektur verwendet werden, wenngleich eine Lambda-Architektur in vielen Fällen genügt. Wenn die Batch– und Echtzeit-Algorithmen jedoch sehr unterschiedliche Ergebnisse liefern, zum Beispiel dann, wenn im Batch-Layer maschinelle Lernverfahren, Experten-Systeme oder sehr ressourcenintensive Operationen berechnet und angewandt werden, ist die Lambda-Architektur die erste Wahl.

Mögliche Predictive-Analytics-Technologien

Die Lambda-Architektur eignet sich als Grundlage für Systeme, die beispielsweise Langzeittrends im Stromverbrauch anzeigen oder eine Echtzeit-Mustererkennung zur Identifizierung von Fehlerquellen in Prozessen umsetzen.

Wer mehr über die Lambda-Architektur erfahren möchte, insbesondere über Technologien, die sich eignen, um sie umzusetzen, findet einen ersten Anhaltspunkt auf der Webseite von Michael Hausenblas (Red Hat) und Nathan Bijnens (Microsoft). Wir bei MHP haben uns dazu entschieden, Kinesis für den Data Ingestion Layer zu verwenden. Um eine Cloud-unabhängige Lösung zu implementieren, kann alternativ zum Beispiel Apache Kafka verwendet werden. Für die Implementierung des Speed Layers haben wir uns für Apache Spark Streaming entschieden. Es eignet sich sehr gut für Datenstromverarbeitung in Echtzeit, hat eine solide Reife erreicht und ist leicht in der Bedienung und Programmierung. Mögliche Programmiersprachen sind Java, Scala, Python und R (über SparkR). Für den Batch Layer kann ebenfalls Apache Spark verwendet werden. Programmierbar in Java, Scala und Python und erweitert um beispielsweise Spark SQL, SparkR und SparkML wird Spark zu einem sehr mächtigen Tool, das sich hervorragend eignet, um verschiedene Stufen der Analyse zu realisieren.

Für den Serving Layer eignen sich diverse NoSQL (Not-only-SQL) Data Stores. Für Hadoop-basierte Echtzeit-Lösungen empfiehlt es sich, HBase zu verwenden. Wer JSON verarbeitet und ein dynamisches Schema braucht, ist mit MongoDB gut bedient. Graphdaten können in Neo4j gespeichert werden. Eine weiterführende strukturierte Übersicht zu möglichen NoSQL Data Stores haben beispielsweise O.S. Tezer und Felix Gessert erstellt. Aber auch klassische Data Stores wie PostgreSQL, das sowohl fixe als auch dynamische Schemata unterstützt, können genutzt werden. Data-Warehouse-Lösungen für den Serving Layer können (unter anderem basierend auf Hive) umgesetzt werden. Alternativen gibt es viele. Die Wahl eines geeigneten Data Stores hängt maßgeblich vom Format der Daten und den beabsichtigten Anfragen ab.

Zur Analyse der Daten stehen ebenfalls vielfältige Plattformen, Frameworks und Bibliotheken zur Verfügung. Python-basierte Analysen können beispielsweise mithilfe der Bibliotheken Pandas, scikit-learn, NumPy oder SciPy umgesetzt werden. Wer seine Analysen in R implementiert, kann Packages wie sparklyr (alternativ zu SparkR) für die Integration von Spark, rhbase für die Integration von Hadoop, insbesondere HBase und rmongo für die MongoDB-Integration nutzen. Ein beliebtes Framework zur Umsetzung von maschinellen Lernprozessen ist TensorFlow. Die Schnittstellen zum Nutzer sind ebenso vielfältig. Apache Zeppelin und Jupyter bieten interaktive Notebooks zur Visualisierung und Simulation von Daten. Wer Visualisierungen von Grund auf selbst implementieren möchte, sollte einen Blick auf D3, dimple.js, Chart.js und Highcharts werfen. Highcharts ist eine umfangreiche JavaScript Charting Engine, die sowohl privat als auch kommerziell genutzt werden kann, in letzterem Fall jedoch nicht kostenlos ist. Bei MHP visualisieren wir die Ergebnisse aus unserer Ladepark-Analyse in einem Angular-basierten Front-End mithilfe von Chart.js.

Abb. 4: Die Lambda-Architektur sowie mögliche Technologien

Der Markt bietet viele Tools zur Analyse von Daten. Wer die angebotenen Tools an einem realistischen Anwendungsfall erproben möchte, stößt nicht selten recht bald an die Grenzen der Funktionalität von Testumgebungen oder an seine eigenen in Bezug auf die Komplexität mancher Systeme. In so einem Fall ist es sehr hilfreich, eine Anwendung in kleinen Schritten prototypisch umsetzen zu können, jedoch mit der Flexibilität weitere Komponenten anzubinden, sobald Ressourcen hierfür frei werden. Nicht jeder Data Scientist kommt aus der Java- oder Scala-Welt, daher erweist sich eine prototypische Umsetzung der Datenanalyse mit Spark oft zunächst als schwierig und komplex. R bietet mit seinen zahlreichen Frameworks und über 12.000 Bibliotheken, gute Möglichkeiten, um Web-basierte Dashboards und ein API zu erzeugen, die in verteilten Anwendungen im produktiven Umfeld zum Einsatz kommen können.

Ein Framework, dass sich sehr gut eignet, um ein Analyse-System zu implementieren und dieses mithilfe einer API an ein vorhandenes Front-End anzubinden, ist OpenCPU. Dabei ist dieses Framework wenig komplex, bietet einen guten Einstieg und ist eine geeignete Alternative zu R Shiny, vorausgesetzt, das Dashboard-Layout wird selbst implementiert. Ein Docker Image ist verfügbar und kann beispielsweise auf einer AWS-EC2-Instanz ausgeführt werden. Je nach Speicherbedarf der verwendeten Bibliotheken, reicht hier eine kleine EC2-Instanz (small) aus. Ein benutzerdefiniertes API kann leicht erstellt werden. Zunächst werden anwendungsspezifische Funktionen in R implementiert. Diese werden in einem Package gespeichert, welches auf dem zustandslosen (stateless)) OpenCPU-Server installiert wird. Anschließend können die definierten Funktionen über einen HTTP Call aufgerufen werden. Auf dem OpenCPU-Server ist außerdem bereits eine Vielzahl von häufig genutzten R Packages installiert.

Durch die Umsetzung eines Analyse-Prototypen mithilfe der OpenCPU API, kann das Analyse-Team herausfinden und festlegen, welche Daten auf welche Art und Weise untersucht werden sollen, welche Ergebnisse zu erwarten sind und in welcher Form die Ergebnisse im Front-End angezeigt werden sollen. Voraussetzung für diese prototypische Umsetzung ist allerdings, dass man schon in etwa weiß, wie die Daten, die später im Serving-Layer ankommen werden, strukturiert sind.

Welche Kompetenzen ein Team braucht, um mit strukturierten, aber auch unstrukturierten Daten umzugehen, diese in einer passenden Architektur zu verarbeiten und dem Nutzer geeignet zu präsentieren, wird im folgenden Abschnitt betrachtet.

Kompetenzen

Mit der zuvor beschriebenen Auswahl an Verfahren, der Lambda- oder Kappa-Architektur und den oben genannten Technologien im Gepäck ist man für ein Datenanalyse-Projekt schon gut aufgestellt. Am wichtigsten ist jedoch ein passendes Team, das ausreichend Know-how zu allen Aspekten der Datenanalyse mitbringt. So braucht man unter anderem Data Engineers, die Rohdaten strukturieren und aufbereiten. Data Engineers sollten sich gut auf dem Gebiet der Extraktion von Daten aus verschiedenen Formaten (Bildern, Audio, Sensordaten etc.) auskennen und sollten verschiedene Data Stores befüllen und verwalten können. Erfahrungen im Bereich Information Retrieval und NoSQL (MongoDB, Cassandra, Redis, Neo4j usw.) sind hier besonders hilfreich.

Die eigentliche Analyse wird durch Data Scientists durchgeführt. Diese bringen vertieftes Wissen in statistischen Verfahren und bestenfalls maschinellem Lernen mit und wissen wie sie Erkenntnisse aus persistierten Daten, aber auch aus kontinuierlichen Datenströmen gewinnen können. Business Analysts finden in Kooperation mit den Data Scientists relevante Fragestellungen und unterstützen bei deren Priorisierung. Erfahrungen mit verschiedenen Cloud-Plattformen (AWS, Azure, DigitalOcean, IBM bluemix usw.) und der Analyse von Big Data spielen für die Arbeit von Data Scientists ebenfalls eine wichtige Rolle. Cloud Engineers stellen den reibungslosen Betrieb Cloud-basierter Anwendungen sicher und nehmen entsprechende Konfigurationen vor. Technische Architekten wählen einen geeigneten Implementierungsansatz, sorgen für saubere Schnittstellen und ein flexibles System, das mit dynamischen Daten und verteilten Analysen umgehen kann. Im besten Fall sind auch Solution Architekts Teil des Teams, die noch vor Beginn der eigentlichen Implementierung das nötige Wissen über spezifische Technologien in das Team bringen, den zu erwarteten Aufwand abschätzen und die Eignung des Ansatzes zur Umsetzung der Anforderungen bewerten. Web-Entwickler und UX-Designer sorgen für aussagekräftige und ästhetische Visualisierungen der Ergebnisse und implementieren nutzergerechte Interaktionsmöglichkeiten zur Exploration der Ergebnisse. Ein Team mit diesen Kompetenzen wird die Erkenntnisfähigkeit und somit den Wettbewerbsvorteil entscheidend ausbauen.

Fazit

Eine gute Analyse-Lösung sollte Funktionalitäten zur Verfügung stellen, die alle Stufen der Analyse abdecken, sollte Batch– sowie Echtzeit Verarbeitung anbieten und gut mit der Anzahl der Konsumenten skalieren. Sie sollte darüber hinaus ein Dashboard anbieten, das sowohl eine explorative Interaktion ermöglicht als auch verständliche Erklärungen für Phänomene zur Verfügung stellt. Wichtig ist zudem, ein Team aufzustellen, das Know-how über alle Schritte des Analyse-Prozesses sowie Architekturen und Technologien besitzt. In den nächsten Jahren werden weitere Themen ins Rampenlicht rücken. Ein Thema möchten wir von MHP besonders hervorheben: Explainable AI.

Künstliche Intelligenz und Maschinelles Lernen gewinnbringend einzusetzen ist eine Sache, die Lernprozesse und Entscheidungsgrundlagen für den Menschen nachvollziehbar und anwendungsbezogen darzustellen, ist jedoch mindestens genauso wichtig. Nur so verstehen auch die Endnutzer, beispielsweise Ladeparkbetreiber und Fahrer, die Erkenntnisse aus der Analyse ohne einen starken mathematischen Hintergrund besitzen zu müssen. Verständlichkeit von Analyseverfahren könnte daher, neben Komplexität und Erkenntnisfähigkeit, als weitere Dimension zur Beurteilung von Analyseverfahren herangezogen werden. Auch sie ist entscheidend für die Qualität und den Erfolg einer Lösung und sollte daher in Zukunft verstärkt bei der Implementierung von Systemen berücksichtigt werden.

Geschrieben von
Bettina Finzel
Bettina Finzel hält einen Master of Science in Angewandter Informatik. Sie ist Research Associate sowie Doktorandin am Lehrstuhl für Kognitive Systeme der Otto-Friedrich-Universität Bamberg. Bei MHP befasste sie sich mit der Implementierung von Predictive-Analytics Systemen.
Hans-Christian Sperker
Hans-Christian Sperker
Hans-Christian Sperker hält einen Master of Science in Wirtschaftsinformatik und begleitet bei MHP IT Projekte als Software-Engineer, Tech-Lead sowie Application Architect. Sein Fokus sind der Entwurf sowie die Umsetzung komplexer, verteilter Systemen.
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Machine Learning goes E-Mobility: Mit Datenanalyse die Elektromobilität vorantreiben"

avatar
4000
  Subscribe  
Benachrichtige mich zu:
Maciej Bednarz
Gast

Liebe Autoren,

das ist ein großartiger Artikel mit seltener Tiefe und ausführlicher Darstellung komplexer Sachverhalte. Ich würde mir gerne diesen lokal ausdrucken. Leider funktioniert das nicht unter Chrome. Gibt es ggf. eine PDF Version, die ich mir herunterladen könnte ?

Vielen Dank & beste Grüße,

Maciej A. Bednarz