Unser Video über Overfitting hat seit seiner Veröffentlichung vor 5 Jahren viel Aufmerksamkeit erhalten, das heißt, vor einem halben Jahrhundert für ein Startup wie Lokad. Jahre später haben wir viel Fortschritte gemacht, aber Overfitting bleibt ein schwieriges Thema.

Kurz gesagt, Overfitting bedeutet das Risiko, dass Ihr Prognosemodell nur genau ist, wenn es die Vergangenheit vorhersagt, und nicht, wenn es die Zukunft vorhersagt. Ein gutes Prognosemodell sollte gut darin sein, die Daten vorherzusagen, die Sie nicht haben.

Ein häufiger Irrtum besteht darin anzunehmen, dass es keine andere Möglichkeit gibt, ein Modell zu bewerten, außer seine Leistung anhand der historischen Daten zu überprüfen. Natürlich müssen die historischen Daten genutzt werden; jedoch, wenn es eine Erkenntnis gibt, die man aus der Vapnik-Chervonenkis-Theorie mitnehmen sollte, dann ist es, dass nicht alle Modelle gleich sind: Einige Modelle tragen ein viel höheres strukturelles Risiko - ein Konzept, das Teil der Theorie ist - als andere. Eine ganze Klasse von Modellen kann entweder als sicher oder unsicher betrachtet werden, aus einer rein theoretischen Perspektive, was sich in sehr realen Genauigkeitsverbesserungen niederschlägt.

Overfitting-Probleme können nicht vollständig vermieden werden, aber sie können dennoch gemildert werden.

Es gibt mehrere Möglichkeiten, Overfitting zu mildern. Zunächst sollte die eine Regel niemals gebrochen werden: Ein Prognosemodell sollte niemals anhand der Daten bewertet werden, die zur Schulung des Modells verwendet wurden. Viele Toolkits regressieren Modelle auf der gesamten Historie, um die Gesamtanpassung anschließend zu schätzen. Nun, wie der Name schon sagt, gibt Ihnen ein solcher Prozess die Anpassung, aber nichts weiter. Insbesondere sollte die Anpassung nicht als irgendeine Art von erwarteter Genauigkeit interpretiert werden, das ist sie nicht. Die Anpassung ist in der Regel viel niedriger als die tatsächliche Genauigkeit.

Zweitens ist eine einfache Möglichkeit, Overfitting zu mildern, die Durchführung von umfangreichen Backtests. In der Praxis bedeutet dies, dass Ihr Prozess den Eingabedatensatz über Dutzende - wenn nicht Hunderte - von inkrementellen Datenschwellenwerten aufteilen und jedes Mal alle Prognosemodelle neu trainieren und neu bewerten muss. Backtesting erfordert viel Rechenleistung. Die Fähigkeit, die massive Rechenleistung zuzuweisen, die für umfangreiche Backtests erforderlich ist, war tatsächlich einer der Hauptgründe, warum Lokad sich von Cloud Computing überhaupt erst zugewandt hat.

Drittens ist selbst der umfangreichste Backtest wenig wert, wenn Ihre Zeitreihen von geringer Dichte sind, das heißt, wenn Zeitreihen Artikel mit geringen Verkaufsvolumina darstellen. Tatsächlich lernt der Backtest-Prozess sehr wenig, wenn er über Nullen iteriert, da die meisten Datenpunkte der Zeitreihen den Wert Null haben. Leider haben etwa 90% der verkauften oder betreuten Artikel eine Nachfragehistorie, die aus statistischer Sicht als dünn besetzt gilt. Um dieses Problem anzugehen, sollte die Leistung des Modells aus einem mehrfachen Zeitreihen-Blickwinkel bewertet werden. Es kommt nicht auf die Leistung des Modells über eine einzelne Zeitreihe an, sondern auf seine Leistung über klar definierte Cluster von Zeitreihen. Dann wird alles zu einem Gleichgewicht zwischen der lokalen und der globalen empirischen Genauigkeit, wenn es darum geht, das beste Modell auszuwählen.

Noch Fragen? Zögern Sie nicht, sie als Kommentare zu posten.


Leserkommentare (2)

Shaun, Backtesting ist ein sehr grundlegendes Werkzeug in der Statistik. Es wird seit Jahrzehnten in nahezu allen Bereichen verwendet: Finanzen, Meteorologie, Transport, Energie, … Backtesting erfordert kein “Vertrauen”, es handelt sich um die einzige solide Methodik, die uns bekannt ist, um die Genauigkeit eines Vorhersageprozesses zu bewerten, und es gibt eine Fülle von Literatur zu diesem Thema. Für eine sanfte Einführung sollten Sie wirklich mit dem Lesen von “Elements of Statistical Learning” beginnen. Vor 4 Jahren | Joannes Vermorel


Joannes, Das ist äußerst interessant. Allerdings zögere ich, wie ich das meinen Kunden erklären soll. Also, wenn ich das richtig verstehe, kann man in Lokad Backtesting durchführen, aber wenn Backtesting - das beim Lesen eine Form des maschinellen Lernens ist - hat man dann nicht eine erhebliche Herausforderung, zu erklären, was getan wurde? Wenn es zu einem fortgeschrittenen Algorithmus wird, muss man dann im Grunde genommen darauf vertrauen, dass er funktioniert? Offensichtlich ist dies ein Hauptaugenmerk für Lokad, also haben Sie alle dort viel darüber nachgedacht. Ich denke jedoch, dass es eine begrenzte Unternehmenszielgruppe gibt, die die spezifischen Details darüber verstehen kann, wie es funktioniert. Verlässt sich Lokad also auf die Ergebnisse von Forschungen, die Lokad bei früheren Unternehmen durchgeführt hat - um den Nettonutzen dieses Backtestings zu zeigen? Vor 4 Jahren | Shaun Snapp