Kreuzvalidierung

Kreuzvalidierung (engl. cross validation) ist eine verbreitete Validierungsstrategie im Machine-Learning-Bereich, wenn es darum geht ein Modell zu finden, das möglichst gut generalisiert, d.h. eine gute Leistung und robuste Ergebnisse auf vorher nicht gesehenen Daten liefert.

Um ein solches Modell zu finden, ist es üblich, einen vorliegenden Datensatz in ein Trainings- und ein Testset zu unterteilen. Ersteres wird verwendet, um die passenden Modellparameter zu erlernen; letzteres, um die Güte des trainierten Modells auf einem unabhängigen Datensatz zu überprüfen und die Vorhersagegenauigkeit zu bemessen.

Eine einfache Out-of-Sample-Validierung, bei der der vorhandene Datensatz nur einmal in Trainings- und Validierungsdaten unterteilt wird, hat jedoch den Nachteil, dass relevante Muster aus den Validierungsdaten, die nicht in den Trainingsdaten zu erkennen waren, im Modell nicht berücksichtigt werden können. Wenn umgekehrt das Validierungsset die Realität nicht gut abbildet, kann man keine verlässlichen Erkenntnisse über die Generalisierbarkeit des Modells gewinnen.

Diesem Problem begegnet die Kreuzvalidierung, indem sie eine Unterteilung des Datensatzes in Trainings- und Testset mehrfach wiederholt und zwar so lange, bis jedes Element genau einmal für die Testmenge verwendet wurde. Auf diese Weise wird das Modell am Ende auf (fast) allen Daten trainiert und auf (fast) allen Daten einmal validiert. Im Gegenzug braucht die Kreuzvalidierung länger für die Berechnungen als eine einfache Out-of-Sample-Validierung.

Konkret läuft das Verfahren der k-fold cross-validation wie folgt ab:

  1. Man unterteilt den Datensatz in k (z. B. 5 oder 10) gleich große Blöcke.
  2. Die Werte in jeweils einem der k Blöcke werden prognostiziert, indem die folgenden Schritte wiederholt werden. Diese Schritte werden für jeden Block, also insgesamt k mal, durchlaufen.

    i) Das Modell wird auf den übrigen k-1 Blöcken trainiert. (Trainingsset)

    ii) Die Werte im k-ten Block werden auf Basis des trainierten Modells prognostiziert. (Validierungsset)

    iii) Die prognostizierten Werte werden mit den tatsächlichen Werten verglichen und anhand eines Gütemaßes bewertet.

  3. Die so erhaltenen Gütemaße werden zusammengefasst, z. B. durch Bilden eines Mittelwertes.

Bei der Kreuzvalidierung sollten die betrachteten Daten unabhängig sein. Da dies bei Zeitreihendaten nicht ohne Weiteres gegeben ist, haben Bergmeir und Benítez (2012) vorgeschlagen, bei der Kreuzvalidierung auf Basis von Zeitreihendaten einige Datenpunkte an den Rändern des Validierungszeitraums zu entfernen, damit Trainings- und Validierungsset weniger stark voneinander abhängen. Dieses Verfahren heißt k-fold blocked cross-validation und ist das für Zeitreihenprognosen typischerweise verwendete Kreuzvalidierungsverfahren.

Sie sind dabei, unsere Webseite über einen externen Link zu verlassen. Bitte beachten Sie, dass der Inhalt der verlinkten Seite außerhalb unserer Kontrolle liegt.

Cookies und andere (Dritt-)Dienste

Diese Website speichert Cookies auf Ihrem Computer nur, wenn Sie dem ausdrücklich zustimmen. Bei Zustimmung werden insbesondere auch Dritt-Dienste eingebunden, die zusätzliche Funktionalitäten, wie beispielsweise die Buchung von Terminen, bereitstellen. Diese Cookies und Dienste werden verwendet, um Informationen darüber zu sammeln, wie Sie mit unserer Website interagieren, und um Ihre Browser-Erfahrung zu verbessern und anzupassen. Zudem nutzen wir diese Informationen für Analysen und Messungen zu unseren Besuchern auf dieser Website und anderen Medien. Weitere Informationen zu den von uns verwendeten Cookies und Dritt-Diensten finden Sie in unseren Datenschutzbestimmungen.