Wie kann man Overfitting bei der Nachfrageprognose mindern?

Unser Video über Overfitting hat seit seiner Veröffentlichung vor 5 Jahren – das heißt, vor einem halben Jahrhundert für ein Startup wie Lokad – viel Aufmerksamkeit erhalten. Jahre später haben wir große Fortschritte gemacht, aber Overfitting bleibt ein schwieriges Thema.
Kurz gesagt, Overfitting stellt das Risiko dar, dass Ihr Prognosemodell nur in der Lage ist, die Vergangenheit genau vorherzusagen, und nicht die Zukunft. Ein gutes Prognosemodell sollte fähig sein, die Daten zu prognostizieren, die Ihnen noch nicht vorliegen.
Ein häufiges Missverständnis ist, dass es keinen anderen Weg gibt, ein Modell zu bewerten, als seine Leistung anhand historischer Daten zu überprüfen. Zwar müssen die historischen Daten ausgenutzt werden; jedoch, wenn es eine Erkenntnis aus der [Vapnik-Chervonenkis-Theorie] gibt, dann lautet sie: Nicht alle Modelle werden gleich geboren: Einige Modelle tragen ein viel höheres Struktur-Risiko - ein Konzept, das Teil der Theorie ist - als andere. Ganze Klassen von Modellen können entweder als sicher oder als unsicher betrachtet werden, aus rein theoretischer Sicht, was in sehr realen Prognosegenauigkeitsverbesserungen resultiert.
Overfitting-Probleme können nicht vollständig vermieden werden, aber sie können dennoch gemildert werden.
Es gibt mehrere Möglichkeiten, Overfitting zu mindern. Zunächst gilt eine Regel, die Sie niemals brechen sollten: Ein Prognosemodell sollte niemals anhand der Daten bewertet werden, die zu seiner Schulung verwendet wurden. Viele Toolkits passen Modelle an die gesamte Historie an, um anschließend die generelle Passung zu schätzen. Wie der Name schon sagt, liefert ein solcher Prozess die Passung, aber nichts weiter. Insbesondere darf die Passung nicht als eine Art erwartete Genauigkeit interpretiert werden, das ist sie nicht. Die Passung ist typischerweise viel niedriger als die tatsächliche Genauigkeit.
Zweitens, eine einfache Methode, Overfitting zu mindern, besteht darin, umfassendes Backtesting durchzuführen. In der Praxis bedeutet dies, dass Ihr Prozess den Eingangsdatensatz auf Dutzende – wenn nicht Hunderte – von inkrementellen Datumsgrenzen aufteilen und alle Prognosemodelle jedes Mal neu trainieren und neu bewerten muss. Backtesting erfordert viel Rechenleistung. Die Fähigkeit, die enorme Rechenleistung bereitzustellen, die für umfassendes Backtesting benötigt wird, war tatsächlich einer der Hauptgründe, warum Lokad zu Cloud Computing wechselte von Anfang an.
Drittens, selbst das umfangreichste Backtesting ist wenig wert, wenn Ihre Zeitreihen von vornherein spärlich sind, das heißt, wenn Zeitreihen Artikel mit geringen Verkaufsvolumen darstellen. Tatsächlich lernt der Backtesting-Prozess sehr wenig, da die meisten Datenpunkte der Zeitreihen null sind. Unglücklicherweise haben für den Handel etwa 90% der verkauften oder bedienten Artikel eine Nachfragehistorie, die aus statistischer Sicht als spärlich gilt. Um dieses Problem zu beheben, sollte die Leistung des Modells aus einer multiplen Zeitreihen-Perspektive bewertet werden. Es kommt nicht auf die Leistung des Modells bei einer einzelnen Zeitreihe an, sondern auf seine Leistung über gut definierte Cluster von Zeitreihen. Dann entsteht stets ein Ausgleich zwischen der lokalen und der globalen empirischen Genauigkeit, wenn es darum geht, das beste Modell auszuwählen.
Haben Sie Fragen? Zögern Sie nicht, diese als Kommentare zu posten.
Leserkommentare (2)
Shaun, Backtesting ist ein sehr grundlegendes Werkzeug in der Statistik. Es wird seit Jahrzehnten in nahezu allen Bereichen eingesetzt: Finanzen, Meteorologie, Transport, Energie, … Backtesting erfordert kein “Vertrauen” – es ist nahezu die einzige solide Methodik, die uns zur Bewertung der Genauigkeit eines Vorhersageprozesses bekannt ist, und es gibt einen Berg von Literatur zu diesem Thema. Für eine leichte Einführung sollten Sie wirklich mit dem Lesen von “Elements of statistical learning”
Joannes Vermorel (4 years ago)
Joannes, Das ist äußerst interessant. Allerdings schaudert es mich, wie ich das meinen Kunden erklären soll. Also, wenn ich das richtig verstehe, kann man bei Lokad Backtesting durchführen. Allerdings stellt Backtesting – was man beim Lesen als eine Form von machine learning erkennt – eine erhebliche Herausforderung dar, wenn es darum geht, zu erklären, was gemacht wurde. Wenn es zu einem fortgeschrittenen Algorithmus wird, muss man ihm im Grunde vertrauen, dass er funktioniert. Offensichtlich ist dies ein zentraler Fokus bei Lokad, sodass alle dort diesem Thema viel Aufmerksamkeit geschenkt haben. Dennoch denke ich, dass nur ein begrenztes Unternehmenspublikum die spezifischen Details seiner Funktionsweise versteht. Vertraut Lokad also auf die Ergebnisse von Forschungen, die Lokad bei früheren Unternehmen durchgeführt hat – welche den Nettovorteil dieses Backtestings aufzeigen? Vertraut Lokad also auf die Ergebnisse von Forschungen, die Lokad bei früheren Unternehmen durchgeführt hat – welche den Nettovorteil dieses Backtestings aufzeigen?
Shaun Snapp (4 years ago)