Algoritmo NPTS (Non-Parametric Time Series) - 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à.

Algoritmo NPTS (Non-Parametric Time Series)

L'algoritmo Non-Parametric Time Series (NPTS) di Amazon Forecast è un forecaster di base probabilistico, scalabile. Consente di prevedere la distribuzione di valori futura di una determinata serie temporale eseguendo il campionamento da osservazioni passate. Le previsioni sono delimitate dai valori osservati. NPTS è particolarmente utile quando la serie temporale è intermittente (o rada, contenente molti 0) e con lunghi intervalli di inattività. Ad esempio, previsione della domanda di singoli articoli in cui la serie temporale presenta molti conteggi bassi. Amazon Forecast fornisce varianti di NPTS che si differenziano su quali osservazioni passate vengono campionate e sulla modalità di campionamento. Per usare un variante NPTS, scegli un'impostazione iperparametro.

Funzionamento di NPTS

In maniera simile ai metodi di previsione classici, ad esempio Livellamento esponenziale (ETS) e Modello autoregressivo integrato a media mobile (ARIMA), NPTS genera previsioni per ogni serie temporale individualmente. Le serie temporali nel set di dati possono avere lunghezze diverse. I punti temporali in cui le osservazioni sono disponibili sono chiamati l'intervallo di training e i punti temporali in cui occorre fare la previsione sono chiamati l'intervallo di previsione.

I previsionisti Amazon Forecast NPTS hanno le seguenti varianti: NTPS, NTPS stagionale, forecaster climatologico e forecaster climatologico stagionale.

NPTS

In questa variante, le previsioni vengono generate campionando da tutte le osservazioni nell'intervallo di training della serie temporale. Tuttavia, anziché campionare uniformemente da tutte le osservazioni, questa variante assegna un peso a ciascuna delle osservazioni passate in base alla sua distanza dalla fase temporale corrente in cui è necessaria la previsione. In particolare, utilizza pesi che decadono esponenziale in base alla distanza delle osservazioni passate. In questo modo, le osservazioni del passato recente vengono campionate con probabilità molto più elevata rispetto alle osservazioni del passato lontano. Questo presuppone che il passato vicino sia più indicativo per il futuro rispetto al passato lontano. Puoi controllare la quantità di decadimento nei pesi con l'iperparametro exp_kernel_weights.

Per usare questa variante NPTS in Amazon Forecast, imposta l'iperparametro use_seasonal_model su False e accetta tutte le altre impostazioni predefinite.

NPTS stagionale

La variante NPTS stagionale è simile a NPTS tranne che anziché eseguire il campionamento da tutte le osservazioni, utilizza solo le osservazioni dalle stagioni passate. Per impostazione predefinita, la stagione è determinata dalla granularità della serie temporale. Ad esempio, nel caso di una serie temporale oraria, per fare una previsione per ora t, questa variante esegue il campionamento dalle osservazioni corrispondenti all'ora t nei giorni precedenti. Analogamente a NPTS, l'osservazione nell'ora t nel giorno precedente ha un peso maggiore rispetto alle osservazioni nell'ora t in giorni precedenti. Per ulteriori informazioni su come determinare la stagionalità in base alla granularità della serie temporale, consulta Caratteristiche stagionali.

Forecaster climatologico

La variante forecaster climatologico campiona tutte le osservazioni passate con probabilità uniforme.

Per usare il forecaster climatologico, imposta l'iperparametro kernel_type su uniform e l'iperparametro use_seasonal_model su False. Accetta le impostazioni predefinite per tutti gli altri iperparametri.

Forecaster climatologico stagionale

Analogamente all'NPTS stagionale, il forecaster climatologico stagionale campiona le osservazioni delle stagioni passate ma senza probabilità uniforme.

Per usare il forecaster climatologico stagionale, imposta l'iperparametro kernel_type su uniform. Accetta tutte le impostazioni predefinite per tutti gli altri iperparametri.

Caratteristiche stagionali

Per determinare che cosa corrisponde a una stagione per la variante NPTS stagionale e il forecaster climatologico stagionale, utilizza la tabella seguente. in cui vengono elencate le caratteristiche derivate per le frequenze temporali di base supportate, basate sulla granularità. Amazon Forecast include queste serie temporali delle caratteristiche, pertanto non è necessario fornirle.

Frequenza delle serie temporali Caratteristica per determinare la stagionalità
Minuto minute-of-hour
Ora hour-of-day
giorno day-of-week
Settimana day-of-month
Month (Mese) month-of-year

Quando utilizzi algoritmi NPTS di Amazon Forecast, considera le seguenti best practice per preparare i dati e ottenere risultati ottimali:

  • Poiché NPTS genera previsioni per ogni serie temporale individualmente, fornire l'intera serie temporale quando si chiama il modello di previsione. Inoltre, accettare il valore predefinito dell'iperparametro context_length. In questo modo l'algoritmo utilizza l'intera serie temporale.

  • Se si modifica context_length (perché i dati di training sono troppo lunghi), assicurarsi che sia sufficientemente grande e che copra più stagioni passate. Ad esempio, per una serie temporale giornaliera, questo valore deve essere almeno 365 giorni (purché si disponga di questa quantità di dati).

Iperparametri NPTS

Nella tabella seguente sono elencati gli iperparametri che puoi utilizzare nell'algoritmo NPTS.

Nome parametro Descrizione
context_length Il numero di punti temporali nel passato utilizzati dal modello per fare la previsione. Per impostazione predefinita, vengono utilizzati tutti i punti temporali nell'intervallo di training. In genere, il valore per questo iperparametro deve essere grande e deve coprire più stagioni passate. Ad esempio, per la serie temporale giornaliera questo valore deve essere di almeno 365 giorni.
Valori validi

numeri interi positivi

Valore predefinito

La lunghezza della serie temporale di training

kernel_type Il kernel da usare per definire i pesi utilizzati per il campionamento delle osservazioni passate.
Valori validi

exponential o uniform

Valori predefiniti

exponential

exp_kernel_weights

Valido solo quando kernel_type è exponential.

Il parametro di dimensionamento del kernel. Per un decadimento più rapido (esponenziale) dei pesi assegnati alle osservazioni nel passato lontano, utilizzare un valore grande.

Valori validi

Numeri in virgola mobile positivi

Valore predefinito

0.01

use_seasonal_model Se utilizzare una variante stagionale.
Valori validi

True o False

Valore predefinito

True

use_default_time_features

Valido solo per le varianti NPTS stagionale e forecaster climatologico stagionale.

Se utilizzare caratteristiche stagionali basate sulla granularità della serie temporale per determinare la stagionalità.

Valori validi

True o False

Valore predefinito

True