KI-Projekt: Entwicklung einer Vorhersage der Verkaufsleistung zur optimalen Lagerhaltung für Logistik

alt
Muhammad Saleem
  • Autor
    Muhammad Saleem
  • Datum
    25.08.2021

Inhaltsverzeichnis

  1. Einleitung

  1. Datensätze

  1. Projektphasen

  1. Methoden

  1. Ergebnisse

Die Vorhersage (Forecast) der Verkaufsleistung ist einer der wichtigsten Anforderungen an ein Unternehmen. Um das richtige Produkt zum richtigen Zeitpunkt anbieten zu können, müssen Unternehmen die Wünsche ihrer Kunden verstehen und vorhersagen. Das Vorhersagen der Nachfrage hilft dem Lager bei der Verwaltung der Produkte. Diese Prognose spielt eine wichtige Rolle bei der Entscheidungsfindung, insbesondere in einem wettbewerbsorientierten Marktumfeld wie in der Branche Foodservices.

Unternehmen wie DHL arbeiten seit letztem Jahr bereits mit einem KI-basierten Tool zur Optimierung der Logistik von Online-Händlern. Wir von Ventzke Media haben für einen Kunden aus dem Bereich Foodservices in einer 12-monatigen Projektphase ein Machine Learning (ML) basierten Algorithmus entwickelt. In diesem Artikel möchten wir die technischen Möglichkeiten und Methoden erklären, die für die Entwicklung eines individuellen Prognose-Tools verwendet werden können.

1. Einleitung

Um eine reibungslose Produktionslinie für jedes Produkt zu gewährleisten ist es notwendig, richtige Entscheidungen zu treffen und Pläne für zukünftige Veranstaltungen zu erstellen. Die Wirksamkeit einer vom Lagerverwalter getroffenen Entscheidung hängt von der Genauigkeit der Prognose des Trends der Produkte und seiner Nachfrage auf dem gesamten Markt ab. Die Vorhersage der Nachfrage reduziert ebenfalls das mit den Geschäftsaktivitäten verbundene Risiko. Dadurch ist es leichter, effiziente Entscheidungen zu treffen. Eine gute Prognose, die den Bedarf von Produkten bestimmt, hilft außerdem bei der Kapazitätsplanung und der Verwaltung des Inventars.

Der Erfolg einer Organisation hängt von der Fähigkeit ab, zukünftige Möglichkeiten zu analysieren und die Trends zu verstehen, so dass zum richtigen Zeitpunkt geeignete Maßnahmen ergriffen werden können. Prädiktive Analysen (Verwendung historischer Daten, um zukünftige Ereignisse vorherzusagen) spielen eine wesentliche Rolle, um zukünftige Aktionen risikogerecht zu planen und zu unterstützen, sowie Chancen zu sehen und zu ergreifen. Das Ergebnis der prädiktiven Analyse wird verwendet, um Muster und Trends zu erkennen. Die Genauigkeit der Analyse hängt von der Komplexität der Daten ab. Um ein erfolgreiches Modell der Vorhersage zu haben, müssen viele Faktoren berücksichtigt werden, bevor mit der Analyse begonnen werden kann.

2. Datensätze

Um den Prozess der Effizienzverbesserung der Bestandsverwaltung zu verbessern wurde der folgende Datensatz unseres Kunden gesammelt, um eine Vorhersage zu modellieren.

Der Datensatz enthält zum Teil Details aus mehreren Regionen, die Details zum Produkt für die letzten Jahre enthalten. Das Ziel der Aufgabe besteht darin, die Verkäufe jedes Produkts im Datensatz für zukünftige Verkaufswerte zu prognostizieren.

Bereitgestellte Teiledaten für Produktdetails des Kunden

Feature Beschreibung


Teile Nr. eindeutige Identifikationsnummer des Produkts


Datum Datum des aufgezeichneten Datenpunktes


Qty Verkäufe für einen bestimmten Monat


Teiletyp Typ des Produkts


Teil desc Kurze Beschreibung des Produkts


Vorlaufzeit Latenzzeit zwischen der Einleitung und der Ausführung

3. Projektphasen

Das Projekt wurde in verschiedene Phasen unterteilt. Die Phasen sind inkrementell und Teilaufgaben können voneinander abhängig sein. Die Hauptaufgabe umfasst Unteraufgaben, deren Ausführung entscheidend ist, um einen sauberen Datensatz zu haben, mit dem man arbeiten kann. Die Datenerfassung ist eine der ersten Schritte zur Erstellung einer Prognose. Für diesen Teil wurden die Daten aus der Datenbank für den Zeitraum von 4 bis 5 Jahren entnommen. Die Daten wurden im Excel-Format in zwei getrennten Dateien zur Verfügung gestellt, die zum Sammeln der Prognosen zusammengestellt wurden.

Abbildung veranschaulicht den Prognoseprozess

Unsere Timeline der Analyse umfasst folgende Schritte:

Analyse des gesamten zur Verfügung gestellten Teildatensätze und durchführen einiger Datenbereinigungs- und Transformationsaufgaben


Erstellen eines Basismodells aus den Merkmalen


Messen der Genauigkeit des Modells unter Verwendung der Bewertungsmatrix


Auswahl des besten Modells des Produkts für die Zukunftsprognose


A. Visualisierung

Die Datenvisualisierung spielt eine wichtige Rolle beim Verständnis des Trends und der Vorhersagen. Dies hilft zu erfahren, ob die Sequenz systematische und nicht-systematische Komponenten aufweist. Die Visualisierung der Sequenz kann auch helfen, die Komponenten der Serie zu verstehen, wie zum Beispiel die Durchschnittswerte, der Trend der steigende oder fallende Werte , die Saisonalität der sich wiederholenden Zyklen und zufällige Variationen in der Serie. Die Visualisierung hilft außerdem dabei, Ausreißer und Datenpunkte zu entfernen, sowie unvollständige, fehlerhafte oder unlogische Daten zu bereinigen.


B. Bereinigung von Daten

Es ist möglich, dass die gesammelten Daten den Anforderungen nicht entsprechen und einige Inkonsistenzen wie Doppelungen oder Nullwerte enthalten. Daher ist die Datenbereinigung eine wichtige Aufgabe, um die Daten konsistent zu machen. Die Datenbereinigung verbessert die Qualität der Daten und trägt somit zur Verbesserung der Ergebnisse bei. Die Daten, die in das Vorhersagemodell eingespeist werden, müssen korrekt sein und sollten das wahre Verhalten der Benutzer wiedergeben. So enthält ein Teil des Produkts Abfallwerte, die ebenfalls aus dem Datensatz entfernt werden müssen, bevor es weitergeht. Wie die Abbildung 2 veranschaulicht, enthalten viele Zeitreihen keine vollständigen Werte oder nur Werte für ein oder zwei Monate, die als Ausreißer betrachtet werden können. Dies erschwert den Prozess der Vorhersage der Werte zusätzlich, da für einen bestimmten Monat unvollständige Daten oder ein unvollständiges Produkt angefordert werden.

Abbildung zeigt die Zeitreihen des Zufallsprodukts im Datensatz

C. Datenreduktion

Das Grundkonzept besteht in der Reduktion der Datenmengen auf die sinnvollen Bestandteile. Die Datenreduzierung kann die Speichereffizienz erhöhen und Kosten senken. Diese Bereinigung wird bei Daten durchgeführt, die für Zeitreihenprognosen verwendet werden, so dass alle Spalten neben der verwendeten Menge und dem verwendeten Datum entfernt werden.


D. Datentransformation

Datentransformation wie Normalisierung kann die Genauigkeit und Effizienz von Lernalgorithmen verbessern, die neuronale Netze, Zeitreihenmodelle und Clustering-Klassifikatoren beinhalten. Diese Transformationen werden so eingesetzt, dass die darauf ausgeführte maschinelle Lernaufgabe genau ist und besser konvergiert, wobei auch Ausreißer ein wenig berücksichtigt werden.

1) Min-Max-Normalisierung: Führt eine lineare Transformation der ursprünglichen Datenwerte durch, wobei die Attributdaten so skaliert werden, dass sie in einen kleinen festgelegten Bereich fallen, wie z.B. [0.0 - 1.0].

Abbildung zeigt die Min-Max-Normalisierung (Feature scaling)
2) Z-Score: Ein Z-Score ist eine in der Statistik verwendete numerische Messung der Beziehung eines Wertes zum Mittelwert und einer Gruppe von Werten, gemessen in Form von Standardabweichungen.
Abbildung zeigt den Z-Score (Anzahl der Standardabweichungen)

3) Python StandardScaler: Das StandardScaler ist einer der am weitesten verbreiteten Algorithmen im Python-Ökosystem. Er geht davon aus, dass Daten einer Gauß-Verteilung folgen (die Gauß-Verteilung ist dasselbe wie die Normalverteilung). Der Mittelwert und die Standardabweichung werden für das Merkmal berechnet und das Merkmal auf der Grundlage des Standard-Skalars skaliert. Die Daten werden soweit so transformiert, dass die Verteilung einen Mittelwert von 0 und eine Standardabweichung von 1 hat.


E. Basismodell

Um den Fortschritt beim Aufbau eines Machine Learning Modells zur Vorhersage der Verkaufswerte zu überprüfen, wird ein Basismodell benötigt, welches Heuristik, einfache zusammenfassende Statistiken, Zufälligkeit und maschinelles Lernen zur Erstellung von Vorhersagen für einen Datensatz verwendet. Dann wird die Vorhersage aus diesem Modell verwendet, um die Leistung des Basismodells zu messen. Im Allgemeinen besteht das Ziel hier darin, die Leistung des für die Aufgabe ausgewählten Basismodells zu übertreffen.


F. Messgenauigkeit

Die Ergebnisse der Lernalgorithmen müssen anhand von Metriken ausgewertet werden, damit sie miteinander verglichen werden können, um das beste Modell auszuwählen. Die Wahl einer passenden Metrik ist für die Aufgabe wichtig, da die gewählte Metrik bei der Klassifizierung zwar eine hohe Genauigkeit aufweisen kann, aber dennoch schlechte Ergebnisse liefert, besonders wenn man sie mit anderen Mitteln, wie dem logarithmischen Verlust oder einer anderen derartigen Metrik, vergleicht. Es gibt viele verschiedene Leistungsmaße zur Auswahl. Es kann verwirrend sein, zu wissen, welches Maß zu verwenden ist und wie die Ergebnisse zu interpretieren sind.

In unserem Fall konzentrieren sich Zeitreihenprognosen im Allgemeinen auf die Vorhersage realer Werte, die als Regressionsprobleme bezeichnet werden. Der mittlere absolute Fehler (MAE) und der mittlere quadratische Fehler (RMSE) sind zwei der gebräuchlichsten Metriken, die zur Messung der Genauigkeit für kontinuierliche Variablen verwendet werden. RMSE hat den Vorteil, gröbere Fehler stärker zu bestrafen, so dass sie in einigen Fällen geeigneter sein kann, z.B. wenn eine Abweichung um 10 mehr als doppelt so schlimm ist wie eine Abweichung um 5. Wenn eine Abweichung um 10 nur doppelt so schlimm ist wie eine Abweichung um 5, dann ist MAE geeigneter. Die Verwendung beider im Analysezeitraum würde also ein besseres Verständnis der dem Modell zugrunde liegenden Leistung ermöglichen, um das Modell für die Zukunftsprognose auszuwählen.

1) Mittlerer quadratischer Fehler: Er gibt die absolute Anpassung des Modells an die Daten an - Wie nahe liegen die beobachteten Datenpunkte an den vorhergesagten Werten des Modells? Residuen sind ein Maß dafür, wie weit die Regressionsgeraden von den Datenpunkten entfernt sind; der mittlere quadratische Wurzelfehler (RMSE) ist ein Maß dafür, wie diese Residuen zu verteilen sind. Er sagt also aus, wie konzentriert die Daten um die Linie der besten Anpassung herum sind. Der mittlere quadratische Fehler wird häufig in der Klimatologie, bei Vorhersagen und in der Regressionsanalyse verwendet, um experimentelle Ergebnisse zu verifizieren, so dass er auch eine gute Wahl für die Nachfrageprognose ist.

Abbildung zeigt Berechnung des mittleren Quadratischen Fehler (RMSE)
2) Mittlerer absoluter Fehler: Der mittlere absolute Fehler (MAE) ist ein Maß für die Differenz zwischen zwei kontinuierlichen Variablen. Angenommen, X und Y sind Variablen von gepaarten Beobachtungen, die dasselbe Phänomen ausdrücken. Der MAE misst die durchschnittliche Größe der Fehler in einem Satz von Vorhersagen, ohne deren Richtung zu berücksichtigen. Es ist der Mittelwert der absoluten Unterschiede zwischen Vorhersage und tatsächlicher Beobachtung über die Stichprobe des Testes, wobei alle individuellen Unterschiede das gleiche Gewicht haben.
Abbildung zeigt Berechnung des mittleren absoluten Fehler (MAE)

4. Methoden

Während der gesamten Projektphase wurden viele Modelle im Projekt untersucht, aber das Projekt konzentriert sich hauptsächlich auf die Durchführung umfangreicher Zeitreihenanalysen für saisonale Zersetzung, Trends, Autokorrelation usw. Die Suchspannen umfassen einfache Zeitreihenanalyse-Techniken bis hin zum Deep-Learning-Modell. In diesem Abschnitt wird auf jeden der Ansätze und seine Umsetzung eingegangen:


A. Holt Winters

Das Verfahren von Winters, oft auch als Holt-Winters-Verfahren bezeichnet, basiert auf dem Verfahren nach Holt und berücksichtigt zusätzlich Saisoneinflüsse. Wie das Holt-Verfahren verwendet es die exponentielle Glättung, ergänzt aber das Holt-Verfahren um die Berücksichtigung von Saisoneinflüssen.

Exponentielle Glättungsmodelle prognostizieren iterativ zukünftige Werte einer regelmäßigen Zeitreihe von Werten aus gewichteten Durchschnitten der vergangenen Werte. Bei der einfachen exponentiellen Glättung wird die nächste Stufe oder der nächste geglättete Wert aus einem gewichteten Durchschnitt des letzten tatsächlichen Wertes und des Wertes der letzten Stufe berechnet.

Saisonalität ist ein gemeinsames Merkmal von Zeitreihen. Sie kann in zwei Formen auftreten: Additiv und multiplikativ. Ein additives Modell ist ein Modell, in dem die Beiträge der Modellkomponenten summiert werden, während ein multiplikatives Modell ein Modell ist, in dem zumindest einige Komponenten multipliziert werden. Multiplikative Modelle können die Prognose für Daten verbessern, bei denen der Trend oder die Saisonalität durch das Niveau (die Größe) der Daten beeinflusst wird. Das additive Datenmodell kann die Vorhersage für Daten verbessern, bei denen der Trend oder die Saisonalität Auswirkungen einzelner Faktoren sind und diese so differenziert werden, dass sie zur Modellierung der Daten addiert werden können. Das multiplikative Modell geht davon aus, dass mit der Zunahme der Daten auch das saisonale Muster zunimmt. In diesem Modell werden die Trend- und Saisonkomponenten multipliziert und dann zur Fehlerkomponente addiert.

Um eine Auswahl zu treffen, muss tief in die Daten eingedrungen und nach einem Indikator für jedes Modell gesucht und dann entschieden werden. Wähle das multiplikatives Modell, wenn die Größenordnung des saisonalen Musters in den Daten von der Größenordnung der Daten abhängt. Wähle das additive Modell, wenn die Größenordnung des saisonalen Musters in den Daten nicht von der Größenordnung der Daten abhängt. Holt-Winters ist eine Möglichkeit, drei Aspekte der Zeitreihe zu modellieren: einen typischen Wert (Durchschnitt), eine Steigung (Trend) und ein sich zyklisch wiederholendes Muster (Saisonalität). Es gibt zwei Varianten des Modells, additiv und multiplikativ. Die additive Variation wird verwendet, wenn die saisonalen Variationen annähernd konstant sind und die multiplikative Variation wird verwendet, wenn sich die drei Aspekte proportional zum Niveau der Reihe ändern.

Abbildung: Vorhersage mit Holts unter Verwendung eines additiven Modells mit saisonalen Schwankungen.

B. Vorhersage mit Facebook-Prophet

Man kann Prognosen auch mit Prophet, einem von Facebook entwickelten Tool, erstellen, um in diesem Fall die nächste N-Woche des Verkaufs vorauszusagen. Der Prophet ist eine Open-Source-Software, welche in Python und R verfügbar ist. Es basiert auf einem additiven Modell, bei dem nichtlineare Trends mit der jährlichen und wöchentlichen Saisonalität, sowie den Feiertagen übereinstimmen. Es funktioniert am besten mit den Zeitreihen, die starke saisonale Effekte und mehrere Jahreszeiten mit historischen Daten aufweisen. Prophet ist robust gegenüber fehlenden Daten und Trendverschiebungen und geht in der Regel gut mit Ausreißern um. Prophet eignet sich am besten für saisonale Datensätze, die stark mit Saisonalitäten auf menschlicher Skala verbunden sind (z.B. Modellierung für jährliche Feiertage, Neujahr) und auch unregelmäßige Intervalle in den Datensätzen berücksichtigt (verursacht durch Ereignisse wie den Super-Bowl). Diese Vorhersage mit der Prophet-Technik hat eine sehr nützliche Funktion bei der Modellierung von Feiertagen, dennoch kann die Granularität der Daten über Monate variieren, so dass die Verwendung dieser Funktion in unserem Modell nicht einfach war, da die Produkte aus verschiedenen Regionen stammen. Um genaue Daten für jedes Produkt zu erhalten, muss die Abstammungslinie jedes Produkts berücksichtigt werden.

Die Abbildung zeigt die Vorhersage mit Prophet. Die grüne Linie ist der vorausgesagte Umsatz für einen bestimmten Zeitraum, während die gelbe Linie die für das Training verwendete Sequenz und die blaue Linie die Testsequenz durch den Propheten zeigt. Wie aus der Grafik ersichtlich ist, fängt Prophet die Trends ein und die meiste Zeit erhält er die richtigen Zukunftswerte, was auch den saisonalen Trend (tägliches, wöchentliches und jährliches Muster) einfängt, dem die Daten folgen. Die verwendete Bibliotheken stammen aus numpy, pandas, fbprophet (Facebook). Durch die Verwendung von Prophet gelingt es, eine vernünftige, genaue Prognose zu erstellen.

Die Hauptkomponenten des Prophetenmodells sind Trend, Saisonalität und Feiertage. Unter Verwendung der Zeit als Regressor versucht Prophet, mehrere lineare und nichtlineare Funktionen der Zeit als Komponenten anzupassen. Die Modellierung der Saisonalität als additive Komponente basiert auf dem gleichen Ansatz wie die exponentielle Glättung.

Abbildung: Vorhersage mit Prophet mit Saisonregressor

C. Vorhersagen mit Tableau

Tableau hat vor kurzem eine integrierte Vorhersage in ihrem Tool vorgestellt. Die Vorhersage mit Tableau verwendet eine Technik, die als exponentielle Glättung bekannt ist. Tableau wählt das beste Modell aus, welches sich in einem Pool von 8 Modellen befindet, wobei das beste dasjenige ist, das die qualitativ hochwertigste Vorhersage erzeugen kann.Wenn nicht genügend Daten in der Visualisierung vorhanden sind, versucht Tableau automatisch, die Prognose mit einer feineren zeitlichen Granularität zu erstellen und aggregiert die Prognose dann wieder auf die Granularität der Visualisierung.

Wenn eine Prognose mit Tableau erstellt wird, muss das Basisdatum in der Ansicht angegeben werden. Tableau verfügt über ein eingebautes Format für die Prognose, das erfüllt sein muss, damit eine gültige Prognose erstellt werden kann. Tableau-Daten unterstützen eine Reihe solcher Zeiteinheiten, einschließlich Jahr, Quartal, Monat und Tag. Die Einheit, die für den Datumswert gewählt wird, wird als Granularität des Datums bezeichnet. Die aus den Daten gewonnenen Trend- und Saisonkomponenten werden multipliziert und dann zur Fehlerkomponente addiert.

Abbildung: Vorhersage mit Tableau

D. Autoregressiv integriert gleitender Mittelwert

Ein autoregressiver, integrierter und gleitender Mittelwert (ARIMA) ist eines der beliebtesten linearen Modelle in der Zeitreihenvorhersage. Obwohl ARIMA-Modelle insofern recht flexibel sind, als dass sie mehrere verschiedene Arten von Zeitreihen darstellen können, d.h. reine autoregressive (AR), reine gleitende Mittelwerte (MA) und kombinierte AR- und MA-Serien (ARMA), ist ihre größte Einschränkung die vorausgesetzte lineare Form des Modells. ARIMA-Modelle sind einer der am weitesten verbreiteten Ansätze zur Zeitreihenvorhersage. Sie zielen darauf ab, die Autokorrelationen in den Daten zu beschreiben.

ARIMA kann "stationär" gemacht werden, indem man sie differenziert, vielleicht in Verbindung mit nichtlinearen Transformationen wie Logging oder Deflationierung. Eine Zufallsvariable, bei der es sich um eine Zeitreihe handelt, ist stationär, wenn ihre statistischen Eigenschaften alle über die Zeit konstant sind. Eine stationäre Reihe hat keinen Trend, ihre Variationen um ihren Mittelwert herum haben eine konstante Amplitude, und sie wackelt in konsistenter Weise, d.h. ihre kurzfristigen zufälligen Zeitmuster sehen im statistischen Sinne immer gleich aus. Die letztgenannte Bedingung bedeutet, dass ihre Korrelationen mit ihren eigenen früheren Abweichungen vom Mittelwert über die Zeit konstant bleiben, oder äquivalent dazu, dass ihr Leistungsspektrum über die Zeit konstant bleibt. ARIMA(p, d, q), wobei die Parameter p, d und q nicht-negative ganze Zahlen sind, p die Ordnung des Autoregressiven Modells, d der Grad der Abweichung und q die Ordnung des Modells mit gleitendem Mittelwert ist.

Abbildung: Vorhersage mit Auto SARIMA unter Verwendung des pmdarima-Pakets. Wie aus dem Bild ersichtlich sagt das Modell die nächsten zwei Monate der Vorhersage gemäß der Lernsequenz voraus.

Eine andere Version des ARIMA-Modells ist SARIMA, das ebenfalls saisonale Differenzierung verwendet. Anstatt aufeinander folgende Begriffe zu subtrahieren, subtrahieren Sie den Wert von der vorherigen Saison. Das Modell wird als SARIMA (p,d,q)x(P,D,Q) dargestellt, wobei P, D und Q SAR, die Reihenfolge der Saisondifferenz bzw. SMA-Terme und 'x' die Häufigkeit der Zeitreihe entspricht. Das pmdarima-Paket bietet eine ähnliche Funktionalität. Auto-Arima verwendet einen schrittweisen Ansatz, um mehrere Kombinationen von p,d,q-Parametern zu suchen und wählt das beste Modell aus, das am wenigsten das Akaike-Informationskriterium aufweist.

AIC - Das Akaike-Informationskriterium (AIC) ist eine Schätzung der relativen Qualität von statistischen Modellen für einen gegebenen Datensatz. Somit bietet das AIC ein Mittel zur Modellauswahl. Das AIC befasst sich mit dem Kompromiss zwischen der Anpassungsgüte des Modells und der Einfachheit des Modells. Mit anderen Worten, die AIC befasst sich sowohl mit dem Risiko der Überanpassung als auch mit dem Risiko der Unteranpassung. Um den optimalen Parameter für die ARIMA-Modelle zu finden, muss aus den Daten jeder Teilsequenz ein Trainings- und Testsatz erstellen werden. Daher ist die Auswahl der letzten sechs Perioden des Datensatzes der Testsatz für unser Experiment. Dann werden die optimalen Parameter der Modelle mit Hilfe des Grid-Search-Ansatzes ausgewählt, wobei der Parameterbereich jedes einzelnen Modells definiert wird. Diese Parameter fließen in das Modell ein, in dem jedes Modell aufgebaut wird. Ausgehend von einer Sammlung von Modellen für die Daten schätzt die AIC-Modelle die Qualität jedes Modells im Verhältnis zu jedem der Anderen. Es wird das Modell mit der geringsten AIC-Punktzahl verwendet und zurückgegeben, das dann an allen Datenpunkten trainiert wird, um die zukünftigen Werte der Sequenz vorherzusagen.

Abbildung: Vorhersage mit Auto ARIMA unter Verwendung der Rastersuche.

E. Deeplearning

Rekurrente Netze sind künstliche neuronales Netze, die Muster in Datensequenzen erkennen sollen, wie z.B. Text, Genome, Handschrift, das gesprochene Wort oder numerische Zeitreihendaten, die von Sensoren, Aktienmärkten oder Regierungsbehörden stammen. Diese Algorithmen berücksichtigen Zeit und Sequenz, sie haben eine zeitliche Dimension.

Um rekurrente Netze zu verstehen, müssen zunächst die Grundlagen der Feedforward-Netze verstanden werden. Diese beiden Netze sind nach der Art und Weise benannt, wie sie Informationen durch eine Reihe von mathematischen Operationen kalkulieren, die an den Knoten des Netzes durchgeführt werden. Das eine Netz leitet Informationen direkt durch (wobei ein bestimmter Knoten nie zweimal berührt wird), während das andere Netz sie durch eine Schleife leitet. Letztere werden als rekurrent bezeichnet.

Im Falle von Feedforward-Netzwerken werden Input-Beispiele in das Netzwerk eingespeist und in einen Output umgewandelt werden; bei überwachtem Lernen wäre der Output ein Label, ein Name, der auf den Input angewandt wird. Das heißt, Rohdaten werden Kategorien zugeordnet und Muster erkannt, die beispielsweise signalisieren können, dass ein Bild mit "Katze" oder "Elefant" bezeichnet werden sollte. Das heißt, ein Feedforward-Netzwerk hat keine Vorstellung von zeitlicher Ordnung und die einzige Eingabe, die es berücksichtigt, ist das aktuelle Beispiel, dem es ausgesetzt ist. Feedforward-Netzwerke sind Amnesiekranke in Bezug auf ihre jüngste Vergangenheit; sie erinnern sich nostalgisch nur an die prägenden Momente des Trainings.

Rekurrente Netzwerke hingegen nehmen als Input nicht nur das aktuelle Beispiel, das sie sehen, sondern auch das, was sie vorher in der Zeit wahrgenommen haben. Hier ist ein Diagramm eines frühen, einfachen rekurrenten Netzes, das von Elman vorgeschlagen wurde, wobei die BTSXPE am unteren Rand der Zeichnung das Eingabebeispiel im aktuellen Moment und die CONTEXT UNIT, die Ausgabe des vorherigen Moments, darstellt.

Abbildung: Simple Recurrent Network (SRN)

Die Entscheidung, die ein rekurrentes Netz im Zeitschritt ”t-1” getroffen hat, wirkt sich auf die Entscheidung aus, die es einen Moment später im Zeitschritt “t” treffen wird. Rekurrente Netzwerke haben also zwei Inputquellen, die Gegenwart und die jüngste Vergangenheit, die zusammen bestimmen, wie auf neue Daten reagiert wird, so wie es auch im Leben geschieht.

Rekurrente Netzwerke unterscheiden sich von Feedforward-Netzwerken durch eine Rückkopplungsschleife, die mit ihren vergangenen Entscheidungen verbunden sind und Moment für Moment ihre eigenen Ausgaben als Eingabe aufnehmen. Es wird oft gesagt, dass rekurrente Netzwerke ein Gedächtnis haben. Das Hinzufügen von Speicher zu neuronalen Netzen hat einen Zweck: Es gibt Informationen in der Sequenz selbst, welche von rekurrenten Netzen verwendet werden, um Aufgaben auszuführen, die Feedforward-Netze nicht ausführen können.

Diese sequentielle Information bleibt im verborgenen Zustand des rekurrenten Netzwerks erhalten, welches es schafft, viele Zeitschritte zu überbrücken, während es sich kaskadenartig vorwärts bewegt, um die Verarbeitung jedes neuen Beispiels zu beeinflussen. Es werden Korrelationen zwischen Ereignissen gefunden, die durch viele Momente getrennt sind. Diese werden als "langfristige Abhängigkeiten" bezeichnet, weil ein zeitlich nachgeschaltetes Ereignis von einem oder mehreren vorhergehenden Ereignissen abhängt und eine Funktion davon ist. Eine Möglichkeit, über RNNs nachzudenken, ist folgende: Sie sind eine Möglichkeit, Gewichte im Laufe der Zeit zu teilen.

Mitte der 90er Jahre wurde eine Variante des rekurrenten Netzes mit sogenannten Long Short-Term Memory Units (LSTMs) vorgeschlagen. LSTMs tragen dazu bei, Fehler zu vermeiden, welche sich über die Zeit zurückverfolgen lässt. Durch die Beibehaltung eines konstanten Fehlers wird es rekurrenten Netzen ermöglicht, über viele Zeitschritte (über 1000) hinweg weiter zu lernen, wodurch ein Kanal für die Fernverbindung von Ursachen und Wirkungen geöffnet wird.

LSTMs enthalten Informationen außerhalb des normalen Flusses des rekurrenten Netzwerks in einer Gated-Zelle. Informationen können in einer Zelle gespeichert, in sie geschrieben oder aus ihr gelesen werden, ähnlich wie Daten im Speicher eines Computers. Die Zelle trifft über Tore, die sich öffnen und schließen, Entscheidungen darüber, was gespeichert werden soll und wann Lese-, Schreib- und Löschvorgänge zugelassen werden sollen. Im Gegensatz zur digitalen Speicherung auf Computern sind diese Gatter jedoch analog, implementiert mit elementweiser Multiplikation durch Sigmoide, die alle im Bereich von 0 liegen - analog hat den Vorteil, dass es differenzierbar und daher für die Rückpropagation geeignet ist. Ein Netzwerk mit Langzeit-Kurzzeitgedächtnis (LSTM) ist eines der am häufigsten verwendeten neuronalen Netz für die Zeitreihenanalyse. Die Fähigkeit des LSTM, sich frühere Informationen zu merken, macht es ideal für die vorliegende Aufgabe.

1) Datenaufbereitung: Das Problem ist so zu formulieren, dass LSTM darauf angewendet werden kann, um eine neue Sequenz für ein zukünftiges Datum zu generieren. Das LSTM-Modell geht davon aus, dass Daten in eine Eingabe- (X) und eine Ausgabekomponente (Y) unterteilt sind. Wenn die aktuellen Daten in einem Modell nicht ausreichen, muss die Erhebung erweitert werden. Dazu müssen Eingabe- und Ausgabesequenzen der aktuellen Sequenz erstellt werden, indem der Kontext hinzugefügt wird.

Betrachtet wird die gegebene univariate Sequenz: univariate Sequenz wird in die Eingabe (X) und die Ausgabe (y) unterteilt, die in die LSTM-Zellen eingespeist werden:


X Y


10, 20, 30 40


20, 30, 40 50


Dieses Konzept kann auf die Ausgabe mehrerer Outputs wie folgt erweitert werden:


X Y


10, 20, 30 40, 50


20, 30, 40 50, 60


Dazu wird der Ausgangsvektor des Modells als Mehrschrittprognose interpretiert.

2) Modell-Ausbildung: Um die Architektur des LSTM-Modells abzuschließen, muss mit einer einfachen LSTM mit minimalen Neuronen begonnen werden. Danach geht es um den Aufbau einer komplexen LSTM-Struktur für die Zeitreihenanalyse, die die Dropout-Schicht, die L1-, L2-Regulierung, die bidirektionale LSTM, die gestapelte LSTM, die Encoder- und Decoder-LSTM-Architektur und deren hybride Kombination umfasst, um die optimale Lösung zu finden. Alle oben genannten Modelle werden in Daten eingespeist, die mit einer der oben genannten Techniken bereinigt und vorbereitet werden. Bei all den oben genannten Konfigurationen, Hyperparametern und Architekturen war es nicht trivial, das beste Modell zu wählen. Versuch und Irrtum mit all der Konfiguration, den Hyperparametern und der Implementierung verschiedener Sequenzlängen mit unterschiedlicher Architektur muss getestet werden, um zu sehen, welches Modell die anderen übertrifft. Tiefgehende Lernmodelle erfordern viel Zeit und Ressourcen, um die beste Lösung zu finden, aber am Ende erhalten Sie ein zufriedenstellendes Ergebnis, auf das Sie sich freuen können.

3) Einfache LSTM: Eine einfache LSTM ist ein LSTM-Modell mit einer einzelnen verborgenen Schicht von LSTM-Einheiten und einer Ausgabeschicht, die zur Erstellung einer Vorhersage verwendet wird.

Wie aus der Abbildung ersichtlich, erfasst die einfache LSTM eine Art Trend, dem die Sequenz folgt, und prognostiziert entsprechend ihrem Muster.
4) Bidirektionale LSTM: Bidirektionale LSTMs sind eine Erweiterung der traditionellen LSTMs, die die Modellleistung bei Sequenzproblemen verbessern können. Bidirektionale LSTMs trainieren zwei anstelle von einem LSTM auf der Eingangssequenz. Die erste auf der Eingangssequenz im Ist-Zustand und die zweite auf einer umgekehrten Kopie der Eingangssequenz. Dies kann einen zusätzlichen Kontext für das Netzwerk schaffen und zu einem schnelleren und noch umfassenderen Lernen des Problems führen. Die Rückgabesequenzen folgt als Eingabe in die einfache LSTM-Schicht mit allen Sequenzen.
Wie aus der Abbildung ersichtlich, lernt das Modell das Muster der Sequenz, war jedoch nicht in der Lage, die Spitzenwerte in den Spitzenmonaten zu reproduzieren.
5) LSTM Univariate und LSTM-Bidirektionale-Loopback: Dies ähnelt der [LSTM, LSTM-Bidirektional] mit einer anderen Konfiguration der internen LSTM-Architektur und einer anderen Präpositionierung des Datensatzes als bei der LSTM, wobei auch der VAlidierung zur Abstimmung des Modells hinzugefügt wird, der aufhört, wenn der Verlust nicht in jeder Epoche abnimmt.
Wie aus der Abbildung ersichtlich, zeigt das Modell vielversprechende Ergebnisse für die Werte des Testsatzes, die wiederum gute Ergebnisse auch für die zukünftigen Werte zeigen.
6) Mehrstufige LSTM: Hier wird der Kontext erweitert, indem eine Mehrschrittprognose zu dem Datensatz hinzugefügt wird. Dies ist ähnlich, wie bei der Ein-Schritt-Vorhersage, bei der die Sequenz in Eingabe- und Ausgabesequenzen unterteilt wird, doch in diesem Fall werden sowohl die Eingabe- als auch die Ausgabesequenz in mehrere Schritte unterteilt.
Wie aus der Abbildung ersichtlich, erfasst das Modell den Abwärtstrend der Sequenz mit dem geringsten Fehler im Quadrat des mittleren Mittelwerts der Wurzel.
7) LSTM-Encoder-Decoder: Das Modell besteht aus zwei Untermodellen: dem Encoder und dem Decoder. Der Encoder ist ein Modell, das für das Lesen und Interpretieren der Eingangssequenz verantwortlich ist. Der Decoder verwendet den Ausgang des Encoders als Eingang, der für jeden Wert im Ausgabezeitschritt einen Wert ausgibt.
Wie aus der Abbildung ersichtlich, erfasst das Modell die Aufwärts- und Abwärtsspitzen in der Serie und sagt auch sehr nahe beieinander liegende Werte für die kommenden Monate voraus.

5. Ergebnisse und Schlussfolgerung

Wie aus dem obigen Experiment hervorgeht, das unter Verwendung aller verfügbaren Modelle für den gegebenen Teiletyp durchgeführt wurde, schnitt Auto ARIMA mit Grid Search und Prophet von Facebook bei der gegebenen Serie am besten ab. Im Hinblick auf das Modell für Deeplearning übertraf Encoder-Decoder LSTM alle anderen Varianten des LSTM, wobei die Erfassungsdetails der Serie recht gut waren. Dies fällt besonders auf, wenn man bedenkt, dass die LSTM-Modelle an alle Serien im Datensatz angepasst wurden, um ein sinnvolles Ergebnis zu erzielen. Die Methode des Deeplearning kann durch Versuch und Irrtum oder durch Implementierung der Optimierungstechniken, d.h. der Bayessche Optimierung, an die Sequenz angepasst werden. Die Architektur des Netzes und seine Parameter können verbessert werden.

Die Abstimmung des Modells und das Spielen mit der Anzahl der Sequenzein- und -ausgängen in der LSTM-Implementierung führt zu Verbesserungen des Modells. Nichtsdestotrotz erfüllen diese Techniken des Deeplearnings den anfänglichen Bedarf des Anwendungsfalles der Nachfrageprognose und geben somit auch einen Einblick in die Zukunft für die Vorhersage von Verkäufen aus den Teiledaten. Ein zuverlässiges und robustes Prognosemodell kann es Lagerhausmanagern ermöglichen, die Entscheidung zu treffen, ob ein Produkt für die Zukunft geeignet ist oder nicht.