Évaluation de la précision des prédicteurs - Amazon Forecast

Amazon Forecast n'est plus disponible pour les nouveaux clients. Les clients existants d'Amazon Forecast peuvent continuer à utiliser le service normalement. En savoir plus »

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Évaluation de la précision des prédicteurs

Amazon Forecast produit des mesures de précision pour évaluer les prédicteurs et vous aider à choisir ceux à utiliser pour générer des prévisions. Forecast évalue les prédicteurs à l'aide des mesures d'erreur quadratique moyenne (RMSE), de perte quantile pondérée (wQL), d'erreur absolue moyenne (MAPE), d'erreur scalaire absolue moyenne (MASE) et d'erreur absolue pondérée (WAPE).

Amazon Forecast utilise des backtests pour ajuster les paramètres et produire des mesures de précision. Lors des backtests, Forecast divise automatiquement les données de vos séries chronologiques en deux ensembles : un ensemble d'entraînement et un ensemble de test. L'ensemble d'apprentissage est utilisé pour entraîner un modèle et générer des prévisions pour les points de données du jeu de test. Forecast évalue la précision du modèle en comparant les valeurs prévisionnelles aux valeurs observées dans l'ensemble de tests.

Forecast vous permet d'évaluer des prédicteurs à l'aide de différents types de prévisions, qui peuvent être un ensemble de prévisions quantiles et une prévision moyenne. La prévision moyenne fournit une estimation ponctuelle, tandis que les prévisions quantiles fournissent généralement une gamme de résultats possibles.

Carnets Python

Pour obtenir un step-by-step guide sur l'évaluation des mesures prédictives, consultez la section Calcul des métriques à l'aide de backtests au niveau des éléments. .

Interprétation des métriques de précision

Amazon Forecast fournit des mesures d'erreur quadratique moyenne (RMSE), de perte quantile pondérée (wQL), de perte quantile moyenne pondérée (wQL moyenne), d'erreur scalaire absolue moyenne (MASE), d'erreur absolue moyenne en pourcentage (MAPE) et d'erreur absolue pondérée (WAPE) pour évaluer vos prédicteurs. Outre les mesures du prédicteur global, Forecast calcule des mesures pour chaque fenêtre de backtest.

Vous pouvez consulter les mesures de précision de vos prédicteurs à l'aide du kit de développement logiciel (SDK) Amazon Forecast et de la console Amazon Forecast.

Forecast SDK

À l'aide de l'GetAccuracyMetricsopération, spécifiez que vousPredictorArn souhaitez afficher les métriques RMSE, MASE, MAPE, WAPE, Average WQL et WQL pour chaque backtest.

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

Choisissez votre prédicteur sur la page des prédicteurs. Les mesures de précision du prédicteur sont affichées dans la section Mesures du prédicteur.

Note

Pour les métriques moyennes de wQL, wQL, RMSE, MASE, MAPE et WAPE, une valeur inférieure indique un modèle supérieur.

Perte quantile pondérée (wQl)

La métrique de perte quantile pondérée (wQL) mesure la précision d'un modèle à un quantile spécifié. Cela est particulièrement utile lorsque les coûts de sous-estimation et de surestimation sont différents. En définissant le poids (τ) de la fonction wQL, vous pouvez automatiquement intégrer différentes pénalités en cas de sous-estimation et de surestimation.

La fonction de perte est calculée de la manière suivante.

Mathematical equation for weighted quantile loss function with tau parameter.
Où :

τ - un quantile dans l'ensemble {0,01, 0,02,..., 0,99}

qi,t (τ) - le quantile τt prédit par le modèle.

yi,t - la valeur observée au point (i, t)

Les quantiles (τ) pour wQL peuvent être compris entre 0,01 (P1) et 0,99 (P99). La métrique wQL ne peut pas être calculée pour la prévision moyenne.

Par défaut, Forecast calcule le WQL à0.1 (P10),0.5 (P50) et0.9 (P90).

  • P10 (0,1) - La valeur réelle devrait être inférieure à la valeur prévue 10 % du temps.

  • P50 (0,5) - La valeur réelle devrait être inférieure à la valeur prévue 50 % du temps. Cette valeur est également appelée « prévision médiane ».

  • P90 (0,9) - La valeur réelle devrait être inférieure à la valeur prévue 90 % du temps.

Dans le commerce de détail, le coût d'un sous-stock est souvent plus élevé que celui d'un surstock. Les prévisions à P75 (τ = 0,75) peuvent donc être plus informatives que les prévisions au quantile médian (P50). Dans ces cas, wQL [0,75] attribue une pondération de pénalité plus importante à la sous-estimation (0,75) et une pondération de pénalité plus faible à la surestimation (0,25).

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

La figure ci-dessus montre les différentes prévisions de demande à wQL [0,50] et à wQL [0,75]. La valeur prévisionnelle à P75 est nettement supérieure à la valeur prévisionnelle à P50, car la prévision P75 devrait répondre à la demande 75 % du temps, alors que la prévision P50 ne devrait répondre à la demande que 50 % du temps.

Lorsque la somme des valeurs observées pour tous les éléments et points temporels est approximativement nulle dans une fenêtre de backtest donnée, l'expression de perte quantile pondérée n'est pas définie. Dans ces cas, Forecast génère la perte quantile non pondérée, qui est le numérateur de l'expression wQL.

Forecast calcule également le wQl moyen, qui est la valeur moyenne des pertes quantiles pondérées sur tous les quantiles spécifiés. Par défaut, il s'agira de la moyenne de wQL [0,10], wQL [0,50] et wQL [0,90].

Pourcentage d'erreur absolu pondéré (WAPE)

L'erreur moyenne en pourcentage absolu absolu (WAPE) mesure l'écart global entre les valeurs prédites et les valeurs observées. Le WAPE est calculé en prenant la somme des valeurs observées et la somme des valeurs prédites, et en calculant l'erreur entre ces deux valeurs. Une valeur faible indique un modèle plus précis.

Lorsque la somme des valeurs observées pour tous les points temporels et tous les éléments est approximativement nulle dans une fenêtre de backtest donnée, l'expression du pourcentage d'erreur absolu pondéré n'est pas définie. Dans ces cas, Forecast génère la somme d'erreur absolue non pondérée, qui est le numérateur de l'expression WAPE.

Mathematical formula for WAPE showing summation of absolute differences divided by sum of absolute values.
Où :

yi,t - la valeur observée au point (i, t)

i,t- la valeur prédite au point (i, t)

Forecast utilise la prévision moyenne comme valeur prédite,i,t.

Le WAPE est plus résistant aux valeurs aberrantes que l'erreur quadratique moyenne (RMSE), car il utilise l'erreur absolue au lieu de l'erreur quadratique.

Amazon Forecast désignait auparavant la métrique WAPE sous le nom d'erreur moyenne absolue en pourcentage (MAPE) et utilisait la prévision médiane (P50) comme valeur prédite. Forecast utilise désormais la prévision moyenne pour calculer le WAPE. La métrique wQL [0.5] est équivalente à la métrique WAPE [médiane], comme indiqué ci-dessous :

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

Racine carrée de l'erreur quadratique moyenne (RMSE)

Racine carrée de l'erreur quadratique moyenne (RMSE) : racine carrée de l'erreur quadratique moyenne. Elle est donc plus sensible aux valeurs aberrantes que les autres métriques de précision. Une valeur faible indique un modèle plus précis.

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

yi,t - la valeur observée au point (i, t)

i,t- la valeur prédite au point (i, t)

nT - le nombre de points de données dans un ensemble de test

Forecast utilise la prévision moyenne comme valeur prédite,i,t. Lors du calcul des métriques de prédiction, nT est le nombre de points de données dans une fenêtre de backtest.

Le RMSE utilise la valeur quadratique des valeurs résiduelles, ce qui amplifie l'impact des valeurs aberrantes. Dans les cas d'utilisation où seules quelques erreurs de prédiction importantes peuvent s'avérer très coûteuses, le RMSE est la métrique la plus pertinente.

Les prédicteurs créés avant le 11 novembre 2020 ont calculé le RMSE en utilisant le quantile 0,5 (P50) par défaut. Forecast utilise désormais la prévision moyenne.

Pourcentage d'erreur absolu moyen (MAPE)

L'erreur moyenne absolue en pourcentage (MAPE) prend la valeur absolue du pourcentage d'erreur entre les valeurs observées et prévues pour chaque unité de temps, puis fait la moyenne de ces valeurs. Une valeur faible indique un modèle plus précis.

Mathematical formula for Mean Absolute Percentage Error (MAPE) calculation.
Où :

At - la valeur observée au point t

Ft - la valeur prédite au point t

n : nombre de points de données dans la série chronologique

Forecast utilise la prévision moyenne comme valeur prédite,t F.

Le MAPE est utile dans les cas où les valeurs diffèrent de manière significative entre des points temporels et où les valeurs aberrantes ont un impact significatif.

Erreur scalaire absolue moyenne (MASE)

L'erreur scalaire absolue moyenne (MASE) est calculée en divisant l'erreur moyenne par un facteur d'échelle. Ce facteur d'échelle dépend de la valeur de saisonnalité, m, qui est sélectionnée en fonction de la fréquence des prévisions. Une valeur faible indique un modèle plus précis.

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

Yt - la valeur observée au point t

Yt-m - la valeur observée au point t-m

ej - l'erreur au point j (valeur observée - valeur prédite)

m - la valeur de saisonnalité

Forecast utilise la prévision moyenne comme valeur prédite.

MASE est idéal pour les ensembles de données de nature cyclique ou présentant des propriétés saisonnières. Par exemple, la prise en compte de l'impact saisonnier peut être bénéfique pour les prévisions concernant les articles très demandés en été et en faible demande pendant les hivers.

Exportation de métriques de précision

Note

Les fichiers d'exportation peuvent renvoyer directement des informations provenant de l'importation de jeux de données. Cela rend les fichiers vulnérables à l'injection CSV si les données importées contiennent des formules ou des commandes. Pour cette raison, les fichiers exportés peuvent provoquer des avertissements de sécurité. Pour éviter toute activité malveillante, désactivez les liens et les macros lors de la lecture des fichiers exportés.

Forecast vous permet d'exporter les valeurs prévisionnelles et les mesures de précision générées lors des backtests.

Vous pouvez utiliser ces exportations pour évaluer des éléments spécifiques à des moments et des quantiles spécifiques, et pour mieux comprendre votre prédicteur. Les exportations de backtests sont envoyées vers un emplacement S3 spécifié et contiennent deux dossiers :

  • valeurs prévisionnelles : contient des fichiers CSV ou Parquet contenant des valeurs prévisionnelles pour chaque type de prévision pour chaque backtest.

  • accuracy-metrics-values: contient des fichiers CSV ou Parquet contenant des statistiques pour chaque backtest, ainsi que la moyenne de tous les backtests. Ces mesures incluent le wQL pour chaque quantile, le wQL moyen, le RMSE, le MASE, le MAPE et le WAPE.

Leforecasted-values dossier contient des valeurs prévisionnelles pour chaque type de prévision pour chaque fenêtre de backtest. Il inclut également des informations sur les identifiants des articles, les dimensions, les horodatages, les valeurs cibles et les heures de début et de fin de la fenêtre de backtest.

Leaccuracy-metrics-values dossier contient des mesures de précision pour chaque fenêtre de backtest, ainsi que les mesures moyennes pour toutes les fenêtres de backtest. Il contient des métriques wQL pour chaque quantile spécifié, ainsi que des métriques wQL, RMSE, MASE, MAPE et WAPE moyennes.

Les fichiers des deux dossiers suivent la convention de dénomination :<ExportJobName>_<ExportTimestamp>_<PartNumber>.csv.

Vous pouvez exporter des mesures de précision à l'aide du kit de développement logiciel (SDK) Amazon Forecast et de la console Amazon Forecast.

Forecast SDK

À l'aide de cette CreatePredictorBacktestExportJobopération, spécifiez votre emplacement S3 et votre rôle IAM dans l'DataDestinationobjet, ainsi que lePredictorArn etPredictorBacktestExportJobName.

Par exemple :

{ "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

Choisissez votre prédicteur sur la page des prédicteurs. Dans la section Mesures de Predictor, sélectionnez Exporter les résultats du backtest.

Au cours de la phase d'exportation du backtest Create Predictor, définissez les champs Nom de l'exportation, Rôle IAM et Emplacement d'exportation du backtest du prédicteur S3.

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

Choix des types de Forecast

Amazon Forecast utilise des types de prévisions pour créer des prévisions et évaluer des prédicteurs. Les types de Forecast se présentent sous deux formes :

  • Type de prévision moyenne : prévision utilisant la moyenne comme valeur attendue. Généralement utilisées comme prévisions ponctuelles pour un moment donné.

  • Type de prévision quantile : prévision à un quantile spécifié. Généralement utilisé pour fournir un intervalle de prévision, qui est une plage de valeurs possibles pour tenir compte de l'incertitude des prévisions. Par exemple, une prévision au0.65 quantile estimera une valeur inférieure à la valeur observée 65 % du temps.

Par défaut, Forecast utilise les valeurs suivantes pour les types de prévisions du prédicteur :0.1 (P10),0.5 (P50) et0.9 (P90). Vous pouvez choisir jusqu'à cinq types de prévisions personnalisés, y comprismean des quantiles compris entre0.01 (P1) et0.99 (P99).

Les quantiles peuvent fournir une limite supérieure et une limite inférieure pour les prévisions. Par exemple, l'utilisation des types de prévisions0.1 (P10) et0.9 (P90) fournit une plage de valeurs connue sous le nom d'intervalle de confiance de 80 %. La valeur observée devrait être inférieure à la valeur P10 10 % du temps, et la valeur P90 devrait être supérieure à la valeur observée 90 % du temps. En générant des prévisions à p10 et P90, vous pouvez vous attendre à ce que la valeur réelle se situe entre ces limites 80 % du temps. Cette plage de valeurs est représentée par la zone ombrée entre P10 et P90 dans la figure ci-dessous.

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

Vous pouvez également utiliser une prévision quantile comme prévision ponctuelle lorsque le coût de la sous-estimation diffère du coût de la surestimation. Par exemple, dans certains cas de vente au détail, le coût d'un sous-stock est plus élevé que celui d'un surstock. Dans ces cas, la prévision à 0,65 (P65) est plus informative que la médiane (P50) ou la prévision moyenne.

Lorsque vous entraînez un prédicteur, vous pouvez choisir des types de prévisions personnalisés à l'aide du kit de développement logiciel (SDK) Amazon Forecast et de la console Amazon Forecast.

Forecast SDK

À l'aide de l'CreateAutoPredictoropération, spécifiez les types de prévisions personnalisés dans leForecastTypes paramètre. Formatation du paramètre sous forme de tableau de chaînes.

Par exemple, pour créer un prédicteur aux types0.01mean,0.65, et0.99 prévision, utilisez le code suivant.

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

Au cours de l'étape Train Predictor, spécifiez les types de Forecast personnalisés dans le champ Types de prévisions. Choisissez Ajouter un nouveau type de prévision et entrez une valeur de type de prévision.

Par exemple, pour créer un prédicteur à l'0.01aide des types de0.99 Forecast,, et, entrez les valeurs suivantes dans les champs Types de prévisions ci-dessous.mean0.65

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

Utilisation des prédicteurs traditionnels

Définition des paramètres de backtesting

Forecast utilise des backtests pour calculer des mesures de précision. Si vous exécutez plusieurs backtests, Forecast fait la moyenne de chaque métrique sur toutes les fenêtres de backtest. Par défaut, Forecast calcule un backtest, la taille de la fenêtre de backtest (ensemble de tests) étant égale à la longueur de l'horizon de prévision (fenêtre de prédiction). Vous pouvez définir à la fois la longueur de la fenêtre de backtest et le nombre de scénarios de backtest lorsque vous entraînez un prédicteur.

Forecast omet les valeurs remplies du processus de backtest, et tout élément contenant des valeurs complètes dans une fenêtre de backtest donnée sera exclu de ce backtest. Cela est dû au fait que Forecast compare uniquement les valeurs prévisionnelles aux valeurs observées lors des backtests, et les valeurs remplies ne sont pas des valeurs observées.

La fenêtre de backtest doit être au moins aussi grande que l'horizon de prévision et inférieure à la moitié de la longueur de l'ensemble de données chronologiques cible. Vous pouvez choisir entre 1 et 5 backtests.

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

En général, l'augmentation du nombre de backtests permet d'obtenir des mesures de précision plus fiables, étant donné qu'une plus grande partie de la série chronologique est utilisée pendant les tests et que Forecast est en mesure de prendre une moyenne des mesures pour tous les backtests.

Vous pouvez définir les paramètres du backtesting à l'aide du kit de développement logiciel (SDK) Amazon Forecast et de la console Amazon Forecast.

Forecast SDK

À l'aide de cette CreatePredictoropération, définissez les paramètres du backtest dans le EvaluationParameterstype de données. Spécifiez la longueur de l'ensemble de tests lors du backtesting avec leBackTestWindowOffset paramètre, et le nombre de fenêtres de backtest avec leNumberOfBacktestWindows paramètre.

Par exemple, pour exécuter 2 backtests avec un ensemble de tests de 10 points de temps, utilisez le code suivant.

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

Au cours de la phase Train Predictor, définissez la durée du test défini lors du backtest à l'aide du champ de décalage de la fenêtre de backtest et le nombre de fenêtres de backtest avec le champ Nombre de fenêtres de backtest.

Par exemple, pour exécuter 2 backtests avec un ensemble de tests de 10 points temporels, définissez les valeurs suivantes.

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

HPO et AutoML

Par défaut, Amazon Forecast utilise les quantiles0.1 (P10),0.5 (P50) et0.9 (P90) pour le réglage des hyperparamètres lors de l'optimisation des hyperparamètres (HPO) et pour la sélection du modèle pendant AutoML. Si vous spécifiez des types de prévisions personnalisés lors de la création d'un prédicteur, Forecast utilise ces types de prévisions dans HPO et AutoML.

Si des types de prévisions personnalisés sont spécifiés, Forecast utilise ces types de prévisions spécifiés pour déterminer les résultats optimaux pendant HPO et AutoML. Pendant le HPO, Forecast utilise la première fenêtre de backtest pour trouver les valeurs d'hyperparamètres optimales. Dans AutoML, Forecast utilise les moyennes de toutes les fenêtres de backtest et les valeurs d'hyperparamètres optimales de HPO pour trouver l'algorithme optimal.

Pour AutoML et HPO, Forecast choisit l'option qui minimise les pertes moyennes par rapport aux types de prévisions. Vous pouvez également optimiser votre prédicteur pendant AutoML et HPO à l'aide de l'une des mesures de précision suivantes : perte quantile pondérée moyenne (wQL moyenne), erreur absolue pondérée (WAPE), erreur quadratique moyenne (RMSE), erreur moyenne absolue en pourcentage (MAPE) ou erreur scalée absolue moyenne (MASE).

Vous pouvez choisir une métrique d'optimisation à l'aide du kit de développement logiciel (SDK) Amazon Forecast et de la console Amazon Forecast.

Forecast SDK

À l'aide de l'CreatePredictoropération, spécifiez les types de prévisions personnalisés dans leObjectiveMetric paramètre.

LeObjectiveMetric paramètre accepte les valeurs suivantes :

  • AverageWeightedQuantileLoss- Perte quantile moyenne pondérée

  • WAPE- Pourcentage d'erreur absolu pondéré

  • RMSE- Erreur quadratique moyenne

  • MAPE- Pourcentage d'erreur absolu moyen

  • MASE- Erreur pondérée absolue moyenne

Par exemple, pour créer un prédicteur avec AutoML et l'optimiser à l'aide de la métrique de précision MASE (Mean Absolute Scaled Error), utilisez le code suivant.

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

Au cours de l'étape Train Predictor, choisissez Automatique (AutoML). Dans la section Mesure objective, choisissez la métrique de précision à utiliser pour optimiser votre prédicteur.

Par exemple, l'image suivante montre un prédicteur créé avec AutoML et optimisé à l'aide de la métrique de précision MASE (Mean Absolute Scaled Error).

Lorsque vous utilisez la console, vous ne pouvez spécifier la métrique Objective que lorsque vous créez un prédicteur à l'aide d'AutoML. Si vous sélectionnez manuellement un algorithme, vous ne pouvez pas spécifier la métrique objective pour HPO.