Wir hören von unseren Nutzern viele Fragen zur Prognosegenauigkeit: Wie verhält sich meine Modellprognose zu den tatsächlichen zukünftigen Werten? Stimmen die prognostizierten Werte und die tatsächlichen Werte genau überein? Welche Art von Tracking Error würde es haben?
Die Backtesting-Technik befasst sich mit diesen Fragen, allerdings mit einem einfachen Trick: Wenn wir in der Zeit zurückgehen würden, könnten wir das Modell nur anhand der bis dahin verfügbaren Daten kalibrieren und eine Prognose außerhalb der Stichprobe erstellen. Dann wiederholen wir das Verfahren für verschiedene Zeitpunkte.
Am Ende des Backtesting-Prozesses erstellen wir eine Zeitreihe der prognostizierten Werte, die wir dann im Verhältnis zu den tatsächlichen Zeitreihen analysieren können. Dann können wir alle Arten von Statistiken berechnen.
Dieser Artikel wurde durch eine konkrete Support-Anfrage eines unserer Nutzer inspiriert:
“Wie kann ich ein Backtesting der X-13ARIMA-SEATS-Prognose der saisonbereinigten und endgültigen (d.h. nicht saisonbereinigten) Werte durchführen?”
Um das Backtesting durchzuführen, müssten wir mehrere X13AS-Szenarien laufen lassen, die sich nur durch den Eingangsdatensatz unterscheiden.
Für dieses Tutorial verwenden wir die monatlichen Daten des U.S. Department of Labor (DOL) zur Beschäftigung außerhalb der Landwirtschaft von Januar 1970 bis Juni 2022.
- Verwenden Sie den X13-Assistenten, um das X13-Modell unter Verwendung des vollständigen Datensatzes zu erstellen. Der Assistent schreibt die Modellspezifikation (JSON-Text) in Ihr Arbeitsblatt, wo Sie sie angeben.
- Listen Sie dann in einer leeren Spalte alle Zeiträume auf, für die Sie eine Prognose erstellen möchten.
- Berechnen Sie die Anzahl der Datenpunkte vom Beginn des Datensatzes bis zu jedem in Schritt (2) angegebenen Zeitraum.
- Kopieren Sie die Formel X13AS(.) in (1) in eine separate Spalte, die an die Spalte aus Schritt (3) angrenzt.
-
Ersetzen Sie den Zellbereich der Eingabedaten durch einen Aufruf von NxSubset(.). Die Funktion NxSubset nimmt den gesamten Datensatz als erstes Argument, aber der Endversatz wird in der Spalte aus Schritt (3) berechnet.
Hinweis:
Bitte beachten Sie die NxSubset(.) Referenzhandbuch Seite, um mehr zu erfahren.
- Nun konstruiert die Funktion X13AS(.) ein neues Szenario, wobei sie nur die Daten bis zu diesem Punkt verwendet.
- Fragen Sie mit den Funktionen X13ASCOMP(.) und X13ASFORE(.) die Komponente oder den Prognosewert für das Datum in dieser Zeile ab.
- Verwenden Sie die in Excel integrierte Funktion VLOOKUP(.), um den aktuellen Wert jeder Zeile abzufragen.
- Kopieren Sie die Formeln aus der obersten Zeile in den Rest der Tabelle. Dadurch wird eine Reihe von X13-Modellberechnungen ausgelöst, die bis zu einer Minute dauern können.
- Zum Schluss wollen wir die Backtesting-Werte mit den tatsächlichen Werten vergleichen.
Schlussfolgerung
In unserem Beispiel haben wir die nicht saisonbereinigte Einmonatsprognose für die letzten 24 Monate berechnet, aber wir können den Untersuchungszeitraum leicht erweitern und/oder andere Ergebnisse berechnen.
Nachdem wir die Backtesting-Ausgangszeitreihen berechnet haben, sollten wir den prognostizierten Tracking Error quantitativ beschreiben, indem wir das von Ihnen bevorzugte Maß für die Prognoseleistung verwenden (das in NumXL enthalten ist), wie MAPE, RMSE, MASE, usw.
Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.