Valutazione dell'accuratezza dei predittori - Amazon Forecast

Amazon Forecast non è più disponibile per i nuovi clienti. I clienti esistenti di Amazon Forecast possono continuare a utilizzare il servizio normalmente. Scopri di più»

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Valutazione dell'accuratezza dei predittori

Amazon Forecast produce metriche di precisione per valutare i predittori e aiutarti a scegliere quali utilizzare per generare previsioni. La Forecast valuta i predittori utilizzando le metriche Root Mean Square Error (RMSE), Weighted Quantile Loss (wQL), Mean Absolute Percentage Error (MAPE), MASE (Mean Absolute Scaled Error) e WAPE (Weighted Absolute Percentage Error).

Amazon Forecast utilizza il backtesting per ottimizzare i parametri e produrre metriche di precisione. Durante il backtest, Forecast divide automaticamente i dati delle serie temporali in due set: un set di allenamento e un set di test. Il set di formazione viene utilizzato per addestrare un modello e generare previsioni per i punti dati all'interno del set di test. Forecast valuta l'accuratezza del modello confrontando i valori previsti con i valori osservati nel set di test.

Forecast consente di valutare i predittori utilizzando diversi tipi di previsione, che possono essere un insieme di previsioni quantiliche e la previsione media. La previsione media fornisce una stima puntuale, mentre le previsioni quantili forniscono in genere una serie di risultati possibili.

Taccuini Python

Per una step-by-step guida sulla valutazione delle metriche predittive, consulta Calcolo delle metriche utilizzando i backtest a livello di articolo. .

Interpretazione dei parametri di precisione

Amazon Forecast fornisce metriche relative all'errore quadratico medio (RMSE), alla perdita quantile ponderata (wQL), alla perdita quantile ponderata media (wQl), all'errore medio assoluto scalato (MASE), all'errore percentuale assoluto medio (MAPE) e all'errore percentuale assoluto ponderato (WAPE) per valutare i predittori. Insieme alle metriche per il predittore complessivo, Forecast calcola le metriche per ogni finestra di backtest.

Puoi visualizzare le metriche di precisione per i tuoi predittori utilizzando l'Amazon Forecast Software Development Kit (SDK) e la console Amazon Forecast.

Forecast SDK

Utilizzando l'GetAccuracyMetricsoperazione, specifica diPredictorArn visualizzare le metriche RMSE, MASE, MAPE, WAPE, Average wQL e wQL per ogni backtest.

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

Scegli il tuo predittore nella pagina Predittori. Le metriche di precisione per il predittore sono mostrate nella sezione Metriche predittive.

Nota

Per le metriche Average wQL, wQL, RMSE, MASE, MAPE e WAPE, un valore inferiore indica un modello superiore.

Perdita quantile ponderata (wQl)

La metrica della perdita quantile ponderata (wQL) misura l'accuratezza di un modello a un quantile specificato. È particolarmente utile quando ci sono costi diversi per una previsione insufficiente e una sovrastimazione. Impostando il peso (̈) della funzione WQl, è possibile incorporare automaticamente diverse penalità in caso di sottoprevisione e sovraprevisione.

La funzione di perdita viene calcolata come segue.

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

̈ - un quantile nel set {0.01, 0.02,..., 0.99}

qi,t (̈) - il quantile previsto dal modello.

yi,t - il valore osservato al punto (i, t)

I quantili (̈) per wQl possono variare da 0,01 (P1) a 0,99 (P99). La metrica Ql non può essere calcolata per la previsione media.

Per impostazione predefinita, Forecast calcola WQl in0.1 (P10),0.5 (P50) e0.9 (P90).

  • P10 (0,1) - Il valore reale dovrebbe essere inferiore al valore previsto il 10% delle volte.

  • P50 (0,5) - Il valore reale dovrebbe essere inferiore al valore previsto il 50% delle volte. Questa è anche nota come previsione mediana.

  • P90 (0,9) - Il valore reale dovrebbe essere inferiore al valore previsto il 90% delle volte.

Nel settore della vendita al dettaglio, il costo di una sottoscorta è spesso superiore al costo di un'eccedenza di scorte, quindi una previsione a P75 (̈ = 0,75) può essere più informativa rispetto alla previsione al quantile mediano (P50). In questi casi, wQl [0.75] assegna un peso di penalità maggiore alla sottoprevisione (0,75) e un peso minore alla sovrastecazione (0,25).

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

La figura precedente mostra le diverse previsioni della domanda per wQL [0,50] e wQL [0,75]. Il valore previsto a P75 è significativamente superiore al valore previsto a P50 perché si prevede che la previsione P75 soddisfi la domanda il 75% delle volte, mentre la previsione P50 dovrebbe soddisfare la domanda solo il 50% delle volte.

Quando la somma dei valori osservati su tutti gli elementi e i punti temporali è approssimativamente zero in una determinata finestra di backtest, l'espressione di perdita quantile ponderata non è definita. In questi casi, Forecast restituisce la perdita quantile non ponderata, che è il numeratore nell'espressione wQl.

Forecast calcola anche il WQl medio, che è il valore medio delle perdite quantiliche ponderate su tutti i quantili specificati. Per impostazione predefinita, questa sarà la media di wQL [0.10], wQl [0.50] e wQl [0,90].

Errore percentuale assoluto ponderato (WAPE)

L'errore percentuale assoluto ponderato (WAPE) misura la deviazione complessiva dei valori previsti dai valori osservati. WAPE viene calcolato prendendo la somma dei valori osservati e la somma dei valori previsti e calcolando l'errore tra questi due valori. Un valore più basso indica un modello più preciso.

Quando la somma dei valori osservati per tutti i punti temporali e tutti gli elementi è approssimativamente zero in una determinata finestra di backtest, l'espressione di errore percentuale assoluta ponderata non è definita. In questi casi, Forecast restituisce la somma degli errori assoluti non ponderati, che è il numeratore nell'espressione WAPE.

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

yi,t - il valore osservato al punto (i, t)

i,t- il valore previsto al punto (i, t)

La Forecast utilizza la previsione media come valore previsto,i,t.

WAPE è più resistente ai valori anomali rispetto a Root Mean Square Error (RMSE) perché utilizza l'errore assoluto anziché l'errore quadrato.

Amazon Forecast in precedenza faceva riferimento alla metrica WAPE come MAPE (Mean Absolute Percentage Error) e utilizzava la previsione mediana (P50) come valore previsto. La Forecast ora utilizza la previsione media per calcolare il WAPE. La metrica wQl [0.5] è equivalente alla metrica WAPE [mediana], come mostrato di seguito:

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

Errore quadratico medio principale (RMSE)

L'errore quadratico medio (RMSE) è la radice quadrata della media degli errori quadratici ed è quindi più sensibile ai valori anomali rispetto ad altre metriche di precisione. Un valore più basso indica un modello più preciso.

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

yi,t - il valore osservato al punto (i, t)

i,t- il valore previsto al punto (i, t)

nT - il numero di punti dati in un set di test

La Forecast utilizza la previsione media come valore previsto,i,t. Quando si calcolano le metriche predittive, nT è il numero di punti dati in una finestra di backtest.

RMSE utilizza il valore quadrato dei residui, che amplifica l'impatto dei valori anomali. Nei casi d'uso in cui solo pochi grandi errori di previsione possono essere molto costosi, l'RMSE è la metrica più pertinente.

I predittori creati prima dell'11 novembre 2020 calcolavano l'RMSE utilizzando il quantile 0,5 (P50) per impostazione predefinita. La Forecast ora utilizza la previsione media.

Errore percentuale assoluto medio (MAPE)

L'errore percentuale medio assoluto (MAPE) prende il valore assoluto dell'errore percentuale tra i valori osservati e quelli previsti per ogni unità di tempo, quindi calcola la media di tali valori. Un valore più basso indica un modello più preciso.

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

At - il valore osservato nel punto t

Ft - il valore previsto nel punto t

n - il numero di punti dati nella serie di tempo

La Forecast utilizza la previsione media come valore previsto,t F.

MAPE è utile nei casi in cui i valori differiscono significativamente tra i punti temporali e i valori anomali hanno un impatto significativo.

Errore scalabile assoluto medio (MASE)

L'errore medio assoluto scalato (MASE) viene calcolato dividendo l'errore medio per un fattore di scala. Questo fattore di scala dipende dal valore di stagionalità, m, selezionato in base alla frequenza delle previsioni. Un valore più basso indica un modello più preciso.

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

Yt - il valore osservato nel punto t

Yt-m - il valore osservato nel punto t-m

ej - l'errore al punto j (valore osservato - valore previsto)

m - il valore della stagionalità

La Forecast utilizza la previsione media come valore previsto.

MASE è ideale per set di dati di natura ciclica o con proprietà stagionali. Ad esempio, la previsione degli articoli che sono molto richiesti durante l'estate e quelli poco richiesti durante gli inverni può trarre vantaggio dalla presa in considerazione dell'impatto stagionale.

Esportazione dei parametri di precisione

Nota

I file di esportazione possono restituire direttamente informazioni dall'importazione del set di dati. Ciò rende i file vulnerabili all'iniezione CSV se i dati importati contengono formule o comandi. Per questo motivo, i file esportati possono richiedere avvisi di sicurezza. Per evitare attività dannose, disabilita i link e le macro durante la lettura dei file esportati.

Forecast consente di esportare i valori previsti e le metriche di precisione generate durante il backtest.

Puoi utilizzare queste esportazioni per valutare elementi specifici in momenti e quantili specifici e comprendere meglio il tuo predittore. Le esportazioni backtest vengono inviate a una posizione S3 specificata e contengono due cartelle:

  • valori previsionali: contiene file CSV o Parquet con valori previsionali per ogni tipo di previsione per ogni backtest.

  • accuracy-metrics-values: contiene file CSV o Parquet con le metriche per ogni backtest, insieme alla media di tutti i backtest. Queste metriche includono wQl per ogni quantile, Average wQL, RMSE, MASE, MAPE e WAPE.

Laforecasted-values cartella contiene i valori previsti per ogni tipo di previsione per ogni finestra di backtest. Include anche informazioni sugli ID degli articoli, le dimensioni, i timestamp, i valori di destinazione e gli orari di inizio e fine della finestra di backtest.

Laaccuracy-metrics-values cartella contiene le metriche di precisione per ogni finestra di backtest, nonché le metriche medie per tutte le finestre di backtest. Contiene metriche wQl per ogni quantile specificato, oltre a metriche Average wQl, RMSE, MASE, MAPE e WAPE.

I file all'interno di entrambe le cartelle seguono la convenzione di denominazione:<ExportJobName>_<ExportTimestamp>_<PartNumber>.csv.

Puoi esportare le metriche di precisione utilizzando l'Amazon Forecast Software Development Kit (SDK) e la console Amazon Forecast.

Forecast SDK

Utilizzando l'CreatePredictorBacktestExportJoboperazione, specifica la posizione S3 e il ruolo IAM nell'DataDestinationoggetto, insieme aPredictorArn ePredictorBacktestExportJobName.

Ad esempio:

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

Scegli il tuo predittore nella pagina Predittori. Nella sezione Metriche predittive, scegli Esporta i risultati del backtest.

Durante la fase di esportazione in backtest di Create predittor, imposta i campi Nome esportazione, Ruolo IAM e posizione di esportazione del predittore S3.

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

Scelta dei tipi di Forecast

Amazon Forecast utilizza i tipi di previsione per creare previsioni e valutare i predittori. I tipi di Forecast sono disponibili in due forme:

  • Tipo di previsione media: una previsione che utilizza la media come valore previsto. In genere vengono utilizzate come previsioni puntuali per un determinato punto temporale.

  • Tipo di previsione quantilica: una previsione a un quantile specificato. In genere viene utilizzato per fornire un intervallo di previsione, che è un intervallo di valori possibili per tenere conto dell'incertezza delle previsioni. Ad esempio, una previsione al0.65 quantile stimerà un valore inferiore al valore osservato il 65% delle volte.

Per impostazione predefinita, Forecast utilizza i seguenti valori per i tipi di previsione predittiva:0.10.5 (P10), (P50) e0.9 (P90). Puoi scegliere fino a cinque tipi di previsione personalizzati, inclusimean quantili che vanno da0.01 (P1) a0.99 (P99).

I quantili possono fornire un limite superiore e inferiore per le previsioni. Ad esempio, l'utilizzo dei tipi di previsione0.1 (P10) e0.9 (P90) fornisce un intervallo di valori noto come intervallo di confidenza dell'80%. Il valore osservato dovrebbe essere inferiore al valore P10 il 10% delle volte e il valore P90 dovrebbe essere superiore al valore osservato il 90% delle volte. Generando previsioni a p10 e P90, puoi aspettarti che il valore reale rientri tra questi limiti l'80% delle volte. Questo intervallo di valori è rappresentato dalla regione ombreggiata tra P10 e P90 nella figura seguente.

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

È inoltre possibile utilizzare una previsione quantilica come previsione puntuale quando il costo della sottoprevisione è diverso dal costo della previsione eccessiva. Ad esempio, in alcuni casi di vendita al dettaglio il costo della sottoscorta è superiore al costo dell'eccesso di scorte. In questi casi, la previsione a 0,65 (P65) è più informativa della mediana (P50) o della previsione media.

Durante l'addestramento di un predittore, puoi scegliere tipi di previsione personalizzati utilizzando l'Amazon Forecast Software Development Kit (SDK) e la console Amazon Forecast.

Forecast SDK

Utilizzando l'CreateAutoPredictoroperazione, specificate i tipi di previsione personalizzati nelForecastTypes parametro. Forecast

Ad esempio, per creare un predittore nei tipi0.01,mean0.65, e di0.99 previsione, utilizza il codice seguente.

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

Durante la fase Train Predictor, specifica i tipi di Forecast personalizzati nel campo Tipi di previsione. Scegli Aggiungi nuovo tipo di previsione e inserisci un valore per il tipo di previsione.

Ad esempio, per creare un predittore utilizzando i tipi0.01,mean0.65, e0.99 Forecast, inserisci i seguenti valori nei campi Tipi di previsione mostrati di seguito.

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

Lavorare con i predittori esistenti

Impostazione dei parametri di backtesting

Forecast utilizza il backtesting per calcolare le metriche di precisione. Se esegui più backtest, Forecast calcola la media di ogni metrica su tutte le finestre di backtest. Per impostazione predefinita, Forecast calcola un backtest, con la dimensione della finestra di backtest (set di test) uguale alla lunghezza dell'orizzonte di previsione (finestra di previsione). È possibile impostare sia la lunghezza della finestra di backtest che il numero di scenari di backtest durante l'addestramento di un predittore.

Forecast omette i valori riempiti dal processo di backtest e qualsiasi elemento con valori riempiti all'interno di una determinata finestra di backtest verrà escluso da quel backtest. Questo perché Forecast confronta solo i valori previsti con i valori osservati durante il backtest e i valori riempiti non sono valori osservati.

La finestra di backtest deve essere grande almeno quanto l'orizzonte di previsione e inferiore alla metà della lunghezza dell'intero set di dati delle serie temporali di destinazione. Puoi scegliere tra 1 e 5 backtest.

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

In generale, l'aumento del numero di backtest produce metriche di precisione più affidabili, poiché durante i test viene utilizzata una parte maggiore delle serie temporali e Forecast è in grado di calcolare una media delle metriche in tutti i backtest.

Puoi impostare i parametri di backtesting utilizzando l'Amazon Forecast Software Development Kit (SDK) e la console Amazon Forecast.

Forecast SDK

Utilizzando l'CreatePredictoroperazione, imposta i parametri di backtest nel EvaluationParameterstipo di dati. Specifica la lunghezza del set di test durante il backtest con ilBackTestWindowOffset parametro e il numero di finestre di backtest con ilNumberOfBacktestWindows parametro.

Ad esempio, per eseguire 2 backtest con un set di test di 10 punti temporali, utilizza il codice seguente.

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

Durante la fase Train Predictor, imposta la lunghezza del set di test durante il backtest con il campo Offset della finestra Backtest e il numero di finestre di backtest con il campo Numero di finestre di backtest.

Ad esempio, per eseguire 2 backtest con un set di test di 10 punti temporali, imposta i seguenti valori.

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

HPO e AutoML

Per impostazione predefinita, Amazon Forecast utilizza i quantili0.10.5 (P10), (P50) e0.9 (P90) per l'ottimizzazione degli iperparametri durante l'ottimizzazione degli iperparametri (HPO) e per la selezione del modello durante AutoML. Se si specificano tipi di previsione personalizzati durante la creazione di un predittore, Forecast utilizza tali tipi di previsione durante HPO e AutoML.

Se vengono specificati tipi di previsione personalizzati, Forecast utilizza i tipi di previsione specificati per determinare i risultati ottimali durante HPO e AutoML. Durante HPO, Forecast utilizza la prima finestra di backtest per trovare i valori ottimali degli iperparametri. Durante AutoML, Forecast utilizza le medie in tutte le finestre di backtest e i valori ottimali degli iperparametri di HPO per trovare l'algoritmo ottimale.

Sia per AutoML che per HPO, Forecast sceglie l'opzione che riduce al minimo le perdite medie rispetto ai tipi di previsione. È inoltre possibile ottimizzare il predittore durante AutoML e HPO con una delle seguenti metriche di precisione: perdita quantile ponderata media (Average wQL), errore percentuale assoluto ponderato (WAPE), errore quadratico medio medio (RMSE), errore percentuale assoluto medio (MAPE) o errore scalato assoluto medio (MASE).

Puoi scegliere una metrica di ottimizzazione utilizzando l'Amazon Forecast Software Development Kit (SDK) e la console Amazon Forecast.

Forecast SDK

Utilizzando l'CreatePredictoroperazione, specificate i tipi di previsione personalizzati nelObjectiveMetric parametro.

IlObjectiveMetric parametro accetta i valori seguenti:

  • AverageWeightedQuantileLoss- Perdita quantile media ponderata

  • WAPE- Errore percentuale assoluto ponderato

  • RMSE- Errore quadratico medio principale

  • MAPE- Errore percentuale assoluto medio

  • MASE- Errore scalabile assoluto medio

Ad esempio, per creare un predittore con AutoML e ottimizzarlo utilizzando la metrica di precisione MASE (Mean Absolute Scaled Error), utilizza il codice seguente.

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

Durante la fase Train Predictor, scegli Automatico (AutoML). Nella sezione Metrica dell'obiettivo, scegli la metrica di precisione da utilizzare per ottimizzare il tuo predittore.

Ad esempio, l'immagine seguente mostra un predittore creato con AutoML e ottimizzato utilizzando la metrica di precisione MASE (Mean Absolute Scaled Error).

Quando si utilizza la console, è possibile specificare la metrica Objective solo quando si crea un predittore utilizzando AutoML. Se si seleziona manualmente un algoritmo, non è possibile specificare la metrica Objective per HPO.