Parametri di addestramento per i modelli di previsione

Questa pagina fornisce informazioni dettagliate sui parametri utilizzati nell'addestramento del modello di previsione. Per scoprire come addestrare un modello di previsione, consulta Addestrare un modello di previsione e Addestrare un modello con il flusso di lavoro tabulare per la previsione.

Metodi di addestramento del modello

Scegli uno dei seguenti metodi per addestrare il modello:

Time series Dense Encoder (TiDE): modello encoder-decoder basato su DNN denso ottimizzato. Ottima qualità del modello con addestramento e inferenza veloci, soprattutto per contesti e orizzonti lunghi. Scopri di più.

Trasformatore di fusione temporale (TFT): modello DNN basato sull'attenzione progettato per generare un'elevata precisione e interpretabilità allineando il modello con l'attività di previsione generale su più orizzonti. Scopri di più.

AutoML (L2L): Una buona scelta per un'ampia gamma di casi d'uso. Scopri di più.

Seq2Seq+: Una buona scelta per la sperimentazione. L'algoritmo probabilmente convergerà più velocemente di AutoML perché la sua architettura è più semplice e utilizza uno spazio di ricerca più piccolo. I nostri esperimenti hanno dimostrato che Seq2Seq+ funziona bene con un budget di tempo ridotto e su set di dati di dimensioni inferiori a 1 GB.

Tipo di funzionalità e disponibilità al momento della previsione

Ogni colonna utilizzata per l'addestramento di un modello di previsione deve avere un tipo: attributo o covariata. Le covariate sono ulteriormente designate come disponibili o non disponibili al momento della previsione.

Tipo di serie Disponibile al momento della previsione Descrizione Esempi Campi API
Attributo Disponibile Un attributo è una caratteristica statica che non cambia nel tempo. Colore dell'articolo, descrizione del prodotto. time_series_attribute_columns
Covariata Disponibile

Una variabile esogena per cui si prevede una modifica nel corso del tempo. Una covariata disponibile al momento della previsione è un indicatore principale.

Devi fornire i dati di inferenza per questa colonna per ogni punto dell'orizzonte di previsione.

Festività, promozioni o eventi pianificati. available_at_forecast_columns
Covariata Non disponibile Una covariata non disponibile al momento della previsione. Quando crei una previsione, non devi fornire valori per queste caratteristiche. Meteo reale. unavailable_at_forecast_columns

Scopri di più sulla relazione tra la disponibilità delle funzionalità e l'orizzonte di previsione, la finestra di contesto e la finestra di previsione.

Orizzonte di previsione, finestra contestuale e finestra di previsione

Le funzionalità di previsione sono attributi statici o covariate variabili nel tempo. Consulta Tipo di funzionalità e disponibilità al momento della previsione.

Quando addestri un modello di previsione, devi specificare quali dati di addestramento delle covariate sono più importanti da acquisire. Questo valore è espresso sotto forma di finestra di previsione, ovvero una serie di righe composte da:

  • Il contesto o i dati storici fino al momento dell'inferenza.
  • L'orizzonte o le righe utilizzate per l'inferenza.

Nel complesso, le righe nella finestra definiscono un'istanza di serie temporale che funge da input del modello: è ciò su cui Vertex AI esegue l'addestramento, la valutazione e l'inferenza. La riga utilizzata per generare la finestra è la prima riga dell'orizzonte e identifica in modo univoco la finestra nella serie temporale.

L'orizzonte di previsione determina per quanto lontano nel futuro il modello prevede il valore target per ogni riga dei dati di inferenza.

La finestra contestuale imposta quanto indietro nel tempo il modello guarda durante l'addestramento (e per le previsioni). In altre parole, per ogni punto dati di addestramento, la finestra di contesto determina quanto indietro nel tempo il modello cerca pattern predittivi. Scopri le best practice per trovare un buon valore per la finestra contestuale.

Ad esempio, se Finestra contestuale = 14 e Orizzonte di previsione = 7, allora ogni esempio di finestra avrà 14 + 7 = 21 righe.

Disponibilità al momento della previsione

Le covariate di previsione possono essere suddivise in quelle disponibili al momento della previsione e quelle non disponibili al momento della previsione.

Quando si utilizzano covariate disponibili al momento della previsione, Vertex AI considera i valori delle covariate sia dalla finestra contestuale sia dall'orizzonte di previsione per l'addestramento, la valutazione e l'inferenza. Quando si tratta di covariate non disponibili al momento della previsione, Vertex AI considera i valori delle covariate dalla finestra contestuale, ma esclude esplicitamente i valori delle covariate dall'orizzonte di previsione.

Strategie per le finestre temporali continue

Vertex AI genera finestre di previsione dai dati di input utilizzando una strategia di finestra mobile. La strategia predefinita è Conteggio.

  • Conteggio. Il numero di finestre generate da Vertex AI non deve superare un massimo fornito dall'utente. Se il numero di righe nel set di dati di input è inferiore al numero massimo di finestre, ogni riga viene utilizzata per generare una finestra. In caso contrario, Vertex AI esegue un campionamento casuale per selezionare le righe. Il valore predefinito per il numero massimo di finestre è 100,000,000. Il numero massimo di finestre non può superare 100,000,000.
  • Stride. Vertex AI utilizza una riga di input ogni X per generare una finestra, fino a un massimo di 100.000.000 di finestre. Questa opzione è utile per le inferenze stagionali o periodiche. Ad esempio, puoi limitare la previsione a un solo giorno della settimana impostando il valore della lunghezza del passo su 7. Il valore può essere compreso tra 1 e 1000.
  • Colonna. Puoi aggiungere una colonna ai dati di input in cui i valori sono True o False. Vertex AI genera una finestra per ogni riga di input in cui il valore della colonna è True. I valori di True e False possono essere impostati in qualsiasi ordine, purché il conteggio totale delle righe di True sia inferiore a 100,000,000. Sono preferibili i valori booleani, ma sono accettati anche i valori stringa. I valori delle stringhe non sono sensibili alle maiuscole.

Generando meno finestre rispetto al valore predefinito di 100,000,000, puoi ridurre il tempo necessario per la pre-elaborazione e la valutazione del modello. Inoltre, il sottocampionamento delle finestre ti offre un maggiore controllo sulla distribuzione delle finestre visualizzate durante l'addestramento. Se utilizzato correttamente, questo può portare a risultati migliori e più coerenti.

Come vengono utilizzati la finestra di contesto e l'orizzonte di previsione durante l'addestramento e le previsioni

Supponiamo di avere dati raccolti mensilmente, con una finestra di contesto di 5 mesi e un orizzonte di previsione di 5 mesi. L'addestramento del modello con 12 mesi di dati genererebbe i seguenti set di input e previsioni:

  • [1-5]:[6-10]
  • [2-6]:[7-11]
  • [3-7]:[8-12]

Dopo l'addestramento, il modello potrebbe essere utilizzato per prevedere i mesi da 13 a 17:

  • [8-12]:[13-17]

Il modello utilizza solo i dati che rientrano nella finestra contestuale per effettuare la previsione. Tutti i dati forniti che non rientrano nella finestra contestuale vengono ignorati.

Dopo la raccolta dei dati per il 13° mese, questi possono essere utilizzati per fare previsioni fino al 18° mese:

  • [9-13]:[14-18]

Puoi continuare a farlo in futuro, finché ottieni buoni risultati. Alla fine, potresti riaddestrare il modello con i nuovi dati. Ad esempio, se hai eseguito il retraining del modello dopo aver aggiunto altri 6 mesi di dati, i dati di addestramento verrebbero utilizzati nel seguente modo:

  • [2-6]:[7-11]
  • [3-7]:[8-12]
  • [4-8]:[9-13]
  • [5-9]:[10-14]
  • [6-10]:[11-15]
  • [7-11]:[12-16]
  • [8-12]:[13-17]
  • [9-13]:[14-18]

Puoi quindi utilizzare il modello per prevedere i mesi da 19 a 23:

  • [14-18]:[19-23]

Obiettivi di ottimizzazione per i modelli di previsione

Quando addestri un modello, Vertex AI seleziona un obiettivo di ottimizzazione predefinito in base al tipo di modello e al tipo di dati utilizzato per la colonna di destinazione. La tabella seguente fornisce alcuni dettagli sui problemi per cui i modelli di previsione sono più adatti:

Obiettivo ottimizzazione Valore API Utilizza questo obiettivo se vuoi…
RMSE minimize-rmse Riduci al minimo l'errore quadratico medio (RMSE). Acquisisce con accuratezza più valori estremi ed è meno influenzato durante l'aggregazione delle inferenze. Valore predefinito.
MAE minimize-mae Riduci al minimo l'errore assoluto medio (MAE). Visualizza i valori estremi come outlier con un minore impatto sul modello.
RMSLE minimize-rmsle Riduci al minimo l'errore logaritmico quadratico medio (RMSLE). Penalizza l'errore sulla dimensione relativa anziché sul valore assoluto. Utile quando i valori previsti ed effettivi possono essere grandi.
RMSPE minimize-rmspe Riduci al minimo l'errore percentuale quadratico medio (RMSPE). Acquisisce con precisione un'ampia gamma di valori. Simile a RMSE, ma relativo alla grandezza del target. Utile quando l'intervallo di valori è grande.
WAPE minimize-wape-mae Riduci al minimo la combinazione di errore percentuale assoluto ponderato (WAPE) ed errore assoluto medio (MAE). Utile quando i valori effettivi sono bassi.
Perdita di quantili minimize-quantile-loss Riduce al minimo la perdita di pinball scalata dei quantili definiti per quantificare l'incertezza nelle stime. Le inferenze sui quantili quantificano l'incertezza delle inferenze. Misurano la probabilità che un'inferenza rientri in un intervallo.

Festività relative alle regioni

Per alcuni casi d'uso, i dati di previsione possono mostrare un comportamento irregolare nei giorni corrispondenti alle festività regionali. Se vuoi che il modello tenga conto di questo effetto, seleziona la regione o le regioni geografiche corrispondenti ai dati di input. Durante l'addestramento, Vertex AI crea funzionalità categoriche per le festività all'interno del modello in base alla data della colonna dell'ora e alle regioni geografiche specificate.

Di seguito è riportato un estratto delle funzionalità categoriche di date e festività per gli Stati Uniti. Tieni presente che una funzionalità categorica viene assegnata alla data principale, a uno o più giorni prefestivi e a uno o più giorni postfestivi. Ad esempio, la data principale per la Festa della mamma negli Stati Uniti nel 2013 era il 12 maggio. Le funzionalità della Festa della mamma vengono assegnate alla data principale, a sei giorni prima della festività e a un giorno dopo la festività.

Data Caratteristica categorica delle festività
2013-05-06MothersDay
2013-05-07MothersDay
2013-05-08MothersDay
2013-05-09MothersDay
2013-05-10MothersDay
2013-05-11MothersDay
2013-05-12MothersDay
2013-05-13MothersDay
2013-05-26US_MemorialDay
2013-05-27US_MemorialDay
2013-05-28US_MemorialDay

I valori accettabili per le regioni delle festività includono:

  • GLOBAL: rileva le festività per tutte le regioni del mondo.
  • NA: rileva le festività per il Nord America.
  • JAPAC: rileva le festività per il Giappone e l'Asia Pacifico.
  • EMEA: rileva le festività per Europa, Medio Oriente e Africa.
  • LAC: rileva le festività per l'America Latina e i Caraibi.
  • Codici paese ISO 3166-1: rileva le festività per singoli paesi.

Per visualizzare l'elenco completo delle date delle festività per ogni regione geografica, consulta la tabella holidays_and_events_for_forecasting in BigQuery. Puoi aprire questa tabella tramite la console Google Cloud seguendo questi passaggi:

  1. Nella console Google Cloud , nella sezione BigQuery, vai alla pagina BigQuery Studio.

    Vai a BigQuery Studio

  2. Nel riquadro Explorer, apri il progetto bigquery-public-data. Se non riesci a trovare questo progetto o per saperne di più, consulta Aprire un set di dati pubblico.
  3. Apri il set di dati ml_datasets.
  4. Apri la tabella holidays_and_events_for_forecasting.

Di seguito è riportato un estratto della tabella holidays_and_events_for_forecasting:

Esempio di festività per la previsione