#

Forecasting: Einfache Beispiele

Um die Funktionsweise der Prognosemodell API zu verdeutlichen, habe ich auf die schnelle zwei kleine Beispiele als Grafik erstellt.

Beispiele

Das linke Beispiel zeigt eine einfache multiple lineare Regression der beiden Zeitreihen nach einer einfachen Differenzierung. Für die differenzierten Daten wird eine Grafdarstellung erzeugt, für die erstellten Lags (eine Matrix) eine Tabelle. Die rechte Abbildung zeigt im Prinzip das gleiche Modell, mit dem einzigen Unterschied, dass hier eine optimierende Komponente die Lagstruktur (welche ein Parameter des Laggenerators ist) so verändert, dass die Ausgabe der MLR möglichst optimal ist. Bei der MLR kann eine gute Lagstruktur sowohl durch die partielle Autokorrelationsfunktion, die GröÃe verschiedener Koeffizienten oder auch andere Strategien intern durch die MLR Komponente gelöst werden. Es kann aber auch eine abstraktere Komponente, der Optimierer, gedacht sein, welcher anhand eines (Fehler-) Wertes einige Parameter verändert (z.B. durch Intervallverschachtelung, durch Gradientenabstiegsverfahren oder durch genetische Algorithmen) um ein Optimum (Minimum oder Maximum) zu finden.

MLR mit einfacher Differenzierung MLR mit Optimierung der Lagstruktur

Die Abbildungen lassen noch einige Fragen und Details offen. Beispielsweise woher der Fehler der MLR herkommt. Sinnvoller wäre es sicherlich eine eigene Komponente zu haben, welche verschiedenste FehlermaÃe (Theil U, RMSE, MAPE, ABSE, SSE etc.) beherrscht und erweiterbar ist. Als eingabe würde eine solche Komponente zum einen die Originaldaten und zum anderen die Ausgabe einer Prognose- / Regressionskomponente, wie die MLR, nehmen.
Eine weitere Frage ist, wie der Fluss der Daten Endlosschleifen frei weitergeführt werden kann. Der Datenfluss aus der MLR sollte erst an die nächsten datenverarbeitenden Komponenten weitergeleitet werden, wenn der Optimierer die Parameter der vorherigen Komponenten fertig optimiert hat.

Synchronisation der Daten

Alle Daten haben intern einen Zeitstempel, der es ermöglicht eine Information einem bestimmten Zeitpunkt zu zuordnen. Wenn z.B. zwei verschiedene Zeitreihen für eine multivariate Prognose benutzt werden sollen, dann muss, vor allem nach der Bildung von Lags, jeder Information ein Datum zugewiesen werden können. Da die meisten Daten in Form einer Matrix gespeichert werden und jede Spalte der Matrix eine kontinuierliche Zeitreihe repräsentiert, gilt es für jede dieser Spalten den Anfangszeitpunkt festzuhalten. Der Zeitpunkt wird in einer internen Zeitrepräsentation dargestellt, welche bei 0 (erster Zeitpunkt, zu dem es einen Wert gibt) beginnt und ganzzahlig in der kleinsten benötigten Zeitskale gemessen wird. So können z.B. monatliche Messungen mit Quartalsdaten gemischt werden. Dabei wäre die interne Zeitskala der monatliche Zyklus. Diese Technik wird auch in der von Thiesing ge- und beschriebenen (nicht erhältlichen) Anwendung für Zeitreihenprognosen mit KNN benutzt.

Leave a Reply »»

Note: All comments are manually approved to avoid spam. So if your comment doesn't appear immediately, that's ok. Have patience, it can take some days until I have the time to approve my comments.