Bewerten der Prädiktorgenauigkeit - Amazon Forecast

Amazon Forecast ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von Amazon Forecast können den Service weiterhin wie gewohnt nutzen. Erfahren Sie mehr“

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Bewerten der Prädiktorgenauigkeit

Amazon Forecast erstellt Genauigkeitsmetriken zur Bewertung von Prädiktoren und hilft Ihnen bei der Auswahl der für die Erstellung von Prognosen zu verwendenden Kennzahlen. Bei der Forecast werden Prädiktoren anhand der Metriken Root Mean Square Error (RMSE), Weighted Quantil Loss (wQL), Mean Absolute Percentage Error (MAPE), Mean Absolute Scaled Error (MASE) und Weighted Absolute Percentage Error (WAPE) bewertet.

Amazon Forecast verwendet Backtesting, um Parameter zu optimieren und Genauigkeitskennzahlen zu erstellen. Beim Backtesting teilt Forecast Ihre Zeitreihendaten automatisch in zwei Sätze auf: einen Trainingssatz und einen Testsatz. Das Trainingsset wird verwendet, um ein Modell zu trainieren und Prognosen für Datenpunkte innerhalb des Testsatzes zu generieren. Die Forecast bewertet die Genauigkeit des Modells, indem die prognostizierten Werte mit den beobachteten Werten im Testsatz verglichen werden.

Mit Forecast können Sie Prädiktoren anhand verschiedener Prognosetypen bewerten, bei denen es sich um eine Reihe von Quantilprognosen und die Mittelwertprognose handeln kann. Die Mittelwertprognose liefert eine Punkteschätzung, wohingegen Quantilprognosen in der Regel eine Reihe möglicher Ergebnisse liefern.

Python-Notizbücher

Eine step-by-step Anleitung zur Auswertung von Prädiktormetriken finden Sie unter Berechnung von Metriken mithilfe von Backtests auf Elementebene. .

Interpretieren von Genauigkeitsmetrik

Amazon Forecast bietet Metriken für den quadratischen Mittelwert (RMSE), den gewichteten Quantilverlust (wQL), den durchschnittlichen gewichteten Quantilverlust (Average wQL), den mittleren absoluten Skalierungsfehler (MASE), den mittleren absoluten prozentualen Fehler (MAPE) und den gewichteten absoluten prozentualen Fehler (WAPE) zur Bewertung Ihrer Prädiktoren. Zusammen mit den Kennzahlen für den Gesamtprädiktor berechnet Forecast die Metriken für jedes Backtest-Fenster.

Mit dem Amazon Forecast Software Development Kit (SDK) und der Amazon Forecast-Konsole können Sie Genauigkeitsmetriken für Ihre Prädiktoren anzeigen.

Forecast SDK

Geben Sie unter GetAccuracyMetricsOperation Ihre an,PredictorArn um die RMSE-, MASE-, MAPE-, WAPE-, Average wQL- und wQL-Metriken für jeden Backtest anzuzeigen.

{ "PredictorArn": "arn:aws:forecast:region:acct-id:predictor/example-id" }
Forecast Console

Wählen Sie auf der Seite „Prädiktoren“ Ihren Prädiktor aus. Die Genauigkeitsmetriken für den Prädiktor werden im Abschnitt Prädiktor-Metriken angezeigt.

Anmerkung

Für durchschnittliche wQL-, wQL-, RMSE-, MASE-, MAPE- und WAPE-Metriken weist ein niedrigerer Wert auf ein überlegenes Modell hin.

Gewichteter Quantilverlust (wQL)

Die Metrik Gewichteter Quantilverlust (wQL) misst die Genauigkeit eines Modells bei einem bestimmten Quantil. Dies ist besonders nützlich, wenn für Unter- und Überprognosen unterschiedliche Kosten anfallen. Indem Sie die Gewichtung (τ) der wQL-Funktion festlegen, können Sie automatisch unterschiedliche Strafen für Zu- und Unterprognosen einbauen.

Die Verlustfunktion wird wie folgt berechnet.

Mathematical equation for weighted quantile loss function with tau parameter.
Wobei gilt:

τ- ein Quantil in der Menge {0,01, 0,02,..., 0,99}

qi,t (τ) - das vom Modell vorhergesagte τ-Quantil.

yi,t - der beobachtete Wert am Punkt (i, t)

Die Quantile (τ) für wQL können zwischen 0,01 (P1) und 0,99 (P99) liegen. Die wQL-Metrik kann für die Mittelwertprognose nicht berechnet werden.

Standardmäßig berechnet Forecast wQL bei0.1 (P10),0.5 (P50) und0.9 (P90).

  • P10 (0,1) — Es wird erwartet, dass der wahre Wert in 10% der Fälle unter dem prognostizierten Wert liegt.

  • P50 (0,5) — Es wird erwartet, dass der wahre Wert in 50% der Fälle unter dem prognostizierten Wert liegt. Dies wird auch als Medianprognose bezeichnet.

  • P90 (0.9) — Es wird erwartet, dass der wahre Wert in 90% der Fälle unter dem prognostizierten Wert liegt.

Im Einzelhandel sind die Kosten einer Unterversorgung oft höher als die Kosten einer Überversorgung. Daher können Prognosen bei P75 (τ= 0,75) aussagekräftiger sein als Prognosen zum Medianquantil (P50). In diesen Fällen weist wQL [0,75] einer Unterprognose ein höheres Strafgewicht zu (0,75) und einer Überprognose ein geringeres Strafgewicht (0,25).

Two probability distribution curves showing demand forecasting at P50 and P75 quantiles.

Die obige Abbildung zeigt die unterschiedlichen Nachfrageprognosen bei wQL [0,50] und wQL [0,75]. Der prognostizierte Wert für P75 ist deutlich höher als der prognostizierte Wert für P50, da die P75-Prognose die Nachfrage voraussichtlich in 75% der Fälle decken wird, wohingegen die P50-Prognose die Nachfrage voraussichtlich nur in 50% der Fälle decken wird.

Wenn die Summe der beobachteten Werte über alle Elemente und Zeitpunkte in einem bestimmten Backtest-Fenster ungefähr Null ist, ist der gewichtete Quantilverlust undefiniert. In diesen Fällen gibt Forecast den ungewichteten Quantilverlust aus, der der Zähler im wQL-Ausdruck ist.

Die Forecast berechnet auch den durchschnittlichen wQL, der den Mittelwert der gewichteten Quantilverluste über alle angegebenen Quantile darstellt. Standardmäßig ist dies der Durchschnitt von wQL [0,10], wQL [0,50] und wQL [0,90].

Gewichteter absoluter prozentualer Fehler (WAPE)

Der gewichtete absolute prozentuale Fehler (WAPE) misst die Gesamtabweichung der prognostizierten Werte von den beobachteten Werten. WAPE wird berechnet, indem die Summe der beobachteten Werte und die Summe der prognostizierten Werte genommen und der Fehler zwischen diesen beiden Werten berechnet wird. Ein niedrigerer Wert bedeutet ein genaueres Modell.

Wenn die Summe der beobachteten Werte für alle Zeitpunkte und alle Elemente in einem bestimmten Backtest-Fenster ungefähr Null ist, ist der gewichtete absolute prozentuale Fehlerausdruck undefiniert. In diesen Fällen gibt Forecast die ungewichtete absolute Fehlersumme aus, die der Zähler im WAPE-Ausdruck ist.

Mathematical formula for WAPE showing summation of absolute differences divided by sum of absolute values.
Wobei gilt:

yi,t - der beobachtete Wert am Punkt (i, t)

i,t- der vorhergesagte Wert am Punkt (i, t)

Die Forecast verwendet den Prognosemittelwert als prognostizierten Wert,i,t.

WAPE ist robuster gegenüber Ausreißern als Root Mean Square Error (RMSE), da es den absoluten Fehler anstelle des quadratischen Fehlers verwendet.

Amazon Forecast bezeichnete die WAPE-Metrik zuvor als Mean Absolute Percentage Error (MAPE) und verwendete die Medianprognose (P50) als prognostizierten Wert. Forecast verwendet jetzt den Mittelwert der Prognose, um den WAPE zu berechnen. Die wQL [0.5] -Metrik entspricht der WAPE [Median] -Metrik, wie unten dargestellt:

Mathematical equation showing the equivalence of wQL[0.5] and WAPE[median] metrics.

Quadratischer Mittelwertfehler (RMSE)

Der Root Mean Square Error (RMSE) ist die Quadratwurzel des Durchschnitts der quadrierten Fehler und reagiert daher empfindlicher auf Ausreißer als andere Genauigkeitsmetriken. Ein niedrigerer Wert bedeutet ein genaueres Modell.

Mathematical formula for Root Mean Square Error (RMSE) with summation and square root.
Wobei gilt:

yi,t - der beobachtete Wert am Punkt (i, t)

i,t- der vorhergesagte Wert am Punkt (i, t)

nT - die Anzahl der Datenpunkte in einem Testsatz

Die Forecast verwendet den Prognosemittelwert als prognostizierten Wert,i,t. Bei der Berechnung von Prädiktormetriken ist nT die Anzahl der Datenpunkte in einem Backtest-Fenster.

RMSE verwendet den quadrierten Wert der Residuen, wodurch die Wirkung von Ausreißern verstärkt wird. In Anwendungsfällen, in denen nur wenige große Fehlvorhersagen sehr kostspielig sein können, ist der RMSE die relevantere Metrik.

Prädiktoren, die vor dem 11. November 2020 erstellt wurden, berechneten den RMSE standardmäßig mit dem 0,5-Quantil (P50). Die Forecast verwendet jetzt den Mittelwert der Prognose.

Mittlerer absoluter prozentualer Fehler (MAPE)

MAPE (Mean Absolute Percentage Error) berechnet den absoluten Wert des prozentualen Fehlers zwischen beobachteten und prognostizierten Werten für jede Zeiteinheit und gibt dann den Durchschnitt dieser Werte. Ein niedrigerer Wert bedeutet ein genaueres Modell.

Mathematical formula for Mean Absolute Percentage Error (MAPE) calculation.
Wobei gilt:

At - der beobachtete Wert am Punkt t

Ft - der vorhergesagte Wert am Punkt t

n - die Anzahl der Datenpunkte im Zeitfolge-Array

Die Forecast verwendet den Prognosemittelwert als prognostizierten Wert,t F.

MAPE ist nützlich für Fälle, in denen sich die Werte zwischen Zeitpunkten erheblich unterscheiden und Ausreißer erhebliche Auswirkungen haben.

Mittlerer absoluter skalierter Fehler (MASE)

Der mittlere absolute skalierte Fehler (MASE) wird berechnet, indem der durchschnittliche Fehler durch einen Skalierungsfaktor dividiert wird. Dieser Skalierungsfaktor hängt vom Saisonalitätswert m ab, der auf der Grundlage der Prognosehäufigkeit ausgewählt wird. Ein niedrigerer Wert bedeutet ein genaueres Modell.

Mathematical formula for Mean Absolute Scaled Error (MASE) with summation and absolute value notations.
Wobei gilt:

Yt - der beobachtete Wert am Punkt t

Yt-m - der beobachtete Wert am Punkt t-m

ej - der Fehler am Punkt j (beobachteter Wert - prognostizierter Wert)

m - der Saisonalitätswert

Die Forecast verwendet den Prognosemittelwert als prognostizierten Wert.

MASE ist ideal für Datensätze, die zyklischer Natur sind oder saisonale Eigenschaften aufweisen. Beispielsweise können Prognosen für Artikel, die im Sommer stark und im Winter wenig nachgefragt werden, von der Berücksichtigung der saisonalen Auswirkungen profitieren.

Exportieren von Genauigkeitsmetrik

Anmerkung

Exportdateien können direkt Informationen aus dem Datensatz-Import zurückgeben. Dadurch sind die Dateien anfällig für die CSV-Injektion, wenn die importierten Daten Formeln oder Befehle enthalten. Aus diesem Grund können exportierte Dateien Sicherheitswarnungen auslösen. Um böswillige Aktivitäten zu vermeiden, deaktivieren Sie Links und Makros beim Lesen exportierter Dateien.

Mit Forecast können Sie prognostizierte Werte und Genauigkeitsmetriken exportieren, die beim Backtesting generiert wurden.

Sie können diese Exporte verwenden, um bestimmte Elemente zu bestimmten Zeitpunkten und Quantilen auszuwerten und Ihren Prädiktor besser zu verstehen. Die Backtest-Exporte werden an einen bestimmten S3-Speicherort gesendet und enthalten zwei Ordner:

  • Prognosewerte: Enthält CSV- oder Parquet-Dateien mit prognostizierten Werten für jeden Prognosetyp für jeden Backtest.

  • accuracy-metrics-values: Enthält CSV- oder Parquet-Dateien mit Metriken für jeden Backtest sowie den Durchschnitt aller Backtests. Zu diesen Metriken gehören wQL für jedes Quantil, Average wQL, RMSE, MASE, MAPE und WAPE.

Derforecasted-values Ordner enthält prognostizierte Werte für jeden Prognosetyp für jedes Backtest-Fenster. Es enthält auch Informationen zu Artikel-IDs, Dimensionen, Zeitstempeln, Zielwerten sowie Start- und Endzeiten des Backtest-Fensters.

Deraccuracy-metrics-values Ordner enthält Genauigkeitsmetriken für jedes Backtest-Fenster sowie die Durchschnittsmetriken für alle Backtest-Fenster. Es enthält wQL-Metriken für jedes angegebene Quantil sowie durchschnittliche wQL-, RMSE-, MASE-, MAPE- und WAPE-Metriken.

Dateien in beiden Ordnern folgen der Namenskonvention:<ExportJobName>_<ExportTimestamp>_<PartNumber>.csv.

Sie können Genauigkeitsmetriken mit dem Amazon Forecast Software Development Kit (SDK) und der Amazon Forecast-Konsole exportieren.

Forecast SDK

Geben Sie mithilfe des CreatePredictorBacktestExportJobVorgangs Ihren S3-Standort und Ihre IAM-Rolle im DataDestinationObjekt zusammen mit demPredictorArn und anPredictorBacktestExportJobName.

Beispiel:

{ "Destination": { "S3Config": { "Path": "s3://bucket/example-path/", "RoleArn": "arn:aws:iam::000000000000:role/ExampleRole" } }, "Format": PARQUET; "PredictorArn": "arn:aws:forecast:region:predictor/example", "PredictorBacktestExportJobName": "backtest-export-name", }
Forecast Console

Wählen Sie auf der Seite „Prädiktoren“ Ihren Prädiktor aus. Wählen Sie im Abschnitt Predictor-Metriken die Option Backtest-Ergebnisse exportieren aus.

Legen Sie während der Exportphase „Prädiktor-Backtest erstellen“ die Felder Exportname, IAM-Rolle und Exportort für den S3-Prädiktor-Backtest fest.

Form for exporting predictor backtest data to S3, with fields for name, IAM role, and location.

Forecast-Typen auswählen

Amazon Forecast verwendet Prognosetypen, um Vorhersagen zu erstellen und Prädiktoren auszuwerten. Es gibt zwei Arten von Forecast-Arten:

  • Prognosetyp Mittelwert — Eine Prognose, bei der der Mittelwert als Erwartungswert verwendet wird. Wird normalerweise als Punktprognose für einen bestimmten Zeitpunkt verwendet.

  • Quantil-Prognosetyp — Eine Prognose mit einem bestimmten Quantil. Wird in der Regel verwendet, um ein Vorhersageintervall bereitzustellen, bei dem es sich um einen Bereich möglicher Werte handelt, um die Prognoseunsicherheit zu berücksichtigen. Bei einer Prognose am0.65 Quantil wird beispielsweise ein Wert geschätzt, der in 65% der Fälle unter dem beobachteten Wert liegt.

Standardmäßig verwendet Forecast die folgenden Werte für die Prädiktor-Prognosetypen:0.1 (P10),0.5 (P50) und0.9 (P90). Sie können bis zu fünf benutzerdefinierte Prognosetypen auswählen, daruntermean Quantile im Bereich von0.01 (P1) bis0.99 (P99).

Quantile können eine Ober- und Untergrenze für Prognosen angeben. Beispielsweise wird durch die Verwendung der Prognosetypen0.1 (P10) und0.9 (P90) ein Wertebereich bereitgestellt, der als 80-%-Konfidenzintervall bezeichnet wird. Es wird erwartet, dass der beobachtete Wert in 10% der Fälle unter dem P10-Wert liegt, und es wird erwartet, dass der P90-Wert in 90% der Fälle über dem beobachteten Wert liegt. Wenn Sie Prognosen für P10 und P90 erstellen, können Sie davon ausgehen, dass der wahre Wert in 80% der Fälle zwischen diesen Grenzen liegt. Dieser Wertebereich wird in der Abbildung unten durch den schattierten Bereich zwischen P10 und P90 dargestellt.

Graph showing forecast quantiles with P99, P90, P50, P10, and P1 lines over time.

Sie können eine Quantilprognose auch als Punktprognose verwenden, wenn sich die Kosten einer Unterprognose von den Kosten einer Überprognose unterscheiden. In einigen Einzelhandelsfällen sind beispielsweise die Kosten einer Unterversorgung höher als die Kosten einer Überversorgung. In diesen Fällen ist die Prognose bei 0,65 (P65) aussagekräftiger als der Median (P50) oder der Mittelwert der Prognose.

Beim Training eines Prädiktors können Sie mithilfe des Amazon Forecast Software Development Kit (SDK) und der Amazon Forecast-Konsole benutzerdefinierte Prognosetypen auswählen.

Forecast SDK

Geben Sie mithilfe der CreateAutoPredictorOperation die benutzerdefinierten Prognosetypen imForecastTypes Parameter an. Formatieren Sie den Parameter als Zeichenfolge-Array

Verwenden Sie beispielsweise den folgenden Code, um einen Prädiktor für die0.01 Typen,, und0.99 Prognose zu erstellen.mean0.65

{ "ForecastTypes": [ "0.01", "mean", "0.65", "0.99" ], },
Forecast Console

Geben Sie in der Phase Train Predictor die benutzerdefinierten Prognosetypen im Feld Prognosetypen an. Wählen Sie Neuen Prognosetyp hinzufügen und geben Sie einen Wert für den Prognosetyp ein.

Um beispielsweise einen Prädiktor mit den Typen0.01,mean, und0.99 Forecast zu erstellen0.65, geben Sie die folgenden Werte in die unten abgebildeten Felder für Prognosetypen ein.

Form for entering forecast types with fields for type names and quantile values between .01 and .99.

Arbeiten mit älteren Prädiktoren

Backtesting-Parameter festlegen

Forecast verwendet Backtesting, um Genauigkeitsmetriken zu berechnen. Wenn Sie mehrere Backtests ausführen, ermittelt Forecast den Durchschnitt jeder Metrik über alle Backtest-Fenster. Standardmäßig berechnet Forecast einen Backtest, wobei die Größe des Backtest-Fensters (Testsatz) der Länge des Prognosehorizonts (Vorhersagefenster) entspricht. Sie können beim Training eines Prädiktors sowohl die Länge des Backtest-Fensters als auch die Anzahl der Backtest-Szenarien festlegen.

Forecast lässt gefüllte Werte aus dem Backtesting-Prozess aus, und jedes Element mit gefüllten Werten innerhalb eines bestimmten Backtest-Fensters wird von diesem Backtest ausgeschlossen. Dies liegt daran, dass Forecast beim Backtesting nur prognostizierte Werte mit beobachteten Werten vergleicht und ausgefüllte Werte keine beobachteten Werte sind.

Das Backtest-Fenster muss mindestens so groß wie der Prognosehorizont und kleiner als die Hälfte der Länge des gesamten Zielzeitreihendatensatzes sein. Sie können zwischen 1 und 5 Backtests wählen.

Graph showing training and testing periods for four backtest scenarios over time.

Im Allgemeinen führt eine Erhöhung der Anzahl der Backtests zu zuverlässigeren Genauigkeitsmetriken, da ein größerer Teil der Zeitreihen beim Testen verwendet wird und Forecast in der Lage ist, einen Durchschnitt der Metriken für alle Backtests zu verwenden.

Sie können die Backtesting-Parameter mithilfe des Amazon Forecast Software Development Kit (SDK) und der Amazon Forecast-Konsole festlegen.

Forecast SDK

Stellen Sie mithilfe der CreatePredictorOperation die Backtest-Parameter im EvaluationParametersDatentyp ein. Geben Sie die Länge des Testsatzes beim Backtesting mit demBackTestWindowOffset Parameter und die Anzahl der Backtest-Fenster mit demNumberOfBacktestWindows Parameter an.

Verwenden Sie beispielsweise den folgenden Code, um 2 Backtests mit einem Testsatz von 10 Zeitpunkten durchzuführen.

"EvaluationParameters": { "BackTestWindowOffset": 10, "NumberOfBacktestWindows": 2 }
Forecast Console

Legen Sie während der Train Predictor-Phase die Länge des Testsatzes beim Backtesting mit dem Feld Backtest-Fensterversatz und die Anzahl der Backtestfenster mit dem Feld Anzahl der Backtestfenster fest.

Um beispielsweise 2 Backtests mit einem Testsatz von 10 Zeitpunkten durchzuführen, legen Sie die folgenden Werte fest.

Input fields for number of backtest windows and backtest window offset with example values.

HPO und AutoML

Standardmäßig verwendet Amazon Forecast die Quantile0.1 (P10),0.5 (P50) und0.9 (P90) für die Hyperparameteroptimierung (HPO) und für die Modellauswahl während der AutoML. Wenn Sie beim Erstellen eines Prädiktors benutzerdefinierte Prognosetypen angeben, verwendet Forecast diese Prognosetypen bei HPO und AutoML.

Wenn benutzerdefinierte Prognosetypen angegeben sind, verwendet Forecast diese angegebenen Prognosetypen, um die optimalen Ergebnisse während HPO und AutoML zu ermitteln. Während HPO verwendet Forecast das erste Backtest-Fenster, um die optimalen Hyperparameterwerte zu finden. Während AutoML verwendet Forecast die Durchschnittswerte aller Backtest-Fenster und die optimalen Hyperparameterwerte von HPO, um den optimalen Algorithmus zu finden.

Sowohl für AutoML als auch für HPO wählt Forecast die Option, die die durchschnittlichen Verluste gegenüber den Prognosetypen minimiert. Sie können Ihren Prädiktor auch während AutoML und HPO mit einer der folgenden Genauigkeitsmetriken optimieren: Durchschnittlicher gewichteter Quantilverlust (Average wQL), Weighted Absolute Percentage Error (WAPE), Root Mean Squared Error (RMSE), Mean Absolute Percentage Error (MAPE) oder Mean Absolute Scaled Error (MASE).

Sie können mithilfe des Amazon Forecast Software Development Kit (SDK) und der Amazon Forecast-Konsole eine Optimierungsmetrik auswählen.

Forecast SDK

Geben Sie mithilfe der CreatePredictorOperation die benutzerdefinierten Prognosetypen imObjectiveMetric Parameter an.

DerObjectiveMetric Parameter akzeptiert die folgenden Werte:

  • AverageWeightedQuantileLoss- Durchschnittlicher gewichteter Quantilverlust

  • WAPE- Gewichteter absoluter prozentualer Fehler

  • RMSE- Fehler im quadratischen Mittelwert

  • MAPE- Mittlerer absoluter prozentualer Fehler

  • MASE- Mittlerer absoluter Skalierungsfehler

Verwenden Sie beispielsweise den folgenden Code, um einen Prädiktor mit AutoML zu erstellen und mithilfe der MASE-Genauigkeitsmetrik Mean Absolute Scaled Error (MASE) zu optimieren.

{ ... "PerformAutoML": "true", ... "ObjectiveMetric": "MASE", },
Forecast Console

Wählen Sie in der Phase Train Predictor die Option Automatisch (AutoML). Wählen Sie im Abschnitt Zielmetrik die Genauigkeitsmetrik aus, die Sie zur Optimierung Ihres Prädiktors verwenden möchten.

Die folgende Abbildung zeigt beispielsweise einen Prädiktor, der mit AutoML erstellt und mithilfe der MASE-Genauigkeitsmetrik (Mean Absolute Scaled Error) optimiert wurde.

Wenn Sie die Konsole verwenden, können Sie die Objective-Metrik nur angeben, wenn Sie mit AutoML einen Prädiktor erstellen. Wenn Sie einen Algorithmus manuell auswählen, können Sie die Zielmetrik für HPO nicht angeben.