Blog

Es ist an der Zeit, Ihren Vorhersagen zu vertrauen

Roel

Aktualisiert Oktober 21, 2025
6 Minuten

Wenn Sie eine Prognosemaschine bauen und dabei sowohl das beste Modell als auch eine faire Einschätzung seiner Leistung suchen, ist dieser Blog genau das Richtige für Sie. Vor allem dann, wenn Sie mit Zeitreihendaten arbeiten.

Was sagen wir voraus?

Versetzen Sie sich in die Lage von John, der das Sicherheitspersonal an den Flughafentoren leitet. Um seine Arbeit gut zu machen, möchte John wissen, wie viele Menschen an den Sicherheitskontrollen ankommen werden. So kann er sicherstellen, dass genügend Personal vorhanden ist, um einen reibungslosen Ablauf zu gewährleisten, aber nicht so viel, dass Geld und Zeit verschwendet werden.

Die Menschen kommen mit verschiedenen Verkehrsmitteln am Flughafen an, zum Beispiel mit dem Auto, dem Zug oder dem Taxi. Die Eingabe für Johns Vorhersageproblem kann also multivariat sein. Die Ausgabe ist lediglich die Anzahl der Personen, die zu jedem Zeitpunkt am Gate erwartet werden (gehen Sie von einem einzigen Gate oder einer Sicherheitskontrolle aus).

Anhand historischer Daten kann John eine Prognosemaschine (ein Modell) trainieren, mit der er eine Schätzung darüber abgeben kann, wie viel Personal er einplanen muss. Die Kosten für zu wenig Personal sind höher als für zu viel. Daher möchte John wissen, wie zuverlässig die Vorhersagen sind, damit er auf der sicheren Seite planen kann.

Es ist wichtig zu erkennen, dass John zwei Ziele verfolgt, die eng miteinander verbunden sind. In diesem Blog lernen Sie eine Methode kennen, mit der Sie die Auswahl des besten Modells und dessen Bewertung kombinieren können. Mit anderen Worten, welches Modell sollte John verwenden und wie sicher kann er sich auf dessen Leistung verlassen.

Beachten Sie, dass es hier nicht um Zeitreihenprognosen geht, sondern um Prognosen mit Daten, die zeitbasierte Informationen enthalten können. Die folgende Abbildung veranschaulicht den Unterschied zwischen den beiden Einstellungen. In unserem Szenario (Pfeil von den Eingabedaten zur Vorhersage) enthalten die Eingabedaten Informationen über die erwartete Nutzung von Autos, Zügen und Taxis für den heutigen Tag, mit denen wir versuchen, die Anzahl der Personen vorherzusagen, die wir heute am Gate erwarten. Im Fall der Vorhersage (Pfeil von Eingabedaten zu Vorhersage) könnten wir zum Beispiel Informationen über das Wetter und den Wochentag als Eingabedaten für heute verwenden und versuchen vorherzusagen, wie viele Personen morgen das Auto, den Zug oder das Taxi benutzen werden. Diese beiden Einstellungen sind natürlich eng miteinander verknüpft, aber unser Schwerpunkt liegt auf der ersten. Das folgende Bild könnte Ihnen den Unterschied verdeutlichen.

Bild laden fehlgeschlagen

Was ist der Ansatz?

Fassen wir die obigen Ausführungen zusammen, so haben wir es mit dem folgenden Szenario zu tun:

  • auf der Suche nach dem besten Modell
  • auf der Suche nach einer unvoreingenommenen Schätzung1 für die Leistung des besten Modells bei aktuellen Daten2
  • Arbeiten mit Zeitreihendaten

Inspiriert durch den großartigen Blog von Sebastian Rashka haben wir seine verschachtelte Kreuzvalidierung auf unsere Umgebung mit Zeitreihendaten zugeschnitten. Kurz gesagt, die äußere Schleife der Kreuzvalidierung wird verwendet, um die Generalisierungsleistung zu schätzen. Und die innere Schleife, die mit der Trainingsmenge der äußeren Schleife durchgeführt wird, dient dazu, die Hyperparameter abzustimmen.

Beachten Sie, dass es sich hierbei um eine sehr spezielle Einstellung handelt und wir nicht behaupten, dass dies generell der beste Ansatz im Umgang mit Vorhersagen und Zeitreihen ist. Es ist jedoch wichtig, dass Sie sicherstellen, dass Ihnen beim Training und Testen mit Zeitreihendaten keine Informationen entgehen. Außerdem ist es wichtig zu verstehen, dass die Suche nach dem besten Modell nicht automatisch zu einer unvoreingenommenen Leistungsschätzung dieses Modells führt, wenn Sie nicht den richtigen Aufbau verwenden. Deshalb haben wir den Rahmen der verschachtelten Kreuzvalidierung auf diese Situation zugeschnitten, um das zu erhalten, was wir suchen.

Zeitreihen-Kreuzvalidator

Als erstes brauchen wir einen Cross-Validator für Zeitreihen. Es gibt bereits einen Cross-Validator für Zeitreihen, der eine Variante von Kfold ist, bei der die letzte Faltung als Testsatz und alle vorherigen Faltungen als Trainingsätze dienen. Die Trainingsmenge wächst also bei jeder nächsten Teilung.

Bild laden fehlgeschlagen

Wir möchten die Größe des Trainingssets konstant halten, damit jede Iteration in der Kreuzvalidierung vergleichbar ist. Also haben wir unseren eigenen benutzerdefinierten Zeitserien-Splitter geschrieben, bei dem sowohl der Trainings- als auch der Testsatz eine variable Größe haben können, aber bei jedem Split die gleiche Größe haben. In Kombination mit der verschachtelten Kreuzvalidierung sieht das schematisch wie folgt aus.

Bild laden fehlgeschlagen

Warum diese Einstellung?

Die Idee für diesen Splitter ist, dass wir in der äußeren Schleife eine Einstellung simulieren wollen, die der Vorhersagezeit ähnelt, in der wir das endgültige Modell verwenden werden. Das endgültige Modell wird mit den neuesten Daten trainiert (in der gleichen Größe wie die Trainingsmenge der äußeren Schleife), wobei die gleiche innere Schleife verwendet wird, um die besten Hyperparameter zu finden. Da die Einstellungen zum Trainingszeitpunkt nun ähnlich wie zum Vorhersagezeitpunkt sind, können wir darauf vertrauen, dass unsere Leistungsschätzung (Leistung für die Testsätze aus der äußeren Schleife) fair ist.

Außerdem stellen wir sicher, dass es keine Überschneidungen zwischen den Testsätzen gibt und dass nur historische Daten (Trainingssatz) verwendet werden, um das beste Modell zu finden, bevor wir seine Leistung an neueren Daten (Testsatz) messen.

Endgültiges Modell

Wenn Sie es nicht mit Zeitreihen zu tun haben, trainieren Sie das endgültige Modell auf allen verfügbaren Daten, wenn Sie alle Ihre Entscheidungen getroffen haben (Algorithmus und Hyperparameter). Bei unseren Zeitreihen ist es jedoch nicht immer der Fall, dass mehr Daten die Vorhersagen verbessern (dies hängt sowohl vom Modell als auch von den Daten ab). Daher entscheiden wir uns in unserem Szenario dafür, das endgültige Modell an die jüngsten Datenpunkte der "Trainingsmenge" (äußere Schleife) anzupassen und den Kreuzvalidator der inneren Schleife zu verwenden, um die beste Einstellung für die Hyperparameter zu finden.

Vorhersage

Für dieses endgültige Modell haben wir eine gute Vorstellung von seiner Leistung, da wir die Leistungsergebnisse während der verschachtelten Kreuzvalidierung in einer ähnlichen Umgebung wie zum Zeitpunkt der Vorhersage gesammelt haben. Anhand dieser Ergebnisse können wir abschätzen, inwieweit wir unserem Modell vertrauen können, wenn wir Vorhersagen für die nächsten Datenpunkte der "Testsatzgröße" (äußere Schleife) treffen.

Um diese Schätzung zu präzisieren, können wir mithilfe von Bootstrap-Stichproben ein Konfidenzintervall für unsere Schätzung erstellen. Das heißt, wir können unsere Vorhersage mit Stichproben von Vorhersagefehlern aus den Testsätzen der äußeren Schleife kombinieren, um viele Vorhersageproben zu erzeugen. Diese Bootstrap-Stichproben können wir dann verwenden, um z.B. die 95%ige Konfidenzgrenze für die ursprüngliche Vorhersage zu erhalten.

Zurück zum Flughafen

Mit der verschachtelten Kreuzvalidierung hat John zwei Möglichkeiten. Erstens hat er angesichts der Prognosen über die Nutzung von Autos, Zügen und Taxis als Eingabedaten ein Modell, mit dem er vorhersagen kann, wie viele Reisende er am Flugsteig erwarten kann. Zweitens weiß er, inwieweit er seinen Vorhersagen vertrauen kann (mithilfe von Bootstrap-Stichproben) und wie viele Mitarbeiter er einplanen sollte, um auf der sicheren Seite zu sein. Die folgende Abbildung zeigt, wie dies aussehen könnte.

Bild laden fehlgeschlagen

Interessieren Sie sich für den Code? Sie finden ihn hier. Soll ich einen Abschnitt (oder Code) über die Bootstrap-Stichprobe einfügen? Lassen Sie es mich wissen!

Ein Dankeschön an Henk und Stijn für hilfreiche Diskussionen und Kommentare.

Möchten Sie Vorhersagen erstellen, denen Sie vertrauen können?

Der GoDataDriven-Kurs Practical Time-Series Analysis and Forecasting führt Sie durch alle Aspekte der Verwendung von Zeitreihendaten zur Erstellung von Vorhersagen und Prognosen.


  1. Wenn Sie nur eine punktuelle Schätzung der Leistung wünschen, können Sie mit einem einzigen Hold-out-Set arbeiten.

  2. Wir möchten uns ein Bild von der Leistung in einem bestimmten Zeitbereich machen.

Verfasst von

Roel

Contact

Let’s discuss how we can support your journey.