Come funziona l'algoritmo DeepAR - Amazon SageMaker

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

Come funziona l'algoritmo DeepAR

Durante il training, DeepAR accetta un set di dati di training e un set di dati di test facoltativo. Utilizza il set di dati di test per valutare il modello di training. In generale, i set di dati non devono contenere lo stesso set di serie temporali. Puoi utilizzare un modello sottoposto al training su un determinato set di training per generare previsioni per il futuro della serie temporale nel set di training e per altre serie temporali. I set di dati di training e di test sono costituiti da una o, preferibilmente, più serie temporali di target. Ogni serie temporale di target può essere associata facoltativamente a un vettore di serie temporali di caratteristiche e a un vettore di caratteristiche di categoria. Per ulteriori informazioni, consulta Interfaccia di input/output per l'algoritmo DeepAR.

Ad esempio, il seguente è un elemento di un set di training indicizzato da i che è costituito da una serie temporale di target, Zi,t, e da due serie temporali di caratteristiche associate, Xi,1,t e Xi,2,t:


                Figura 1: serie temporali di target e serie temporali di caratteristiche associate

Le serie temporali di target potrebbero contenere valori mancanti, rappresentati da interruzioni di riga nelle serie temporali. DeepAR supporta solo le serie temporali di caratteristiche che saranno note in futuro. In questo modo è possibile considerare scenari ipotetici. scenari Cosa succede, ad esempio, se cambio il prezzo di un prodotto?

Ogni serie temporale di target può anche essere associata a una serie di caratteristiche di categoria. Puoi utilizzare queste caratteristiche per codificare a quali raggruppamenti appartiene una serie temporale. Le caratteristiche di categoria consentono al modello di apprendere il comportamento tipico dei gruppi, che può utilizzare per aumentare l'accuratezza del modello. DeepAR implementa questo modello tramite l'apprendimento di un vettore di incorporamento per ogni gruppo che acquisisce le proprietà comuni di tutte le serie temporali nel gruppo.

Come funzionano le serie temporali di caratteristiche nell'algoritmo DeepAR

Per facilitare l'apprendimento di modelli dipendenti dal tempo, come i picchi durante i fine settimana, DeepAR crea automaticamente serie temporali basate sulla frequenza delle serie temporali di target. Utilizza queste serie temporali di caratteristiche derivate con le serie temporali di caratteristiche personalizzate fornite durante il training e l'inferenza. La seguente figura mostra due di queste caratteristiche di serie temporali derivate: ui,1,t rappresenta l'ora del giorno e ui,2,t il giorno della settimana.


                    Figura 2: serie temporali derivate

L'algoritmo DeepAR genera automaticamente queste serie temporali di caratteristiche. La seguente tabella elenca le caratteristiche derivate per le frequenze temporali di base supportate.

Frequenza delle serie temporali Caratteristiche derivate
Minute

minute-of-hour, hour-of-day, day-of-week, day-of-month, day-of-year

Hour

hour-of-day, day-of-week, day-of-month, day-of-year

Day

day-of-week, day-of-month, day-of-year

Week

day-of-month, week-of-year

Month

month-of-year

DeepAR addestra un modello campionando a caso diversi esempi di training da ciascuna delle serie temporali nel set di dati di training. Ogni esempio di training è costituito da una coppia di finestre di contesto e di previsione adiacenti con lunghezze predefinite fisse. L'iperparametro context_length controlla fino a che punto la rete può vedere nel passato e l'iperparametro prediction_length controlla quanto lontano possono essere fatte le previsioni future. Durante il training, l'algoritmo ignora gli elementi del di training contenenti serie temporali più brevi della lunghezza di previsione specificata. La figura seguente rappresenta cinque esempi con lunghezze di contesto di 12 ore e lunghezze di previsione di 6 ore ricavate dall'elemento i. Per brevità, abbiamo omesso le serie temporali di caratteristiche xi,1,t e ui,2,t.


                    Figura 3: serie temporali campionate

Per acquisire modelli di stagionalità, DeepAR immette inoltre automaticamente valori ritardati di serie temporali di target. Nell'esempio con frequenza oraria, per ogni indice temporale, t = T, il modello espone i valori zi,t, che si sono verificati circa uno, due e tre giorni nel passato.


                    Figura 4: serie temporali ritardate

Per l'inferenza, il modello sottoposto al training prende come input le serie temporali target che potrebbero o meno essere state utilizzate durante il training e prevede una distribuzione di probabilità per i prossimi valori prediction_length. Poiché DeepAR è sottoposto al training sull'intero set di dati, la previsione tiene conto dei modelli appresi da serie temporali simili.

Per informazioni sulla matematica dietro DeepAR, consulta DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks.