Wir schlagen eine neuartige Methode zur Kodierung kategorialer Merkmale vor, die speziell auf Prognoseanwendungen zugeschnitten ist. Im Wesentlichen kodiert dieser Ansatz kategorialen Merkmale, indem er den Trend der mit jeder Kategorie verbundenen Größen modelliert. In unseren Experimenten zeigt dieser Ansatz erhebliche Leistungsvorteile – sowohl hinsichtlich der Prognosegenauigkeit als auch der Verzerrung –, da er es baumbasierten Ensemble-Modellen ermöglicht, Trends besser zu modellieren und zu extrapolieren.
Einleitung
Der Anstoß für diese Arbeit ging auf zahlreiche Prognoseprojekte für Kunden bei Artefact zurück, Artefact unsere Boosting-Modelle zum Zeitpunkt der Vorhersage eine starke Verzerrung aufwiesen. Im Rahmen einer Diagnosephase stellten wir fest, dass eine der Hauptursachen für die Verzerrung in Ensemble-Modellen in deren Schwierigkeiten lag, Trends und Schwankungen genau zu modellieren.
Im Folgenden werden wir darlegen,warumundwiewir einen neuartigen Ansatz zur Kodierung kategorialer Merkmale verwendet haben. Anhand unserer Experimente, die ein Prognoseprojekt für den Einzelhandel eines Kunden sowie verschiedene öffentlich zugängliche Datensätze umfassten, zeigen wir, dass diese Technik Verzerrungen wirksam mindern und die Genauigkeit verbessern kann.
Boosting und Trends – warum ist das so komplex?
Boosting-Algorithmen tun sich schwer mit der Extrapolation
Boosting-Algorithmen haben Schwierigkeiten bei der Modellierung und Extrapolation von Trends, da sie keine neuen Werte vorhersagen können, die im Trainingssatz nicht vorkommen bzw. in den Blättern fehlen.„Linear Tree“-Modelle versuchen, dieses Problem zu beheben, doch unsere Tests lieferten mit dieser Methode keine eindeutigen Ergebnisse.
Klassische Kodierungen tendieren zu statischen Vorhersagen
Die bei der Datenverbesserung am häufigsten verwendeten Kodierungsmethoden begünstigen statische Beziehungen zwischen unabhängigen und abhängigen Variablen, was wiederum bei Vorliegen von Trends zu einer erhöhten Verzerrung beiträgt. Das folgende Diagramm veranschaulicht dieses Phänomen:

Vereinfachte visuelle Darstellung, die den statischen Charakter der bei Boosting-Algorithmen verwendeten Kodierung kategorialer Merkmale verdeutlicht
Wir sind uns bewusst, dass die obige Darstellung eine starke Vereinfachung darstellt, da Entscheidungsbäume komplexer sind und nichtlineare Zusammenhänge auf der Grundlage mehrerer Faktoren erkennen können. Tatsächlich könnte die Bedingung „die Farbe ist schwarz“ mit „der Monat ist Juni“ verknüpft sein. In diesem Fall hätte die Farbe Schwarz nicht zu jedem Zeitpunkt die gleiche Auswirkung. Aber betrachten wir das Gesamtbild:
Unser neuartiger Ansatz: Dynamische Kodierung kategorialer Merkmale
Grundlagen der dynamischen Kodierung (Version 1 ohne Item-Ebene)
Zusammengefasst lässt sich unsere Methode zur Kodierung kategorialer Merkmale wie folgt beschreiben:Wir modellieren die Trendkomponente jeder Kategorie und verwenden diese Trendwerte, um das jeweilige kategoriale Merkmal zu kodieren.
Das folgende Diagramm veranschaulicht den Unterschied zwischen einer statischen Mittelwertkodierung und einer trendbasierten Kodierung für zwei Farbkategorien: Schwarz und Gold.

Illustration, die das Prinzip der dynamischen Kodierung veranschaulicht, bei dem für jede Kategorie eine Trendmodellierung durchgeführt wird
In unseren Experimenten haben wir uns dafür entschieden, Prophet zur Extraktion der Trendkomponente zu verwenden. Selbstverständlich kommen auch andere Zeitreihenprognosemodelle in Frage.
Beachten Sie, dass die statische Kodierung impliziert, dass der Absatz schwarzer Artikel zu jedem Zeitpunkt auf einem Durchschnittsniveau von 100 Einheiten pro Monat liegt. Die dynamische Kodierung hingegen berücksichtigt den bei schwarzen Artikeln zu beobachtenden Aufwärtstrend und kann diesen in die Zukunft extrapolieren. Eine ähnliche Aussage lässt sich in Bezug auf goldene Artikel treffen. Daher ist unser Ansatz besonders nützlich bei Datensätzen, bei denen die zu prognostizierende Zielvariable über die verschiedenen verfügbaren Kategorien hinweg steile Trends aufweist.
Unser Hauptaugenmerk liegt darauf, das Modell in die Lage zu versetzen, sich leichter an die sich verändernden Beziehungen zwischen den unabhängigen Variablen und der zu prognostizierenden abhängigen Variable anzupassen. Daher könnte diese dynamische Kodierungsmethode auch auf numerische Merkmale angewendet werden. Betrachten wir das Beispiel des Preises. Obwohl der Preis numerisch ist und das Modell darauf basierend direkt Regeln aufstellen kann, können sich die Präferenzen der Menschen für preiswerte oder teure Artikel dennoch im Laufe der Zeit weiterentwickeln und einem bestimmten Verkaufstrend folgen. Im Kontext einer Wirtschaftskrise könnten beispielsweise erschwingliche Produkte einem steigenden Verkaufstrend folgen, während teure Produkte einem rückläufigen Trend folgen könnten. Wenn wir „erschwinglich“ als eine Kategorie und „teuer“ als eine andere betrachten, könnten wir eine dynamische Kodierung für das Preismerkmal vorschlagen, genau wie wir es bei den Farben getan haben.
Es ist wichtig zu beachten, dass bei numerischen Merkmalen sowohl die Basisvariablen als auch die dynamisch kodierten Variablen im Modell verwendet werden können, da sie unterschiedliche Arten von Informationen liefern.
Stärkere Gewichtung dynamischer Merkmale (v2 mit Elementebene)
Zwar stellt diese neue Kodierungsmethode eine Verbesserung dar, doch ist die Bedeutung der kategorialen Merkmale oft nicht hoch genug, um bei der Untersuchung der Merkmalsbedeutungen einen wesentlichen Einfluss auf die Vorhersagen zu haben. Um den dynamischen Merkmalen mehr Gewicht zu verleihen und damit eine bessere Modellierung und Extrapolation von Trends zu ermöglichen, passen wir die Kodierungswerte individuell an jede Zeitreihe bzw. jedes Element an.

Formel zur Darstellung der beiden Komponenten der dynamischen Kodierung: Kategorieebene und Item-Ebene
Um auf unser Farbbeispiel zurückzukommen: Bei zwei verschiedenen schwarzen Artikeln ermöglicht dies eine dynamische Kodierung der Kategorie „Schwarz“, sodass diese für jeden Artikel je nach seinen individuellen bisherigen Verkaufszahlen unterschiedlich ausfällt.

Tabelle zur Veranschaulichung der Berechnung der dynamischen Codierung anhand eines einfachen Beispiels
Versuche und Ergebnisse
Kundendatensatz
Wir haben unseren Ansatz genutzt, um die Umsätze für einen unserer Kunden aus dem Einzelhandel zu prognostizieren. Wir haben unsere Methode in einem breiten Spektrum von Anwendungsfällen gründlich validiert, um ihre Wirksamkeit sicherzustellen. Hier sind einige data zum Versuchsrahmen:

Insgesamt erwies sich die Methode als äußerst effizient undführteüber die 9 Produktbereiche und 5 Kreuzvalidierungsrunden hinwegzu einer durchschnittlichen absoluten Verringerung der Verzerrung um 9,82 % sowie zu einer durchschnittlichen absoluten Steigerung der Prognosegenauigkeit um 6,29%.
Im nächsten Abschnitt wird die Relevanz unserer Methode durch Tests an einem öffentlich zugänglichen Datensatz überprüft.
Datensatz zu den Umsätzen im stationären Handel
In dieser vereinfachten Fallstudie verwenden wir den Kaggle-Datensatz„Store Sales – Time Series Forecasting“. Dieser Datensatz weist bei der Betrachtung der Zeitreihe der durchschnittlichen Umsätze einen steilen Trend auf, was unsere Methode besonders relevant macht. Zudem beträgt der gewählte Prognosehorizont drei Monate, was weit genug in der Zukunft liegt, um von den zusätzlichen Extrapolationsfähigkeiten der dynamischen Kodierung zu profitieren. Zu Demonstrationszwecken beschränken wir den Datensatz auf den 31. März 2016, unmittelbar vor dem Auftreten eines Erdbebens, das zu einer Abflachung der Umsatzkurve führte.
Vor der Kodierung besteht unser ursprünglicher Datensatz zu etwa 75 % aus numerischen Merkmalen, darunter Verzögerungen, gleitende Mittelwerte, Kalendermerkmale und Feiertagsereignisse. Die restlichen 25 % setzen sich aus kategorialen Attributen wie Produktfamilie, Filialnummer, Stadt und anderen zusammen.
Es werden zwei unterschiedliche Modelle trainiert: Das eine nutzt die kategorialen Merkmale, die mithilfe unserer eigens entwickelten Methode dynamisch kodiert wurden, während das andere auf die native Verarbeitung kategorialer Merkmale durch LightGBM zurückgreift.
Beim Vergleich der Leistungsergebnisse lässt sich eine deutliche Verbesserung beim dynamischen Kodierungsansatz feststellen. Die folgende Tabelle gibt einen Überblick über die Ergebnisse:

Vergleich von RMSE, FA und %Bias zwischen der LightGBM-Kodierungsmethode und der dynamischen Kodierung

Durchschnittlicher Wochenumsatz + Prognosen für die nächsten 3 Monate (dynamische Kodierung vs. LightGBM-Kodierungsmethode)
Wie aus der obigen Grafik hervorgeht,erfasst das Modell mit dynamischen Kodierungenden Trend effektiv und extrapoliert ihn, während das alternative Modell damit Schwierigkeiten hat.
Verwendung und Einschränkungen
Unsere Methode erweist sich als besonders wertvoll in Szenarien, in denen die Zeitreiheausgeprägte Trendsaufweist und derPrognosehorizont weit genug in der Zukunft liegt, um von einer Trendextrapolation zu profitieren. Da wir zudemweitere kategoriale Merkmalemitsignifikanter Vorhersagekraftdynamisch kodieren und in das Modell einbeziehen,verstärkt sich der durch unseren Ansatz erzielte Effekt auf die Vorhersagen. Es ist jedoch wichtig zu beachten, dass andere Kodierungsmethoden ihre eigenen Vorteile haben und in anderen Kontexten vorteilhafter sein können. Darüber hinaus besteht die Möglichkeit, beide Kodierungsarten zu kombinieren, um potenziell bessere Ergebnisse zu erzielen.
Fazit
Wir planen, in den kommenden Monaten einen Artikel zu veröffentlichen, der alle Einzelheiten zu unserem Ansatz und der Umsetzung enthalten wird. Bleiben Sie auf dem Laufenden!

BLOG






