Advanced Analytics mit der SAP HANA Predictive Analysis Library

Wer Algorithmen zur Verbesserung von Forecast-Prozessen oder Anomalie-Identifizierung einsetzen will, braucht als SAP HANA-Nutzer keine teure Machine-Learning-Software zu erwerben oder Datenbankschnittstellen zu errichten. Dank der Predictive Analysis Library (PAL) lassen sich Advanced Analytics Anwendungen direkt auf der SAP HANA Datenbank durchführen.

Advanced Analytics mit der SAP HANA Predictive Analysis Library

Analytics nativ auf der Datenbank mit HANA-In-Memory-Power

Die PAL ist ein Bestandteil der Application Function Library (AFL) und ermöglicht die Nutzung von populären Machine Learning Algorithmen, um beispielsweise Prognosen zu erstellen. Der große Vorteil besteht darin, dass die Daten direkt dort, wo sie entstehen oder gehalten werden (z.B. imSAP ERP System S/4HANA oder im BW/4HANA bzw. on HANA​​​​​​​), mit den Algorithmen analysiert werden können. Dies reduziert der Umfang aufwändiger ETL-Prozesse deutlich. Insbesondere bei der Nutzung von Transaktionsdaten auf Belegebene entstehen üblicherweise schnell riesige Datenmengen, die nun nicht mehr über Schnittstellen oder gar manuelle Exports erst an Analytics-Tools weitergereicht werden müssen.

Der zweite große Vorteil der Predictive Analysis Library liegt in der Rechenleistung, über die HANA-Datenbanken in der Regel verfügen. Bedingt durch die In-Memory-Architektur sind HANA-Datenbanken meist mit mehreren Hundert Gigabyte oder sogar Terabyte Arbeitsspeicher ausgestattet. Dies ermöglicht kurze Kalkulationszeiten selbst bei rechenintensiven Algorithmen wie Random Forests mit Tausenden Entscheidungsbäumen und einer Vielzahl von Variablen. Im Gegensatz zur anderen SAP onPremise Advanced Analytics Lösung (SAP Predictive Analytics) entstehen bei der Nutzung der HANA PAL keine zusätzlichen Lizenzgebühren. Dafür wird im Gegenzug eine größere Expertise hinsichtlich der analytischen Funktionen vorausgesetzt.

Modeling mittels Flowgraphs oder Scripting

Das Modellieren geschieht entweder im HANA Studio oder über die Web IDE im Browser. Während die Analytics Modelle in HANA 1.0 mittels Wrapper Procedures geschrieben werden müssen, bietet HANA 2.0 nun die Möglichkeit Flowgraphs im Web-basierten Modeler zu verwenden. In Flowgraphs werden einzelne Funktionen als graphische Objekte dargestellt und miteinander verbunden. So entsteht ein Flussdiagramm, das den Weg der Daten durch die einzelnen Prozessschritte und Algorithmen abbildet. Die Funktionen werden aus einem Repository per Drag & Drop eingefügt und verfügen über Eingabefelder für die anzupassenden Parameter. Die notwendigen Procedures und Tabellen werden im Hintergrund automatisch angelegt. Je nach Anwendungsfall kann auf diese Weise sogar ganz auf das Schreiben von Code verzichtet werden.

Beispiel für die Nutzung von Flowgraphs zur Modellierung

Beispiel für die Nutzung von Flowgraphs zur Modellierung

Alternativ können die Modell-Parameter und zu nutzenden Tabellen auch weiterhin per SQL definiert und die gewünschten vorgefertigten Funktionen per Call aufgerufen werden.

Auszug aus SQL-Code zur Modellierung mittels Decision Tree Algorithmus

Auszug aus SQL-Code zur Modellierung mittels Decision Tree Algorithmus

Zurückschreiben der Ergebnisse direkt in die HANA Datenbank

Nachdem die Daten den angelegten Prozess im Analytics Model durchlaufen haben, werden die Ergebnisse in (neue) HANA Tabellen geschrieben. Angenommen man erstellt ein Cash Forecasting Modell, welches auf Basis von ERP-Auftrags- und Rechnungsdaten Prognosen zum Zeitpunkt von Geldeingängen liefern soll. Nachdem die Daten aus den entsprechenden ERP-Tabellen und Views ausgelesen und aufbereitet wurden, berechnet das Advanced Analytics Modell für die nächsten Tage einen Forecast für den jeweiligen Gesamt-Geldeingang. Dieser Forecast wird in einer HANA-Tabelle abgelegt. Somit können die Reporting-Tools auf die Ergebnisse zugreifen und diese visuell ansprechend aufbereitet in Cash Management Reports darstellen. Da sich der gesamte End-to-End-Prozess automatisieren lässt, kann der Forecast jederzeit mit aktuellen Daten neu erstellt werden – entweder per Knopfdruck oder z.B. als Job, der jede Nacht durchgeführt wird.

Standardalgorithmen werden durch R-Integration und die External Machine Learning Library (EML) erweitert

In der PAL sind die populärsten Algorithmen wie Decision Trees, Random Forests, Naive Bayes, Support Vector Machines, Multiple Lineare Regression, K-Means Clustering oder Back Propagation Neural Networks zu finden. Darüber hinaus kann auf verschiedene Zeitreihenanalyse-Modelle wie ARIMA oder Exponential Smoothing zurückgegriffen werden. Die Algorithmen-Parameter lassen sich mittels Parameter-Tabellen justieren.

Für den Fall, dass sehr spezielle Einstellungen notwendig sind oder der gewünschte Algorithmus nicht im PAL-Repository vorhanden ist, können über eine R-Integration oder die External Machine Learning Library (EML) die schier unbegrenzten Möglichkeiten der Programmiersprache R oder sogar Tensorflow-Modelle für Deep Learning genutzt werden. Außerdem ist eine HANA-Python-Verbindung möglich. Mittels Datenbank-Konnektoren (wie pyHDB oder pyodbc) können in Python geschriebene Analytics-Anwendungen auf Daten in den HANA-Tabellen zugreifen und die Ergebnisse auch wieder dorthin zurückschreiben.

HANA PAL vereinfacht und beschleunigt den Advanced Analytics-Prozess 

Analytics-Prozesse wie Kunden-Segmentierungen, Anomaly Detections oder Forecasts können mit Hilfe der HANA Predictive Analysis Library vereinfacht und vor allem beschleunigt werden – dies gilt insbesondere für Unternehmen, die bereits SAP ERP oder SAP BW Applikationen auf HANA Datenbanken einsetzen. Die Automatisierungsfunktionen sowie die Integration von R und die Schnittstellen und Konnektoren zu Tensorflow und Python ermöglichen überdies ein breites Spektrum an Anwendungsszenarien und Use Cases.

Bei Fragen zu den Einsatzmöglichkeiten der HANA Predictive Analysis Library steht das verovis-Team gerne als kompetenter Ansprechpartner zur Verfügung.

Malte Riedesel
Malte Riedesel
10 October, 2018
reporting & analytics