Henrik Dörries, André Frisch
Machine-Learning-Methoden umfassen neben neuronalen Netzen auch auf Entscheidungsbäumen basierende Algorithmen wie Random Forest und XGBoost. Diese Ansätze können bis zu einem gewissen Grad eigenständig entscheiden, welche externen Faktoren für die Modellierung relevant sind. Der Random Forest ist ein Algorithmus, welcher mehrere unabhängige Entscheidungsbäume kombiniert. Jeder Baum kann dabei selbst Entscheidungen zur Prognose treffen, wobei die Prognose mit den meisten Stimmen gewählt wird (Mehrheitsentscheid). Für die Definition der Entscheidungsbäume werden die Daten zur Erkennung verschiedener Muster zunächst zufällig in Stichproben unterteilt, das heißt, jeder Entscheidungsbaum erhält eine unterschiedliche Auswahl an Faktoren, um einen Prognosewert zu berechnen.
XGBoost
XGBoost (eXtreme Gradient Boosting) ist eine Open-Source-Bibliothek für Machine-Learning-Algorithmen mit Gradient Boosting. Diese Methode beginnt zunächst mit einem einfachen Entscheidungsbaum, dessen Schwächen durch die Kombination mit einem zweiten Baum korrigiert werden. Das Hinzufügen weiterer Bäume erfolgt so lange, bis keine signifikante Verbesserung des Forecasts mehr erzielt werden kann. Der Forecast mit dem XGBoost ist also eine Verbindung mehrerer Entscheidungsbäume, die iterativ ausgewählt werden, um jeweils die Fehler des vorhergehenden Baumes zu minimieren. XGBoost ist zudem relativ leicht zu implementieren und liefert robuste Ergebnisse. Bei der Modellierung muss die Einbeziehung externer Faktoren mit Korrelation aber ohne Kausalität vermieden werden, da das Modell sonst falsche Zusammenhänge lernt.
Neuronale Netze
Ebenfalls zu den Machine-Learning-Ansätzen zählen neuronale Netze. Diese komplexen Algorithmen bestehen aus in Schichten angeordneten Neuronen, das heißt Knoten zur Informationsverarbeitung. In der Eingabeschicht (Input Layer) werden die Informationen zunächst aufgenommen und an eine versteckte Schicht (Hidden Layer) für die Ausführung von Berechnungen weitergeleitet. Daran schließt entweder eine weitere versteckte Schicht an oder direkt die Ausgabeschicht (Output Layer) für die Weitergabe der Ergebnisse nach außen. Neben einem wie hier beschriebenen Feedforward Neural Network gibt es auch weitere komplexere Architekturen, die für spezielle Aufgaben entwickelt wurden (z. B. Long short-term memory (LSTM), Convolutional Neuronal Network (CNN)). Eine hohe Anzahl Neuronen oder Schichten erhöht die Flexibilität. Damit verbunden ist jedoch auch eine zunehmende Komplexität und die Gefahr der Überanpassung. Für den Einsatz neuronaler Netze spricht ihre hohe Performance und die damit verbundene Möglichkeit, sehr große Datenmengen zu verarbeiten. Zudem sind sie robust gegenüber Ausreißern in den Eingangsdaten.
Abb. 1: Neuronale Netze