Algoritmo CNN-QR - Amazon Forecast

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à.

Algoritmo CNN-QR

Amazon Forecast CNN-QR, Convolutional Neural Network - Quantile Regression, è un algoritmo di apprendimento automatico proprietario per la previsione di serie temporali scalari (unidimensionali) utilizzando reti neurali convoluzionali causali (CNN). Questo algoritmo di apprendimento supervisionato addestra un modello globale da un'ampia raccolta di serie temporali e utilizza un decodificatore quantile per fare previsioni probabilistiche.

Nozioni di base su CNN-QR

Puoi addestrare un predittore con CNN-QR in due modi:

  1. Selezione manuale dell'algoritmo CNN-QR.

  2. Scegliere AutoML (CNN-QR fa parte di AutoML).

Se non sei sicuro dell'algoritmo da utilizzare, ti consigliamo di selezionare AutoML e Forecast selezionerà CNN-QR se è l'algoritmo più accurato per i tuoi dati. Per vedere se CNN-QR è stato selezionato come modello più accurato, usa l'DescribePredictorAPI o scegli il nome del predittore nella console.

Ecco alcuni casi d'uso chiave per CNN-QR:

  • Forecast con set di dati grandi e complessi: CNN-QR funziona meglio se addestrato con set di dati grandi e complessi. La rete neurale può apprendere attraverso molti set di dati, il che è utile quando si hanno serie temporali e metadati di elementi correlati.

  • Forecast con serie temporali correlate alla cronologia - CNN-QR non richiede che le serie temporali correlate contengano punti dati all'interno dell'orizzonte di previsione. Questa maggiore flessibilità consente di includere una gamma più ampia di serie temporali correlate e metadati degli articoli, come il prezzo degli articoli, gli eventi, le metriche web e le categorie di prodotti.

Come funziona CNN-QR

CNN-QR è un modello sequence-to-sequence (Seq2Seq) per la previsione probabilistica che verifica la capacità di una previsione ricostruisce la sequenza di decodifica, condizionata dalla sequenza di codifica.

L'algoritmo consente diverse funzionalità nella codifica e nelle sequenze di decodifica, quindi è possibile utilizzare una serie temporale correlata nell'encoder e ometterla dal decodificatore (e viceversa). Per impostazione predefinita, le serie temporali correlate con punti dati nell'orizzonte di previsione verranno incluse sia nell'encoder che nel decodificatore. Le serie temporali correlate senza punti dati nell'orizzonte di previsione verranno incluse solo nell'encoder.

CNN-QR esegue la regressione quantile con una CNN causale gerarchica che funge da estrattore di caratteristiche apprendibili.

Per facilitare l'apprendimento di modelli dipendenti dal tempo, come i picchi durante i fine settimana, CNN-QR crea automaticamente serie temporali di funzionalità in base alla granularità delle serie temporali. Ad esempio, CNN-QR crea due serie temporali di caratteristiche (day-of-month e day-of-year) con una frequenza settimanale di serie temporali. L'algoritmo utilizza queste serie temporali derivate insieme alle serie temporali personalizzate fornite durante l'addestramento e l'inferenza. L'esempio seguente mostra una serie temporale di destinazione e due caratteristiche di serie temporali derivate:ui,1,t rappresenta l'ora del giorno eui,2,t rappresenta il giorno della settimana.zi,t

Immagine: CNN-QR con caratteristiche derivate per le frequenze temporali.

CNN-QR include automaticamente queste serie temporali di funzionalità in base alla frequenza dei dati e alla dimensione dei dati di allenamento. Nella tabella seguente vengono elencate le caratteristiche che possono essere derivate per ogni frequenza temporale di base supportata.

Frequenza delle serie temporali Caratteristiche derivate
Minuto minute-of-hour, hour-of-day, day-of-week, day-of-month, day-of-year
Ora hour-of-day, day-of-week, day-of-month, day-of-year
Day (Giorno) day-of-week, day-of-month, day-of-year
Week (Settimana) week-of-month, week-of-year
Mese month-of-year

Durante l'allenamento, ogni serie temporale del set di dati di addestramento è costituita da una coppia di finestre di contesto e previsione adiacenti con lunghezze predefinite fisse. Ciò è illustrato nella figura seguente, dove la finestra contestuale è rappresentata in verde e la finestra di previsione è rappresentata in blu.

È possibile utilizzare un modello addestrato su un determinato set di allenamento per generare previsioni per le serie temporali del training set e per altre serie temporali. Il set di dati di formazione è costituito da una serie temporale di destinazione, che può essere associata a un elenco di serie temporali correlate e metadati degli elementi.

La figura seguente mostra come funziona per un elemento di un set di dati di addestramento indicizzato dai. Il set di dati di formazione è costituito da una serie temporale di destinazione e da due serie temporali correlate associate,xi,1,t exi,2,t.zi,t La prima serie temporale correlataxi,1,t,, è una serie temporale che guarda al futuro, e la secondaxi,2,t, è una serie temporale storica.

Immagine: CNN-QR con serie temporali legate alla storia e al future

CNN-QR apprende attraverso le serie temporali di destinazione e le relative serie temporalixi,1,t exi,2,t, per generare previsioni nella finestra di previsione, rappresentata dalla linea arancione.zi,t

Utilizzo di dati correlati con CNN-QR

CNNQR supporta set di dati relativi a serie temporali sia storiche che future. Se si fornisce un set di dati di serie temporali relativo al future, qualsiasi valore mancante verrà riempito utilizzando il metodo di riempimento futuro. Per ulteriori informazioni sulle serie temporali correlate storiche e future, vedere Utilizzo di set di dati relativi a serie temporali correlate.

Puoi anche utilizzare set di dati di metadati degli articoli con CNN-QR. Si tratta di set di dati con informazioni statiche sugli elementi delle serie temporali di destinazione. I metadati degli articoli sono particolarmente utili per gli scenari di previsione a freddo in cui i dati storici sono scarsi o assenti. Per ulteriori informazioni sui metadati degli articoli, consulta Metadati degli articoli.

Iperparametri CNN-QR

Amazon Forecast ottimizza i modelli CNN-QR su iperparametri selezionati. Quando si seleziona manualmente CNN-QR, è possibile passare i parametri di allenamento per questi iperparametri. La tabella seguente elenca gli iperparametri regolabili dell'algoritmo CNN-QR.

Nome parametro Valori Descrizione
context_length
Valori validi

Interi positivi

Intervallo valido

Da 10 a 500

Valori tipici

da 2 *ForecastHorizon a 12 *ForecastHorizon

HPO regolabile

Il numero di punti temporali che il modello legge prima di fare previsioni. In genere, CNN-QR ha valori maggioricontext_length di DeepAr+ perché CNN-QR non utilizza ritardi per esaminare ulteriori dati storici.

Se il valore percontext_length non rientra in un intervallo predefinito, CNN-QR imposterà automaticamente il valore predefinitocontext_length su un valore appropriato.

use_related_data
Valori validi

ALL

NONE

HISTORICAL

FORWARD_LOOKING

Valore predefinito

ALL

HPO regolabile

Determina i tipi di dati delle serie temporali correlate da includere nel modello.

Seleziona una delle quattro opzioni:

  • ALL: Includi tutte le serie temporali correlate fornite.

  • NONE: Escludere tutte le serie temporali correlate fornite.

  • HISTORICAL: Includi solo le serie temporali correlate che non si estendono nell'orizzonte di previsione.

  • FORWARD_LOOKING: Includi solo le serie temporali correlate che si estendono nell'orizzonte di previsione.

HISTORICALinclude tutte le serie temporali relative allaFORWARD_LOOKING cronologia e include tutte le serie temporali relative al futuro. Non è possibile scegliere un sottoinsiemeHISTORICAL o una serie temporaleFORWARD_LOOKING correlata.

use_item_metadata
Valori validi

ALL

NONE

Valore predefinito

ALL

HPO regolabile

Determina se il modello include i metadati degli elementi.

Seleziona una delle due opzioni:

  • ALL: include tutti i metadati degli articoli forniti.

  • NONE: escludi tutti i metadati degli articoli forniti.

use_item_metadatainclude tutti i metadati degli articoli forniti o nessuno. Non è possibile scegliere un sottoinsieme di metadati degli articoli.

epochs
Valori validi

Interi positivi

Valori tipici

Da 10 a 1000

Valore predefinito

100

HPO regolabile

No

Il numero massimo di pass completi tramite i dati di training. I set di dati più piccoli richiedono più epoche.

Per valori elevati diForecastHorizon econtext_length, considera la riduzione delle epoche per migliorare il tempo di allenamento.

Ottimizzazione degli iperparametri (HPO)

L'ottimizzazione degli iperparametri (HPO) è il compito di selezionare i valori ottimali degli iperparametri per uno specifico obiettivo di apprendimento. Con Forecast, puoi automatizzare questo processo in due modi:

  1. Scegliendo AutoML, HPO verrà eseguito automaticamente per CNN-QR.

  2. Selezione manuale di CNN-QR e impostazionePerformHPO = TRUE.

Le serie temporali aggiuntive correlate e i metadati degli articoli non sempre migliorano la precisione del modello CNN-QR. Quando si esegue AutoML o si abilita l'HPO, CNN-QR verifica la precisione del modello con e senza le serie temporali correlate e i metadati degli articoli forniti e seleziona il modello con la massima precisione.

Amazon Forecast ottimizza automaticamente i seguenti tre iperparametri durante l'HPO e ti fornisce i valori finali allenati:

  • context_length: determina quanto lontano è possibile vedere la rete nel passato. Il processo HPO imposta automaticamente un valorecontext_length che massimizza la precisione del modello, tenendo conto del tempo di addestramento.

  • use_related_data: determina quali forme di dati di serie temporali correlate includere nel modello. Il processo HPO verifica automaticamente se i dati delle serie temporali correlate migliorano il modello e seleziona l'impostazione ottimale.

  • use_item_metadata: determina se includere i metadati degli articoli nel modello. Il processo HPO verifica automaticamente se i metadati dell'articolo migliorano il modello e sceglie l'impostazione ottimale.

Nota

Seuse_related_data è impostato suNONE oHISTORICAL quando viene selezionata la funzionalitàHoliday supplementare, ciò significa che l'inclusione dei dati relativi alle festività non migliora la precisione del modello.

È possibile impostare la configurazione HPO per l'context_lengthiperparametro se impostataPerformHPO = TRUE durante la selezione manuale. Tuttavia, non è possibile modificare alcun aspetto della configurazione HPO se si sceglie AutoML. Per ulteriori informazioni sulla configurazione HPO, consulta l'IntergerParameterRangeAPI.

Suggerimenti e best practice

Evita valori elevati per ForecastHorizon - L'utilizzo di valori superiori a 100 perForecastHorizon aumenterà il tempo di addestramento e può ridurre la precisione del modello. Se si desidera prevedere più avanti nel futuro, valutare se eseguire l'aggregazione a una frequenza più elevata. Ad esempio, utilizza 5min anziché 1min.

Le CNN consentono una lunghezza del contesto più elevata: con CNN-QR, puoi impostare un valorecontext_length leggermente superiore a quello di DeepAr+, poiché le CNN sono generalmente più efficienti degli RNN.

Progettazione delle funzionalità dei dati correlati: sperimenta diverse combinazioni di serie temporali correlate e metadati degli elementi durante l'addestramento del modello e valuta se le informazioni aggiuntive migliorano la precisione. Diverse combinazioni e trasformazioni delle serie temporali correlate e dei metadati degli articoli forniranno risultati diversi.

CNN-QR non fa previsioni al quantile medio: quando si impostaForecastTypes sumean con l' CreateForecastAPI, le previsioni verranno invece generate sul quantile mediano (0.5oP50).