Bewerten der Prädiktorgenauigkeit - Amazon Forecast

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, um Prädiktoren auszuwerten und Ihnen bei der Auswahl zu helfen, welche Prognosen erstellt werden sollen. Die Forecast wertet Prädiktoren mit Root Mean Square Error (RMSE), Gewichteter Quantile Verlust (wQl), Mean Absolute Prozentfehler (MAPE), Mean Absolute Scaled Error (MASE) und Gewichtete Absolute Prozentfehler (WAPE) -Metriken aus.

Amazon Forecast verwendet Backtesting, um Parameter abzustimmen und Genauigkeitsmetriken zu erstellen. Während des Backtests teilt Forecast Ihre Zeitreihendaten automatisch in zwei Sätze auf: ein Trainingsset und ein Testset. Das Trainingsset wird verwendet, um ein Modell zu trainieren und Prognosen für Datenpunkte innerhalb des Testsatzes zu generieren. Die Forecast wertet die Genauigkeit des Modells aus, indem prognostizierte Werte mit beobachteten Werten im Testsatz verglichen werden.

Die Forecast ermöglicht es Ihnen, Prädiktoren mit verschiedenen Prognosetypen zu bewerten, was eine Reihe von quantilen Prognosen und der Mittelprognose sein kann. Die mittlere Prognose liefert eine Punktschätzung, während quantile Prognosen in der Regel eine Reihe möglicher Ergebnisse liefern.

Python-Notebooks

Für ein step-by-step Leitfaden zur Auswertung von Prädiktormetriken sieheBerechnen von Metriken mit Backtests auf Artikelebene.aus.

Interpretieren von Genauigkeit Metriken

Die Amazon Forecast bietet Root Mean Square Error (RMSE), Gewichtete Quantile Verlust (wqL), den durchschnittlichen gewichteten Quantilverlust (durchschnittlicher WqL), Mean Absolute Skalierte Fehler (MASE), Mean Absoluter Prozentfehler (MAPE) und Gewichtete Absolute Prozentfehler (WAPE) Metriken zur Bewertung Ihrer Prädiktoren. Zusammen mit Metriken für den Gesamtprädiktor berechnet Forecast Metriken für jedes Backtest-Fenster.

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

Forecast SDK

Verwendung derGetAccuracyMetricsOperation, spezifizieren Sie IhrePredictorArnum 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ähle deinen Prädiktor auf derPredictorsangezeigten. Genauigkeitsmetriken für den Prädiktor werden imPredictor-MetrikenAbschnitts erstellt.

Anmerkung

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

Gewichteter Quantilverlust (wqL)

Die Metrik Weight Quantile Loss (WqL) misst die Genauigkeit eines Modells bei einem bestimmten Quantil. Dies ist besonders nützlich, wenn es unterschiedliche Kosten für Untervorhersagen und Übervorhersagen gibt. Durch Einstellen des Gewichts (tr) der wqL-Funktion können Sie automatisch unterschiedliche Strafen für Untervorhersagen und Übervorhersagen einbeziehen.

Die Verlustfunktion wird wie folgt berechnet.

Wobei gilt:

tr- ein Quantil im Set {0.01, 0.02,..., 0.99}

qi,t(tr)- das Quantil, das das Modell vorhersagt.

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

Die Quantile () für WqL können zwischen 0,01 (P1) bis 0,99 (P99) liegen. Die wqL-Metrik kann für die Mittelprognose nicht berechnet werden.

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

  • P10 (0.1)- Es wird erwartet, dass der tatsächliche Wert 10% der Zeit geringer als der prognostizierte Wert ist.

  • P50 (0.5)- Es wird erwartet, dass der tatsächliche Wert 50% der Zeit geringer als der prognostizierte Wert ist. Dies wird auch als Medianprognose bezeichnet.

  • P90 (0.9)- Der tatsächliche Wert ist zu 90% der Zeit voraussichtlich geringer als der prognostizierte Wert.

Im Einzelhandel sind die Kosten für eine Unterbestückung oft höher als die Kosten für eine Überlagerung, und so prognostizieren bei P75 (tr= 0,75) kann informativer sein als Prognosen im Medianquantil (P50). In diesen Fällen weist wqL [0,75] der Unterprognostizierung (0,75) ein größeres Strafgewicht und ein geringeres Strafgewicht der Überprognose (0,25) zu.

Die obige Abbildung zeigt die unterschiedlichen Bedarfsprognosen bei wqL [0,50] und wqL [0,75]. Der prognostizierte Wert bei P75 liegt deutlich über dem prognostizierten Wert bei P50, da erwartet wird, dass die P75-Prognose die Nachfrage 75% der Zeit decken wird, während die P50-Prognose voraussichtlich nur 50% der Nachfrage decken wird.

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

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 WqL0.10], wqL [0,50] und wqL [0,90].

Gewichteter absoluter Prozentfehler (WAPE)

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

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

Wobei gilt:

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

ŷi,t- der prognostizierte Wert an Punkt (i, t)

Forecast verwendet die Mittelprognose als prognostizierten Wert,i,taus.

WAPE ist robuster für Ausreißer als Root Mean Square Error (RMSE), da es den absoluten Fehler anstelle des quadrierten Fehlers verwendet.

Amazon Forecast bezeichnete die WAPE-Metrik zuvor als den mittleren absoluten Prozentfehler (MAPE) und verwendete die Medianprognose (P50) als prognostizierten Wert. Forecast verwendet jetzt die Mittelprognose, um WAPE zu berechnen. Die wqL [0.5] -Metrik entspricht der WAPE [Median] -Metrik, wie unten gezeigt:

Root Mean Square Error (RMSE)

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

Wobei gilt:

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

ŷi,t- der prognostizierte Wert an Punkt (i, t)

nT - Die Anzahl der Datenpunkte in einem Testsatz

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

RMSE verwendet den Quadratwert der Residuen, was die Auswirkungen von Ausreißer verstärkt. 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 standardmäßig RMSE unter Verwendung des 0,5 Quantils (P50). Forecast verwendet jetzt die mittlere Prognose.

Mittlerer absoluter Prozentfehler (MAPE)

Mean Absolute Prozentfehler (MAPE) nimmt den absoluten Wert des prozentualen Fehlers zwischen beobachteten und prognostizierten Werten für jede Zeiteinheit an und berechnet dann diese Werte. Ein niedrigerer Wert zeigt ein genaueres Modell an.

Wobei gilt:

EINt- der beobachtete Wert am Punktt

Ft- der prognostizierte Wert am Punktt

n - Die Anzahl der Datenpunkte in der Zeitreihe

Forecast verwendet die Mittelprognose als prognostizierten Wert Ftaus.

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

Mittlerer absoluter skalierter Fehler (MASE)

Mean Absolute Scaled Error (MASE) wird berechnet, indem der durchschnittliche Fehler durch einen Skalierungsfaktor dividiert wird. Dieser Skalierungsfaktor hängt vom Saisonalitätswert ab,m, die basierend auf der Prognosefrequenz ausgewählt wird. Ein niedrigerer Wert zeigt ein genaueres Modell an.

Wobei gilt:

Yt- der beobachtete Wert am Punktt

Yt-m- der beobachtete Wert am Punktt-m

ej- der Fehler an der Stellej(beobachteter Wert - prognostizierter Wert)

m - der Saisonalitätswert

Forecast verwendet die Mittelprognose als prognostizierten Wert.

MASE ist ideal für Datensätze, die zyklisch sind oder saisonale Eigenschaften aufweisen. Beispielsweise können Prognosen für Artikel, die im Sommer sehr gefragt sind und im Winter eine geringe Nachfrage haben, von der Berücksichtigung der saisonalen Auswirkungen profitieren.

Exportieren von Genauigkeitsmetriken

Anmerkung

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

Mit Forecast können Sie prognostizierte Werte und Genauigkeitsmetriken exportieren, die während des Backtests 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:

  • prognostizierte Werte: Enthält CSV- oder Parkett-Dateien mit prognostizierten Werten bei jedem Prognosetyp für jeden Backtest.

  • Genauigkeits-Metrik-Werte: Enthält CSV- oder Parkett-Dateien mit Metriken für jeden Backtest sowie den Durchschnitt aller Backtests. Diese Metriken umfassen WqL für jedes Quantil, Average wqL, RMSE, MASE, MAPE und WAPE.

Dieforecasted-values-Ordner enthält prognostizierte Werte bei jedem Prognosetyp für jedes Backtest-Fenster. Es enthält auch Informationen zu Artikelkennungen, Dimensionen, Zeitstempeln, Zielwerten sowie Start- und Endzeiten des Backtest-Fensters.

Dieaccuracy-metrics-values-Ordner enthält Genauigkeitsmetriken für jedes Backtest-Fenster sowie die durchschnittlichen Metriken in allen Backtest-Fenstern. Es enthält WqL-Metriken für jedes angegebene Quantil sowie Average WqL-, RMSE-, MASE-, MAPE- und WAP-Metriken.

Dateien in beiden Ordnern folgen der Benennungskonvention:<ExportJobName>_<ExportTimestamp>_<PartNumber>.csvaus.

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

Forecast SDK

Verwendung derCreatePredictorBacktestExportJob, geben Sie Ihren S3-Standort und Ihre IAM-Rolle in derDataDestinationObjekt, zusammen mit demPredictorArnundPredictorBacktestExportJobNameaus.

Zum 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ähle deinen Prädiktor auf derPredictorsangezeigten. In derPredictor-Metriken-Bereich wählenExportieren von Backtest-Ergebnissenaus.

Während desPrädiktor-Backtest-Export erstellenBühne, setze dieExportieren von Namen,IAM Role (IAM-Rolle), undS3 Prädiktor Backtest Exportstandortunterscheiden sich nicht.

Wählen von Prognosetypen

Amazon Forecast verwendet Prognosetypen, um Vorhersagen zu erstellen und Prädiktoren auszuwerten. Prognosetypen werden in zwei Formen angeboten:

  • Mittlere Prognoseart- Eine Prognose, die den Mittelwert als erwarteten Wert verwendet. Wird normalerweise als Punktprognosen für einen bestimmten Zeitpunkt verwendet.

  • Quantilprognoseart- Eine Prognose bei einem bestimmten Quantil. Wird normalerweise verwendet, um ein Vorhersageintervall bereitzustellen, bei dem es sich um eine Reihe möglicher Werte handelt, um die Prognoseunsicherheit zu berücksichtigen. Zum Beispiel eine Prognose bei der0.65quantil schätzt einen Wert, der unter dem beobachteten Wert 65% der Zeit liegt.

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

Quantile können eine Ober- und Untergrenze für Prognosen liefern. Verwenden Sie beispielsweise die Prognosetypen0.1(P10) und0.9(P90) bietet einen Wertebereich, der als Konfidenzintervall von 80% bekannt ist. Es wird erwartet, dass der beobachtete Wert 10% der Zeit niedriger als der P10-Wert ist, und der P90-Wert wird zu 90% der Zeit voraussichtlich höher als der beobachtete Wert sein. Durch die Generierung von Prognosen bei P10 und P90 können Sie davon ausgehen, dass der tatsächliche Wert 80% der Zeit zwischen diesen Grenzen fallen wird. Dieser Wertebereich wird in der folgenden Abbildung durch den schattierten Bereich zwischen P10 und P90 dargestellt.

Sie können eine Quantilprognose auch als Punktprognose verwenden, wenn sich die Kosten für die Untervorhersagung von den Kosten der Übervorhersagung unterscheiden. In einigen Einzelhandelsfällen sind die Kosten für eine Unterlagerung beispielsweise höher als die Kosten für eine Überlagerung. In diesen Fällen ist die Prognose bei 0,65 (P65) aussagekräftiger als der Median (P50) oder Mittelwert.

Wenn Sie einen Prädiktor trainieren, können Sie benutzerdefinierte Prognosetypen mit dem Amazon Forecast Software Development Kit (SDK) und der Amazon Forecast Console auswählen.

Forecast SDK

Verwendung derCreateAutoPredictor, geben Sie die benutzerdefinierten Prognosetypen in derForecastTypes-Parameter. Formatieren Sie den Parameter als Zeichenfolge-Array.

Erstellen Sie beispielsweise einen Prädiktor im0.01,mean,0.65, und0.99Prognosetypen verwenden Sie den folgenden Code.

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

Während desTrainiere Predictorgeben Sie die benutzerdefinierten Prognosetypen in derPrognose-Typenfield. Klicken Sie aufNeuen Prognosetyp hinzufügenund geben Sie einen Wert für den Prognosetyp ein.

Erstellen Sie beispielsweise einen Prädiktor mit der0.01,mean,0.65, und0.99Prognosearten geben Sie die folgenden Werte im FeldPrognose-Typenunten gezeigte Felder.

Mit Legacy-Prädiktoren arbeiten

Festlegen von Backtesting--

Forecast verwendet Backtesting, um Genauigkeitsmetriken zu berechnen. Wenn Sie mehrere Backtests ausführen, berechnet Forecast durchschnittlich jede Metrik über alle Backtest-Fenster. Standardmäßig berechnet Forecast einen Backtest, wobei die Größe des Backtest-Fensters (Testsatz) der Länge des Prognosehorizonts entspricht (Prognosefenster). Sie können beide festlegenBacktest-Fensterlängeund dieAnzahl von Backtest-SzenarienWenn Sie einen Prädiktor trainieren.

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 während des Backtests nur prognostizierte Werte mit beobachteten Werten vergleicht und gefü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 Zielzeitreihen-Datasets sein. Sie können zwischen 1 und 5 Backtests wählen.

Im Allgemeinen führt die Erhöhung der Anzahl der Backtests zu zuverlässigeren Genauigkeitsmetriken, da ein größerer Teil der Zeitreihen während des Tests verwendet wird und Forecast in der Lage ist, einen Durchschnitt von Metriken über alle Backtests hinweg zu verwenden.

Sie können die Backtesting-Parameter mit dem Amazon Forecast Software Development Kit (SDK) und der Amazon Forecast Console festlegen.

Forecast SDK

Verwendung derCreatePredictor-Operation, stellen Sie die Backtest-Parameter imEvaluationParametersDatentyp. Geben Sie die Länge des Tests an, die während des Backtests eingestellt wurden, mit derBackTestWindowOffsetund die Anzahl der Backtest-Fenster mit demNumberOfBacktestWindows-Parameter.

Um beispielsweise 2 Backtests mit einem Testsatz von 10 Zeitpunkten auszuführen, verwenden Sie den Follow-Code.

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

Während desTrainiere PredictorStufe, legen Sie die Länge des Testsatzes während des Backtests mit demBacktest-Fenster-Offsetund die Anzahl der Backtest-Fenster mit demAnzahl von Backtest-Fensternfield.

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

HPO und AutoML

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

Wenn benutzerdefinierte Prognosetypen angegeben werden, verwendet Forecast diese angegebenen Prognosetypen, um die optimalen Ergebnisse während HPO und AutoML zu ermitteln. Während des HPO verwendet Forecast das erste Backtest-Fenster, um die optimalen Hyperparameterwerte zu ermitteln. Während AutoML verwendet Forecast die Durchschnittswerte in allen Backtest-Fenstern 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 aus, 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 (durchschnittlicher WqL), gewichteter absoluter Prozentfehler (WAPE), Root Mean Squared Error (RMSE), Mean Absoluter Prozentfehler (MAPE) oder Mean Absolute Scaled Error (MASE).

Sie können eine Optimierungsmetrik mit dem Amazon Forecast Software Development Kit (SDK) und der Amazon Forecast Console auswählen.

Forecast SDK

Verwendung derCreatePredictor, geben Sie die benutzerdefinierten Prognosetypen in derObjectiveMetric-Parameter.

DieObjectiveMetric-Parameter akzeptiert die folgenden Werte:

  • AverageWeightedQuantileLoss- Durchschnittlicher gewichteter quantiler Verlust

  • WAPE- Gewichteter absoluter Prozentfehler

  • RMSE- Root Mean Squared Fehler

  • MAPE- Mittlerer absoluter Prozentfehler

  • MASE- Mittlerer absoluter skalierter Fehler

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

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

Während desTrainiere Predictorstage, wähleAutomatisch (AutoML)aus. In derObjektive Metrikwählen Sie die Genauigkeitsmetrik aus, die zur Optimierung Ihres Prädiktors verwendet werden soll.

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

Wenn Sie die -Konsole verwenden, können Sie die Zielmetrik nur angeben, wenn Sie einen Predictor mithilfe von AutoML erstellen. Wenn Sie einen Algorithmus manuell auswählen, können Sie die Ziel-Metrik für HPO nicht angeben.