NextLytics Blog

Wie Sie für die Zeitreihenanalyse Machine Learning einsetzen können

Geschrieben von Jasmin Franke | 18.02.2021 15:22:07

Prognosen und Vorhersagen zukünftiger Werte spielen in verschiedenen Unternehmensbereichen eine bedeutende Rolle um bessere und fundierte Geschäftsentscheidungen zu treffen. Für die Berechnung wird auch heute noch in vielen Unternehmen Excel genutzt. Im digitalen Zeitalter und zu Zeiten besonderer Umstände wie der aktuellen Corona-Pandemie, ist es umso dringlicher, anpassungsfähige, flexible und innovative Alternativen aus dem Machine Learning (ML) Bereich zu nutzen. Auf diese Weise lassen sich bestimmte Abhängigkeiten modellieren, Planungsprozesse unternehmensweit ein- und durchführen und damit die Fehleranfälligkeiten um ein Vielfaches reduzieren.

In diesem Artikel erfahren Sie, wo Zeitreihenprognosen (Time Series Forecasting) eingesetzt werden können, was automatisierte Zeitreihenprognosen bzw. Zeitreihenanalysen sind und wie die Vorhersagemodelle angewendet werden. Dabei werden sowohl Modelle vorgestellt, die Sie in ihrem ERP-System nutzen können als auch fortschrittliche Algorithmen, die in Python implementiert werden können.

Zeitreihenanalyse Machine Learning-Anwendungsfälle

Zu Beginn soll ein grober Überblick typischer Use Cases von Zeitreihenanalysen im Business Umfeld gegeben werden:

Cashflow- und Umsatzprognosen

Machine Learning steigert die Genauigkeit der Cashflow- und Umsatzprognose erheblich. Durch das Einbeziehen interner und externer Quellen kann das Investitionskapital verlässlich geplant werden.


Demand Forecasting

Auch um zukünftige Verkaufsmengen zu prognostizieren, werden historische Verkaufsdaten analysiert. Besonders unter Berücksichtigung zusätzlicher Informationen (z. B. Marketingaktivitäten), lassen sich frühzeitig Markttrends ermitteln und ermöglichen somit eine bessere Produktionsplanung.

Logistik & Supply-Chain:

Durch eine multidimensionale Vorhersage des dynamischen Verbrauches oder Verkaufes können notwendige Bestellungen frühzeitig und bedarfsgerecht aufgegeben werden. Die Prozesskette erfährt einen erheblichen Zeitgewinn.

Mitarbeiterfluktuation und Personalplanung:

Der ideale Einsatz des Personals lässt sich ebenfalls durch Zeitreihenvorhersage optimieren. Dabei werden beispielsweise Merkmale wie Anfragevolumen und Nachfrageentwicklung in ihrem zeitlichen Verlauf betrachtet.

 
Diese Auswahl an Use Cases kann um ein Vielfaches erweitert werden, denn Zeitreihenanalysen können überall dort genutzt werden, wo es historische Daten über die Zeit gibt. Das Zeitintervall (stündlich, täglich, monatlich) kann dabei flexibel gewählt und angepasst werden.

Was bedeutet Automatisiertes Forecasting? 

Der Begriff Zeitreihe stammt aus der Mathematik und beschreibt den zeitlichen Verlauf von Beobachtungen bzw. Messgrößen. Die Vorhersage der zukünftigen Werte einer Messgröße basierend auf der vorhandenen Zeitreihe d.h. mittels historischer Daten, wird als Zeitreihenanalyse bzw. Zeitreihenprognose (Time Series Forecasting) bezeichnet. Wie bei den meisten ML-Verfahren ist der Datenumfang auch hierbei ein entscheidender Faktor und gehört zu den typischen Fallstricken. Die vorhandenen Daten werden in Trainings- und Testdaten unterteilt. Bei Zeitreihenprognosen bilden die Trainingsdaten i. A. die frühesten vorhandenen Daten und die Testdaten die spätesten um eine Prognose zu simulieren. Ein Modell lernt aus den Trainingsdaten bestimmte Eigenschaften wie z. B. Saisonalitäten, Trends und Feiertagen. Um die Genauigkeit zu ermitteln wird das Modell dann auf bekannten Testdaten getestet. Zur Optimierung der Genauigkeit können die Parameter entsprechend angepasst werden.

Es gibt verschiedene mathematische Modelle die eine Zeitreihe beschreiben und welche durch unterschiedliche Parameter beschrieben werden. Ein klassisches Modell ist z. B. das sogenannte ARIMA Modell. ARIMA(p, d, q) steht für Auto-Regressive (AR) Integrated (I) Moving Average (MA) und wird jeweils durch die drei Parameter p, d und q beschrieben.
Beim
klassischen Forecasting müssen die Parameter mithilfe verschiedener Verfahren bestimmt werden, wie z. B. die Berechnung und Visualisierung der Autocorrelation und Partial Autocorrelation Function (ACF/PACF).

So wurde beispielsweise mithilfe intensiver Analysen und Transformationen für einen Beispieldatensatz zu Fluggästen mit dem ARIMA(2,1,2) Modell folgende Vorhersage modelliert:

https://www.kaggle.com/freespirit08/time-series-for-beginners-with-arima

Beim automatisiertem Forecasting hingegen generiert das Modell selbst die optimalen Parameterwerte, um eine bessere Vorhersage zu erreichen. Dies ermöglicht den Nutzern schneller und einfacher verschiedene Modelle miteinander zu vergleichen und damit das Beste aus seinen Daten zu holen. Dazu gibt es für verschiedene Technologien z. B. die Auto-ARIMA Funktion, wobei p, d und q automatisiert bestimmt werden. Ein weiteres bekanntes Tool für die automatisierte Zeitreihenprognose ist der von Facebook entwickelte Framework Prophet, welcher sich besonders für Zeitreihen mit starken saisonalen Effekten eignet.

Weitere Varianten des automatisierten Forecastings sind beispielsweise:

  • Automatische Auswahl des am besten geeigneten Algorithmuses:
    Es werden automatisiert verschiedene Zeitreihen-Modelle nach verschiedenen Kriterien und Fehlermaßen getestet und jenes, welches am besten zu den Trainingsdaten passt, wird gewählt.
  • Automatisiertes Feature engineering:
    Aus den Daten werden die wichtigsten Informationen gezogen aus denen neue Features (Spalten einer Datenmatrix) generiert werden. Dazu zählt beispielsweise die Information, ob es sich bei einem bestimmten Tag um einen Feiertag handelte. Außerdem können fehlende Werte automatisch mit geeigneten Werten ersetzt werden.

Wir wird es angewendet?

Prognosen können über verschiedene Tools erstellt werden. In diesem Artikel haben wir Ihnen beispielsweise eine Übersicht gegeben, wie Sie Vorhersagen mit SAP Analytics Cloud (SAC) generieren. Auch andere ERP-Systeme wie Microsoft Dynamics bieten die Möglichkeit des Forecastings. Der Nachteil bei den meisten Tools mit der Funktion der Zeitreihenprognose ist jedoch, dass meist nur eine geringe Anzahl von Algorithmen zur Verfügung stehen, kein Parameter-Tuning möglich ist und sich die Modelle schwer nachvollziehen lassen. Sogenannte Black Box Modelle erschweren die Interpretierbarkeit der Resultate und erhöhen möglicherweise Fehlinterpretationen der Ergebnisse und damit die Fehleranfälligkeit.

Wie Sie SAP BW und State of the Art Machine Learning zusammenbringen 

Forecasting mit der SAP HANA Predictive Analysis Library (PAL)

Einen Kompromiss für die Prognose im SAP Ökosystem liefert die SAP HANA PAL. Hier steht dem Nutzer eine deutliche höhere Anzahl an Algorithmen zur Verfügung, sowie verschiedene Möglichkeiten zur Zeitreihenanalyse. Eine ausführliche Dokumentation und theoretische Grundlagen zu jedem Modell ermöglichen mehr Klarheit und Nachvollziehbarkeit.
Wenn Sie mehr über die Funktionen der PAL erfahren möchten legen wir Ihnen unseren
Übersichtsartikel ans Herz.

Doch auch die PAL hat Nachteile, welche nicht unterschätzt werden sollten. Zum einen ist auch hier die Anzahl der Algorithmen begrenzt und zum anderen ist die Anwendbarkeit nicht intuitiv und die Benutzerfreundlich durchaus ausbaufähig.

Forecasting mit Python

Möchten Sie mit fortschrittlicher künstlicher Intelligenz arbeiten, führt jedoch kein Weg an klassischer Programmierung vorbei. Programmiersprachen wie beispielsweise Python bieten eine der besten Möglichkeit zur automatisierten Zeitreihenprognose.
Verschiedenste Bibliotheken (z. B.
fbprophet und pmdarima) werden bereitgestellt, sodass beispielsweise Prophet und Auto-ARIMA innerhalb kürzester Zeit implementiert und ausgeführt werden können. Durch ausführliche Dokumentationen und verschiedensten Veröffentlichungen lassen sich hierbei die Funktionen gut nachvollziehen.
Eine weitere erwähnenswerte Bibliothek ist
tsfresh. Es ist in der Lage hunderte Features automatisiert aus einer Zeitreihe zu extrahieren und das Forecasting Problem so zu einem Regressionsproblem zu transformieren. Nun können verschiedene performance-starke Regressionsmodelle verwendet werden, um zukünftige Werte vorherzusagen.
Eine der neuesten Bibliotheken, welche ebenfalls tsfresh als auch Gradient Boosting nutzt, ist atspy (Automated time series in python). Mit nur einem Befehl können mehrere Zeitreihenmodelle angewendet und sogar kombiniert werden. Die Bibliothek erschien erst letzten Jahres und wird stetig weiterentwickelt, verspricht dem User jedoch eine signifikante Reduzierung bei der Modellentwicklung.

Zeitreihenanalyse - Unser Fazit

Prozessautomatisierung bringt viele Vorteile mit sich: bisherige manuelle Arbeit wird ersetzt, wiederholende Aufgaben werden automatisiert und die Produktivität wird erhöht. Diese Vorteile lassen sich optimal für Vorhersagen jeglicher Art und in verschiedensten Unternehmensbereichen nutzen. Im Gebiet des automatisierten Forecastings gibt es stetig Weiterentwicklungen und neue Updates. Besonders im Python-Umfeld scheint es laufend neue innovative Entwicklungen und Bibliotheken zu geben, sodass die Implementation über Python dem Business-User eine hervorragende Prognosegüte liefern kann. Jedoch ist das Erlernen einer Programmiersprache mit Zeitaufwand verbunden. Bevor man jedoch direkt auf sein ERP-System wechselt, empfehlen wir, sich die verschiedenen Algorithmen der SAP HANA PAL anzuschauen, deren hohe Prognosegüte sich aus eigener Erfahrung und Produktivsetzung bestätigen lassen.
In unserem Whitepaper
“SAP BW und State of the Art Machine Learning” beleuchten wir neben der SAP HANA PAL weitere Ansätze, Machine Learning und SAP BW zusammenzubringen. Außerdem wird ein Open Source unterstützter Ansatz auf Basis des NextLytics Python Software Development Kits (NLY-SDK) vorgestellt und wir geben klare Empfehlungen, wie Sie gewinnbringende Vorteile aus Ihren Daten herausholen können.