Funzionalità di calendario per la previsione di serie temporali in AutoML
Questo articolo è incentrato sulle funzionalità basate sul calendario create da AutoML per aumentare l'accuratezza dei modelli di regressione delle previsioni. Poiché le festività possono avere una forte influenza sul comportamento del sistema del modello, il tempo prima, durante e dopo una festività può influire sui modelli della serie. Ogni festività genera una finestra sul set di dati esistente a cui lo strumento di apprendimento può assegnare un effetto. Ciò può essere particolarmente utile in scenari come le festività che generano richieste elevate di prodotti specifici. Per altre informazioni generali sulla metodologia di previsione in AutoML, vedere l'articolo sulla panoramica dei metodi. Istruzioni ed esempi per il training dei modelli di previsione in AutoML sono disponibili nell'articolo Configurare AutoML per le previsioni delle serie temporali.
Nell'ambito della progettazione delle funzionalità, AutoML trasforma le colonne di tipo datetime fornite nei dati di training in nuove colonne di funzionalità basate sul calendario. Queste funzionalità consentono ai modelli di regressione di apprendere criteri stagionali a intervalli diversi. AutoML può sempre creare funzionalità del calendario dall'indice temporale della serie temporale poiché si tratta di una colonna obbligatoria nei dati di training. Le funzionalità del calendario vengono eseguite anche da altre colonne con tipo datetime, se presenti. Per altre informazioni sui requisiti dei dati, vedere la guida all'uso dei dati da parte di AutoML.
AutoML considera due categorie di funzionalità del calendario: le funzionalità standard, basate interamente sui valori di data e ora, e le funzionalità delle festività specifiche di un paese o di un'area geografica del mondo. Queste funzionalità verranno descritte nella parte restante dell'articolo.
Funzionalità del calendario standard
La tabella seguente mostra il set completo delle funzionalità del calendario standard di AutoML insieme a un output di esempio. Nell'esempio viene usato il formato YY-mm-dd %H-%m-%d
standard per la rappresentazione datetime.
Nome funzionalità | Descrizione | Output di esempio per 2011-01-01 00:25:30 |
---|---|---|
year |
Funzionalità numerica che rappresenta l'anno di calendario | 2011 |
year_iso |
Rappresenta l'anno ISO come definito secondo lo standard ISO 8601. Gli anni ISO iniziano la prima settimana dell'anno che ha un giovedì. Ad esempio, se il 1° gennaio è un venerdì, l'anno ISO inizia il 4 gennaio. Gli anni ISO possono differire dagli anni di calendario. | 2010 |
half |
Funzionalità che indica se la data è nella prima o nella seconda metà dell'anno. È 1 se la data è precedente all'1° luglio, e 2 in caso contrario. | |
quarter |
Funzionalità numerica che rappresenta il trimestre della data specificata. Accetta valori 1, 2, 3 o 4 che rappresentano il primo, il secondo, il terzo, il quarto trimestre dell'anno di calendario. | 1 |
month |
Funzionalità numerica che rappresenta il mese di calendario. Accetta valori da 1 a 12. | 1 |
month_lbl |
Funzionalità della stringa che rappresenta il nome del mese. | "gennaio" |
day |
Funzionalità numerica che rappresenta il giorno del mese. Accetta valori compresi tra 1 e 31. | 1 |
hour |
Funzionalità numerica che rappresenta l'ora del giorno. Accetta valori da 0 a 23. | 0 |
minute |
Funzionalità numerica che rappresenta il minuto di un'ora. Accetta valori da 0 a 59. | 25 |
second |
Funzionalità numerica che rappresenta il secondo del valore datetime specificato. Nel caso in cui venga specificato solo il formato della data, viene considerato come 0. Accetta valori da 0 a 59. | 30 |
am_pm |
Funzionalità numerica che indica se l'ora è di giorno o di notte. È 0 per le ore prima delle 12:00 e 1 per ore dopo le 12:00. | 0 |
am_pm_lbl |
Funzionalità della stringa che indica se l'ora è di giorno o di notte. | 'am' |
hour12 |
Funzionalità numerica che rappresenta l'ora del giorno in un orologio di 12 ore. Accetta valori da 0 a 12 per la prima metà del giorno e da 1 a 11 per la seconda metà. | 0 |
wday |
Funzionalità numerica che rappresenta il giorno della settimana. Accetta valori da 0 a 6, dove 0 corrisponde al lunedì. | 5 |
wday_lbl |
Funzionalità della stringa che rappresenta il nome del giorno della settimana. | |
qday |
Funzionalità numerica che rappresenta il giorno all'interno del trimestre. Accetta valori da 1 a 92. | 1 |
yday |
Funzionalità numerica che rappresenta il giorno dell'anno. Accetta valori da 1 a 365 o da 1 a 366 in caso di anno bisestile. | 1 |
week |
Funzionalità numerica che rappresenta la settimana ISO definita secondo lo standard ISO 8601. Le settimane ISO iniziano sempre lunedì e terminano la domenica. Accetta valori da 1 a 52 o 53 per anni in cui il 1° gennaio cade il giovedì o per gli anni bisestili in cui il 1° gennaio cade il mercoledì. | 52 |
Il set completo di funzionalità del calendario standard potrebbe non essere creato in tutti i casi. Il set generato dipende dalla frequenza della serie temporale e dal fatto che i dati di training contengano caratteristiche datetime oltre all'indice temporale. La tabella seguente illustra le funzionalità create per tipi di colonna diversi:
Scopo della colonna | Funzionalità del calendario |
---|---|
Indice ora | Il set completo meno le funzionalità del calendario con correlazione elevata con altre funzionalità. Ad esempio, se la frequenza della serie temporale è giornaliera, tutte le funzionalità con una frequenza maggiore di quella giornaliera verranno rimosse perché non forniscono informazioni utili. |
Altra colonna datetime | Un set ridotto composto da Year , Month , Day , DayOfWeek , DayOfYear , QuarterOfYear , WeekOfMonth , Hour , Minute e Second . Se la colonna è una data senza ora, Hour , Minute e Second saranno 0. |
Caratteristiche delle festività
AutoML può facoltativamente creare funzionalità che rappresentano le festività per un paese o un'area geografica specifica. Queste funzionalità vengono configurate in AutoML usando il parametro country_or_region_for_holidays
, che accetta un codice paese ISO.
Nota
Le funzionalità delle festività sono disponibili solo per le serie temporali con frequenza giornaliera.
La tabella seguente riepiloga le funzionalità delle festività:
Nome funzionalità | Descrizione |
---|---|
Holiday |
Funzionalità della stringa che specifica se una data è una festività nazionale/regionale. Anche i giorni entro un intervallo di festività sono contrassegnati. |
isPaidTimeOff |
Funzionalità binaria che accetta valore 1 se il giorno è una "assenza a pagamento" nel paese o nell'area geografica specificata. |
AutoML usa set di dati aperti di Azure come origine per informazioni sulle festività. Per altre informazioni, vedere la documentazione di PublicHolidays.
Per comprendere meglio la generazione delle funzionalità di festività, considerare i dati di esempio seguenti:
Per adottare le funzionalità delle festività americane per questi dati, impostare country_or_region_for_holiday
su "US" nelle impostazioni di previsione, come illustrato nell'esempio di codice seguente:
from azure.ai.ml import automl
# create a forcasting job
forecasting_job = automl.forecasting(
compute='test_cluster', # Name of single or multinode AML compute infrastructure created by user
experiment_name=exp_name, # name of experiment
training_data=sample_data,
target_column_name='demand',
primary_metric='NormalizedRootMeanSquaredError',
n_cross_validations=3,
enable_model_explainability=True
)
# set custom forecast settings
forecasting_job.set_forecast_settings(
time_column_name='timeStamp',
country_or_region_for_holidays='US'
)
Le funzionalità delle festività generate sono simili all'output seguente:
Si noti che le funzionalità generate hanno il prefisso _automl_
anteposto ai relativi nomi delle colonne. AutoML usa in genere questo prefisso per distinguere le funzionalità di input dalle funzionalità di progettazione.
Passaggi successivi
- Altre informazioni su come configurare AutoML per eseguire il training di un modello di previsione di serie temporali.
- Vedere le domande frequenti sulle previsioni di AutoML.
- Informazioni sulle funzionalità differite delle previsioni AutoML.
- Informazioni su come AutoML usa l'apprendimento automatico per creare modelli di previsione.