Backtesting

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

Im Kontext der Zeitreihen Prognose bezieht sich der Begriff Backtesting auf den Prozess, die Genauigkeit einer Prognosemethode mithilfe vorhandener historischer Daten zu beurteilen. Der Prozess ist typischerweise iterativ und wird über mehrere im historischen Datensatz vorhandene Zeitpunkte wiederholt. Backtesting wird verwendet, um die erwartete zukünftige Genauigkeit einer Prognosemethode zu schätzen, was nützlich ist, um zu beurteilen, welches Prognosemodell als das genaueste betrachtet werden sollte.

Wie Backtesting funktioniert

Der Backtesting-Prozess beginnt mit der Auswahl einer Liste von Schwellenwert-Daten innerhalb eines durch die historischen Daten abgedeckten Zeitraums. In der untenstehenden Abbildung werden die Schwellen als T1, T2, T3 und T4 bezeichnet.

Backtesting is a process to access the forecasting accuracy of a time-dependent statistical model using historical data.

Dann, für jeden Schwellenwert,

  • die historischen Daten werden am Schwellenwert abgeschnitten,
  • das Prognosemodell wird trainiert und auf den abgeschnittenen Daten angewendet,
  • die Prognosen werden mit den ursprünglichen, nicht abgeschnittenen Daten verglichen.

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

Dieser durchschnittliche Fehler kann als Schätzung des Fehlers interpretiert werden, der mit dem Modell bei der Erstellung von echten Prognosen (über die Zukunft) verbunden sein wird. Die Auswahl der richtigen Schwellenwerte erfordert typischerweise ein gewisses Fachwissen in Bezug auf das jeweilige Problem. Als Faustregel gilt, dass die Erhöhung der Anzahl der Schwellenwerte die Resilienz des Prozesses gegenüber Overfitting Problemen typischerweise verbessert.

Für Zwecke der Bestandsoptimierung, da typischerweise hunderte SKUs involviert sind, werden nur wenige Schwellenwerte benötigt, um mit sehr hoher Sicherheit zu entscheiden, ob eine Prognosemethode besser als eine andere ist.

Ein häufiger Fehler: Einmal lernen, viele vorhersagen

Backtesting ist typischerweise sehr ressourcenintensiv in Bezug auf Rechenleistung, da ein neues Prognosemodell für jeden Schwellenwert trainiert werden muss. Infolgedessen beobachten wir routinemäßig Praktiker, die das Prognosemodell nur einmal trainieren, in der Regel unter Ausnutzung des gesamten Bereichs historischer Daten, und dann mit Backtesting-Iterationen fortfahren. Der vermeintliche Vorteil dieses Ansatzes ist typischerweise eine massive Beschleunigung des Backtestings.

Dieser Trick ist jedoch fehlgeleitet und führt zu erheblichen Overfitting-Problemen. Tatsächlich bewirkt es, dass – implizit, da dem Prognosemodell Zukundaten zur Verfügung gestellt werden – jede Variablenabschätzung, die während der Lernphase erfolgt, dazu führt, dass das Modell Informationen über diese Zukunft einbettet. Infolgedessen spiegelt die aus den Backtests gemessene Genauigkeit nicht die Generalisierungsfähigkeiten des Modells wider, sondern vielmehr dessen Gedächtnisfähigkeiten, d.h. die Fähigkeit des Modells, identische Situationen, die im Trainingsdatensatz vorkommen, zu reproduzieren.

Lokad Gotcha

Backtesting steht im Mittelpunkt der Prognosetechnologie von Lokad. Wir verwenden es für jede Zeitreihe, um auszuwählen, welches Modell zur Erstellung der endgültigen Prognose genutzt wird. Allerdings ist die einfache Backtesting-Vision, die in diesem Artikel präsentiert wird, nicht für alle Situationen im Einzelhandel und in der Fertigung geeignet. Beispielsweise könnte die Zeitreihe für neu eingeführte Produkte zu kurz sein, um ein signifikantes Backtesting durchzuführen. Promotionen und Produkteinführungen erfordern ebenfalls spezielle Ansätze.