Backtesting

learn menu
Von Joannès Vermorel, zuletzt aktualisiert im August 2013

Im Zusammenhang mit der Zeitreihen-Prognose bezieht sich der Begriff Backtesting auf den Prozess zur Bewertung der Genauigkeit einer Prognosemethode anhand vorhandener historischer Daten. Der Prozess ist in der Regel iterativ und wird über mehrere Daten durchgeführt, die in den historischen Daten vorhanden sind. Backtesting wird verwendet, um die erwartete zukünftige Genauigkeit einer Prognosesmethode abzuschätzen, was nützlich ist, um festzustellen, welche Prognosemodelle als am genauesten angesehen werden sollten.

Wie funktioniert Backtesting?

Der Backtesting-Prozess beginnt mit der Auswahl einer Liste von Schwellendaten innerhalb eines von den historischen Daten abgedeckten Zeitraums. In der folgenden Abbildung werden die Schwellenwerte mit T1, T2, T3 und T4 bezeichnet.

Backtesting ist ein Prozess zur Bewertung der Prognosegenauigkeit eines zeitabhängigen statistischen Modells anhand historischer Daten.

Dann wird für jeden Schwellenwert Folgendes durchgeführt:

  • Die historischen Daten werden am Schwellenwert abgeschnitten.
  • Das Prognosemodell wird trainiert und auf den abgeschnittenen Daten angewendet.
  • Die Prognosen werden mit den ursprünglichen ungeschnittenen Daten verglichen.

Schließlich wird ein durchschnittlicher Prognosefehler über alle Schwellenwerte ermittelt.

Dieser durchschnittliche Fehler kann als Schätzung des Fehlers angesehen werden, der mit dem Modell verbunden sein wird, wenn es echte Prognosen (über die Zukunft) erstellt. Die Auswahl des richtigen Satzes von Schwellenwerten erfordert in der Regel Fachkenntnisse, die mit dem vorliegenden Problem zusammenhängen. Als Faustregel gilt, dass eine Erhöhung der Anzahl der Schwellenwerte in der Regel die Widerstandsfähigkeit des Prozesses gegen Overfitting-Probleme verbessert.

Für Zwecke der Bestandsoptimierung sind in der Regel nur wenige Schwellenwerte erforderlich, da in der Regel Hunderte von SKUs beteiligt sind, um mit sehr hoher Zuversichtlichkeit zu entscheiden, ob eine Prognosemethode besser ist als eine andere.

Ein häufiger Fehler: einmal lernen, viele Prognosen erstellen

Backtesting ist in der Regel ziemlich ressourcenintensiv, da für jeden Schwellenwert ein neues Prognosemodell trainiert werden muss. Daher beobachten wir häufig, dass Praktiker das Prognosemodell nur einmal trainieren, wobei in der Regel der gesamte Bereich der historischen Daten genutzt wird, und dann mit Backtesting-Iterationen fortsetzen. Der wahrgenommene Vorteil dieses Ansatzes besteht in der Regel in einer massiven Beschleunigung des Backtesting.

Dieser Trick ist jedoch fehlerhaft und führt zu erheblichen Overfitting-Problemen. Tatsächlich wird implizit, da zukünftige Daten dem Prognosemodell zur Verfügung gestellt werden, jede Variablenschätzung, die während der Lernphase stattfindet, dazu führen, dass das Modell einige Informationen über diese Zukunft enthält. Als Ergebnis spiegelt die Genauigkeit, die aus den Backtests gemessen wird, nicht die Generalisierungsfähigkeiten des Modells wider, sondern vielmehr seine Gedächtnis-Fähigkeiten, d.h. die Fähigkeit des Modells, identische Situationen im Trainingsdatensatz zu reproduzieren.

Lokad Gotcha

Backtesting ist ein wesentlicher Bestandteil der Prognosetechnologie von Lokad. Wir verwenden es für jede Zeitreihe, um das Modell auszuwählen, das die endgültige Prognose liefern wird. Die in diesem Artikel vorgestellte einfache Backtesting-Vision ist jedoch nicht für alle Situationen im Einzelhandel und in der Fertigung geeignet. Zum Beispiel können bei neu eingeführten Produkten die Zeitreihen zu kurz sein, um ein signifikantes Backtesting durchzuführen. Promotions und Produktstarts erfordern ebenfalls spezielle Ansätze.