arrow arrow--cut calendar callback check chevron chevron--large cross cross--large download filter kununu linkedin magnifier mail marker menu minus Flieger phone play plus quote share
https://xkcd.com/605/
Quelle: https://xkcd.com/605/

Time Series Analyse

Möglichkeiten, Vorgehen, Grenzen

Insgesamt 4,1 Millionen Tonnen Lebensmittel entsorgt die deutsche Lebensmittelindustrie (Produktion, Verarbeitung, Groß- und Einzelhandel) jedes Jahr. Das ist wenig nachhaltig und zudem kostenintensiv. Durch eine bessere Vorhersage von Absatz und Nachfrage ließe sich Überproduktion reduzieren und dabei auch noch Kosten sparen. Derartige Prognosen sind eines der Anwendungsfelder von Time Series Prediction. Die Technik basiert auf der Analyse vergangener Zeitreihen und deren Prognose in die Zukunft. 

In der Praxis werden derartige Prognosen häufig manuell erstellt und stark abstrahiert, denn eine manuelle Absatzprognose für z.B. 100 Filialen zu je 1000 Artikeln ist sehr anspruchsvoll. So werden Forecasts beispielsweise auf Ebene von Artikelgruppen oder auf Region durchgeführt, obwohl granulare Daten verfügbar wären.

Dieser Blogartikel soll einen Überblick über Machine Learning Methoden geben, die für komplexe Zeitreihenanalysen zur Verfügung stehen und einen Eindruck davon vermitteln, was deren Möglichkeiten und Grenzen sind. Die dargestellten Methoden sind dabei selbstverständlich nur eine Auswahl der vielen Ansätze, die sich und die folgenden Kategorien unterteilen lassen: 

  • Naive Verfahren
  • Statistische Verfahren
  • Klassisches Machine Learning
  • Neuronale Netze
Foto von Christian Schmitz
Christian Schmitz

Senior BI Consultant

Charakteristika einer Zeitreihe

Im Folgenden dienen die fiktiven Verkaufszahlen von Schokoladenosterhasen der vergangenen Jahre als Beispiel. Aus diesen Daten soll die Absatzmenge für das gesamte Jahr bestimmt werden. Allerdings nicht für die ganze Saison, sondern nur für die letzten 40 Tage vor Ostern. Die Hoffnung ist, dass ein gutes Modell in der Lage ist, mit den Daten vom Saison-Beginn (01.01.2022 – 07.02.2022) und unter Zuhilfenahme der Verläufe früherer Jahre die Absätze in der heißen Phase vorherzusagen. Und zwar auch dann, wenn sich der Verkaufstrend von letzter zu dieser Saison geändert hat. 

Möglich wird die Prognose von Zeitreihenwerten durch das Erkennen ihrer Charakteristika und deren anschließender Fortschreibung in die Zukunft.  Ein erstes Zeitreihenmerkmal wäre der Verkaufstrend der letzten Jahre (also ob die Osterhasenverkäufe über die Jahre zunehmen, abnehmen oder stagnieren). Dieser Trend ist das langfristigste Signal einer Zeitreihe und weist die geringste Bewegung auf.

Ein zweites Merkmal wäre die – in diesem Fall extrem ausgeprägte – Saisonalität der Verkäufe, die sich aufgrund des wandernden Osterdatums natürlich von Jahr zu Jahr verschiebt. Jedes periodisch wiederkehrende Muster wird als Saisonalität bezeichnet. Sie können stündlich, monatlich, jährlich auftreten, wie im Beispiel von Feiertagen abhängen oder auch von wiederkehrenden menschlichen Verhaltensmustern. Beispielsweise ist für den Absatz von Winterjacken nicht allein die Tatsache ausschlaggebend, dass meteorologisch gesehen Winter ist, sondern auch wie früh bestimme Temperaturschwellen unterschritten werden und wie tief sie fallen.

Trend und Saisonalität lassen sich mittels statistischer Verfahren erkennen und von der Gesamt-Zeitreihe abziehen. Übrig bleibt ein Rest. Ist dieser klein, erklären Trend und Saisonalitäten die Entwicklung einer Zeitreihe. Ist er es nicht, steht uns weitere Arbeit ins Haus. Es könnte sich um chaotische Anomalien der Zeitreihe handeln; möglicherweise fehlen aber auch Daten, welche die Entwicklung erklären können.

Beispielhafte Verläufe von Originaldaten bzw. deren Trend, Saisonalität und des Restes
Beispielhafte Verläufe von Originaldaten bzw. deren Trend, Saisonalität und des Restes

Die Daten

Die fiktiven Osterhasen-Verkaufsdaten bestehen zunächst nur aus zwei Spalten:

Time Series Analyse Abb. 3
  1. Verkaufsmenge pro Tag
  2. Verkaufsdatum

Es liegen Daten für fünf Jahre vor. Die Verkäufe der Osterhasen beginnen jeweils am ersten Februar, steigen bis Ostern an und fallen anschließend abrupt ab. Die Verkäufe an Sonntagen sind jeweils erheblich geringer als die Verkäufe an den übrigen Wochentagen.

Beim Trainieren eines Machine-Learning-Modells benötigen wir eine Trainings- (blau) und eine Testperiode (orange). Das Modell bekommt also nur den blauen Teil der Daten gezeigt. Nach dem Training soll es dann die orangene Testperiode vorhersagen. Die Abweichung zwischen der Vorhersage und Testdaten gibt Auskunft über die Qualität unseres Modells. Unser Modell kann also vier der fünf Jahre zum Training nutzen.

Features

Der Time Series Analyse hilft es, den beiden initialen Spalten Verkaufsdatum und Verkaufsmenge weitere Spalten zur Seite zu stellen: sogenannte Features. Standardmäßig teilen wir das Datum in Wochentag, Monat, ggf. Stunden und Minuten auf und fügen Feiertage hinzu. Im spezifischen Osterfall fügen wir eine Countdown-Spalte hinzu, welche die bis Ostern verbleibenden Tage herunterzählt.

Auszug aus den Trainingsdaten
Auszug aus den Trainingsdaten

Auch die Verkaufsmenge nutzen wir zum Erzeugen weiterer Features, beispielsweise des gleitenden Absatzdurchnitts pro Kalenderwoche. Denkbar wären auch Features, die z.B. Aufschluss über den Konjunkturzyklus geben und helfen, den Trend vorherzusagen oder Features (die in diesem Fall keinen Anwendungen finden) wie Verkaufspreise, potenzielle Werbekampagnen und vieles mehr. Kurzum: alle Daten die einer hohen Prognosegenauigkeit potenziell dienlich sind. Inwieweit sie dies tatsächlich sind, lässt sich später mittels Feature Importance- und Korrelations-Analysen testen. 

Naiver Ansatz Zeitreihenanalyse

Manuelle Prognose (Naiver Ansatz)

Machine Learning nutzt mathematische Modelle, um möglichst genaue Prognosen zu erzielen. Ein häufig gewählter alternativer Ansatz ist die Annahme, dass sich das zu prognostizierende Jahr ähnlich oder gleich dem Vorjahr verhält.

Im Bild ist zu sehen, dass die Vorjahresdaten einfach ins aktuelle Jahr kopiert wurden. In diesem Beispiel wurde auch darauf verzichtet, dass wandernde Osterdatum (04.04.2021 bzw. 17.04.2022) zu berücksichtigen, was sich entsprechend im Diagramm zeigt. Ein nützliches Time Series Modell muss die Genauigkeit eines solch schlichten Vorjahresvergleiches deutlich übertreffen!

Modelle – Keep it simple! If you can!

Der Times Series Analyse steht eine große Palette an Modellen zur Verfügung, die in unterschiedlichen Anwendungsfällen sinnvoll sind. Es beginnt bei linearer Regression und reicht bis zu modernen neuronalen Netzen. Bei der Modellauswahl empfiehlt es sich, zunächst nicht mit (Laser-)Kanonen auf Spatzen zu schießen, sondern simpel zu beginnen und zu schauen, wie hartnäckig die Spatzen sind.

lineare Regression

Lineare Regression

Eines der einfachsten Modelle ist die aus dem Mathematikunterricht bekannte Lineare Regression. Sie erzeugt eine Regressiongerade und versucht diese möglichst gut an die Eingabewerte anzupassen. Da die Osterhasenverkäufe in keiner Weise linear sind, versagt das Modell völlig. Es ist mit der Komplexität der Daten restlos überfordert. Die niedrigen Werte der Prognosegerade ergeben sich aus dem Umstand, dass die Trainingsdaten auch alle Werte nach Ostern beinhalten. Diese sind größtenteils null, dafür aber zahlreich. Auf einem modernen Laptop betrug die Berechnungszeit dieses Models der Linearen Regression etwa 0,5 Sekunden. Die Erkenntnis, dass es nutzlos ist, stellt sich also immerhin sehr schnell ein.

Wochendurchschnitt

Ein weiterer einfacher Ansatz ist die Berechnung eines Durchschnitts der Wochenverkäufe aus den letzten vier Jahren. Also z.B. die Summe der Verkäufe in der Woche vor Ostern geteilt durch 4 Jahre Anzahl.

Wochendurchschnitt Daten

Das Ergebnis ist in diesem Fall etwas besser als reine Vorjahresvergleich. Das muss natürlich nicht jedes Jahr so sein. 

Wochendurchschnitt

XGBoost

Seit dem Aufkommen der linearen Regression im Jahre 1805 wurden schrittweise verbesserte Regressionsverfahren entwickelt. Dieser Prozess hält bis heute an und führt regelmäßig zu Innovationen. Eine Entwicklung aus dem Jahr 2014 ist das XGBoost-Modell, welches weite Teile der Entwicklung der letzten 200 Jahre in sich vereint.

XGBoost

Im Training betrachtet das Modell sämtliche verfügbaren Daten und analysiert selbstständig deren Abhängigkeiten: Haben beispielsweise bestimmte Wochentage Auswirkung auf die Verkäufe? Lässt sich erkennen, dass Verkäufe im März höher sind als im Februar? Bestehen starke oder schwache Korrelationen zu den Verkäufen der Vorwoche? Wie hoch ist die Aussagekraft eines Vorjahres für sein Folgejahr? Und so weiter und so weiter …

Die im Vorfeld bereitgestellten Features bestimmen dabei  über die Abhängigkeiten, die untersucht werden können. Über deren Bereitstellung nehmen wir Einfluss auf die Zusammenhänge, die das Modell finden kann. So lernt das Modell beispielsweise, dass es einen starken Zusammenhang zwischen der Absatzmenge und der Anzahl der bis Ostern verbleibenden Tage gibt. Ein Zusammenhang, der für Menschen offensichtlich ist. Offensichtlich oder nicht offensichtlich  ist für das Modell jedoch kein Konzept. Es prüft sämtliche mögliche Verbindungen mit der gleichen Sorgfalt und findet auch solche, die Menschen entgehen.

XGBoost 2

Wenn wir nach Abschluss des Trainings eine Prognose erzeugen lassen, wird diese für jeden Tag einzeln erstellt. Daher kann die Prognose für Ostersamstag sehr hoch sein und die für Ostermontag sehr niedrig. Bei der linearen Regression wären die Ergebnisse der beiden Tage zwangsläufig nah beieinander. XGBoost liefert jedoch keine Funktion zurück, sondern individuelle Vorhersagen für jeden Tag. Das Ergebnis ist eine Zick-Zack-Kurve, die auf starke Wertschwankungen reagieren kann und nicht mehr den Einschränkungen von Geraden oder Kurven unterliegt.

Die Prognosegenauigkeit am letzten Tag ist praktisch exakt korrekt, in den Vortagen jedoch weniger genau. Insgesamt zeigt sich jedoch ein gutes Ergebnis. Dieses Modell war innerhalb von 7 Sekunden berechnet. Die Rechenintensivität steigt mit zunehmender Komplexität an, bleibt jedoch auch bei größeren Modellen in einem Rahmen, den ein modernes Laptop bewältigen sollte.

Neuronale Netze

Neuronale Netze

Neuronale Netze sind die Laserkanone unter den Machine-Learning-Modellen. Bekannte Einsatzgebiete sind beispielsweise Objekterkennung auf Bildern, Bildgenerierung anhand von Texteingaben oder die Steuerung mehr oder minder selbstfahrender Autos. Sie sind gut darin, Muster in gewaltigen Datenbergen zu erkennen. Daher können sie auch bei Zeitreihenproblemen eingesetzt werden.

Allerdings brauchen neuronale Netze für ein erfolgreiches Training sehr viele Datensätze. Mehr Datensätze, als in unserem Beispiel zur Verfügung stehen. Beim Training vergleichen sie, anders als klassische Modelle, alle Datenpunkte untereinander und versuchen, prognoeserelevante Zusammenhänge aufzudecken. 

Neuronale Netze Zoom

Bei der Prognose der Osterhasenverkäufe liefert das eingesetzte Neuronale Netzwerk ebenfalls ein gutes Ergebnis. Zwar weicht es an den letzten beiden Tagen stärker ab als XGBoost, davor jedoch nicht. Die Trainingszeit beträgt 9 Minuten und 10 Sekunden. Für sich betrachtet ist das immer noch schnell, aber trotzdem 78 Mal so lang wie XGBoost. Zudem ist der Osterhasen-Datensatz im Vergleich zu realen Datensätzen sehr überschaubar. In einem realistischen Szenario entstehen schnell extreme Trainingszeiten und damit auch Kosten. Mit klassischen Verfahren kann meist schnell ein Training durchgeführt und getestet werden, wie das Modell auf Änderungen reagiert und ob es besser oder schlechter als sein Vorgänger ist. Bei komplexen neuronalen Netzen ist das gleiche Vorgehen kostspielig und langwierig. Diese Aspekte sollten beim Einsatz Neuronaler Netze in der Zeitreihenanalyse berücksichtigt werden. 

Fazit

Time Series Analysen erkennen Trends, Trendwenden und auch komplexe Saisonalitäten. Dadurch ermöglichen sie Prognosen mit hoher Genauigkeit. Moderne Analysemethoden entdecken Regelmäßigkeiten, die einem menschlichen Betrachter entgehen und sind in der Lage, Datenmengen sinnvoll zu nutzen, die eine manuelle Analyse überfordern. Durch Erweiterung der Datenbasis um bisher ungenutzte Datentöpfe wie beispielsweise Werbekampagnen lässt sich die Prognosegenauigkeit weiter erhöhen.

Time Series Analyse liefert akkurate Ergebnisse, kann aber nicht hellsehen. Ereignisse, auf die es in den analysierten Daten keine Hinweise gibt, können nicht vorhergesagt werden. Unerwartete geopolitische Schocks entziehen sich der Prognose. Die Weiter-Projektion von Aktienkursen scheitert daran, dass die Information über den zukünftigen Wert nicht in den vergangenen Wert enthalten sind. 

Gegenüber Prognosen, die auf einen manuellen Vorjahresvergleich oder eine aggregierte Datenbasis setzen, bieten Machine Learning Verfahren verbesserte Genauigkeit, höhere Granularität und Erkennung von Trendwenden, die ihre Schatten – versteckt in Millionen von Datenpunkten – bereits vorauswerfen.