SIBA

Systemintegration und Business Analyse ist Schaufenster für maschinelles Lernen. Hier rechnen neuronale Netze im Kontext von Zeitreihen. Werte aus der Vergangenheit werden in die Zukunft extrapoliert. Bessere Prognosen versprechen bessere Entscheidungen zur Steigerung von Umsatz und zur Senkung von Kosten.

Zeitreihen

Als Beispiel seien historische Nachfragen nach einem beliebigen Produkt gegeben. Kenne ich den Bedarf der folgenden Periode bzw. den Nachfragetrend, so kann ich entsprechend planen (z.B. Lagerbestände und Produktionskapazitäten). Je besser die Prognose, desto akkurater die Planung.

Unter Berücksichtigung von Saisonalität und Ausreißern sind Regressionsanalysen beliebte Mittel zur Berechnung von Trends.
Neuronale Netze lernen Regelmäßigkeiten im Zeitverlauf, die über einfache Muster hinausgehen. Sie nähern sich einer unbekannten Funktion an, statt Trendgeraden zu ermitteln.
Sind Verläufe nicht linear und können Funktionen mit traditionellen Verfahren nur unzureichend bestimmt werden, so eignen sich neuronale Netze als Prognosemittel. Die Abweichung von Funktionswert und tatsächlichem Wert sinkt. Die Güte der Prognose verbessert sich.

Maschinelles Lernen

Hier geht es zum TSMLTC (Time Series Machine Learning Test Center).

Es stehen Funktionen zum Anlegen beliebiger Zeitreihen zur Verfügung. Zu jeder Zeitreihe kann eine Regressionsgerade berechnet werden, die neben der quadratischen Abweichung von der Zeitreihe auch einen Prognosewert für den nächsten Zeitpunkt liefert.

Ferner können Trainingseinheiten eines neuronalen Netzes konfiguriert und ausgeführt werden. Hierbei bestimmen Lernrate, Anzahl der Iterationen und Größe des Trainingsdatensatzes die Ergebnisse. Neben der quadratischen Abweichung wird ein Prognosewert für den nächsten Zeitpunkt berechnet, so dass ein direkter Vergleich mit der Regression ermöglicht wird.

Neuronale Netze sind Datenstrukturen, die durch Beobachtung lernen. Trainingsdaten werden so aufbereitet, dass sie zu einem Stimulus oder Input einen beobachtbaren Zielwert oder Output liefern. Sind sie einmal trainiert, schlussfolgern neuronale Netze Zielwerte aus Eingabewerten. In Bezug auf Zeitreihen werden vergangene Zukunftswerte gelernt, um echte Zukunftswerte zu prognostizieren.

Werkzeuge

Das neuronale Netz wurde in JAVA ohne Verwendung von Machine Learning Bibliotheken aus-programmiert. Insbesondere die Signalweiterleitung, die Fehlerberechnung, die Signalrückspeisung, die Gewichtsaktualisierung sowie die dafür notwendigen Matrizenmultiplikationen wurden ausgeschrieben. Der Source Code findet sich unter GPL hier.

Der TSMLTC wurde mit Angular (Type Script), Spring Boot (Java), Hibernate/JPA (objekt-relationales Mapping), PostgreSQL (relationale Datenbank) und Apache Kafka (Messaging) entwickelt. Das neuronale Netz und die Regression werden als REST Service und über Apache Kafka aufgerufen. Zeitreihen, Regressionsgeraden und Netzprognosen werden mit plotly (Java Script) visualisiert.

Autor