Questi dettagli di implementazione descrivono le fasi e l'elaborazione specifiche di un esperimento di serie temporali AutoAI .
Dettagli di implementazione
Fare riferimento a questi dettagli di implementazione e configurazione per l'esperimento di serie temporali.
- stadi di serie temporali per l'elaborazione di un esperimento.
- Serie di tempo ottimizzando le metriche per l'ottimizzazione delle proprie pipeline.
- algoritmi di serie temporali per la costruzione delle pipeline.
- Formati data e ora supportati.
Stage di serie temporali
Un esperimento di serie temporali AutoAI include queste fasi quando viene eseguito un esperimento:
Stadio 1: Inizializzazione
La fase di inizializzazione elabora i dati di formazione, in questa sequenza:
- Caricare i dati
- Suddividere i dati impostati L in dati di formazione T e dati holdout H
- Impostare la convalida, la gestione della colonna data / ora e la creazione della finestra di retrospettiva. Note:
- I dati di formazione (T) sono pari al dataset (L) meno l'holdout (H). Quando si configura l'esperimento, è possibile regolare la dimensione dei dati holdout. Per impostazione predefinita, la dimensione dei dati holdout è di 20 passi.
- È possibile specificare facoltativamente la colonna di registrazione data / ora.
- Per impostazione predefinita, una finestra di lookback viene generata automaticamente rilevando il periodo stagionale utilizzando il metodo di elaborazione del segnale. Tuttavia, se si ha un'idea di una finestra di ricerca appropriata, è possibile specificare direttamente il valore.
Stadio 2: selezione Pipeline
Il passo di selezione della pipeline utilizza un metodo efficiente denominato T-Daub (Time Series Data Allocation Using Upper Bounds). Il metodo seleziona le pipeline assegnando più dati di addestramento alle pipeline più promettenti, mentre assegna meno dati di addestramento alle pipeline non promettenti. In questo modo, non tutte le pipeline vedono la serie completa di dati e il processo di selezione è tipicamente più veloce. I seguenti passaggi descrivono la panoramica dei processi:
- Tutte le pipeline sono distribuite in modo sequenziale diversi piccoli sottoinsiemi di dati formativi. Gli ultimi dati vengono assegnati per primo.
- Ogni pipeline è addestrata su ogni sottoinsieme assegnato di dati formativi e valutata con i dati di verifica (dati holdout).
- Un modello di regressione lineare viene applicato ad ogni pipeline utilizzando il dataset descritto nel passo precedente.
- Il punteggio di precisione della pipeline è proiettato sull'intero set di dati formativi. Questo metodo risulta in un dataset contenente la precisione e la dimensione dei dati assegnati per ogni pipeline.
- Il miglior gasdotto è selezionato in base alla precisione proiettata e alla classifica allotted 1.
- Più dati vengono assegnati al miglior pipeline. Poi, la precisione proiettata viene aggiornata per gli altri gasdotti.
- I due passi precedenti vengono ripetiti fino a quando i principali gasdotti N non sono formati su tutti i dati.
Stadio 3: Valutazione del modello
In questo passo, le pipeline vincenti N vengono riformate sull'intero dataset di formazione T. Inoltre, vengono valutati con i dati holdout H.
Stadio 4: generazione finale pipeline
In questo passo, le pipeline vincenti vengono riaddestrate sull'intero set di dati (L) e generate come pipeline finali.
Mentre la riqualificazione di ogni pipeline si completa, la pipeline viene postata al leaderboard. È possibile selezionare per ispezionare i dettagli della pipeline o salvare la pipeline come modello.
Stadio 5: Backtest
Nella fase finale, le pipeline vincenti vengono riaddestrate e valutate utilizzando il metodo di backtest. I seguenti passaggi descrivono il metodo di backtest:
- La lunghezza dei dati di formazione è determinata in base al numero di backtest, alla lunghezza del gap e alla dimensione holdout. Per saperne di più su questi parametri, consultare Building a time series experiment.
- Partendo dai dati più antichi, l'esperimento è addestrato utilizzando i dati formativi.
- Inoltre, l'esperimento viene valutato sul primo dataset di validazione. Se la lunghezza del gap è non zero, eventuali dati nel gap vengono ignorati.
- La finestra dei dati di formazione è avanzata aumentando la dimensione holdout e la lunghezza gap per formare un nuovo set di formazione.
- Un esperimento fresco viene addestrato con questo nuovo dato e valutato con il prossimo dataset di validazione.
- I due passi precedenti si ripetono per i restanti periodi di backtest.
Metriche di ottimizzazione delle serie temporali
Accetta la metrica predefinita o scegli una metrica da ottimizzare per il tuo esperimento.
Metrica | Descrizione |
---|---|
Errore percentuale assoluto medio simmetrico (SMAPE) | In ogni punto adattato, la differenza assoluta tra il valore effettivo e il valore previsto è divisa per la metà della somma del valore effettivo assoluto e del valore previsto. Quindi, la media viene calcolata per tutti questi valori in tutti i punti adattati. |
Errore assoluto medio (MAE) | Media delle differenze assolute tra i valori effettivi e i valori previsti. |
Radice dell'errore quadratico medio (RMSE) | Radice quadrata della media delle differenze quadratiche tra i valori effettivi e i valori previsti. |
R2 | Misura del modo in cui le prestazioni del modello si confrontano con il modello di base o con il modello medio. R2 deve essere uguale o inferiore a 1. Valore R2 negativo significa che il modello in esame è peggiore del modello medio. Valore zero R2 significa che il modello in esame è buono o cattivo come il modello medio. Valore R2 positivo significa che il modello in esame è migliore del modello medio. |
Revisione delle metriche per un esperimento
Quando visualizzi i risultati per un esperimento di serie temporali, vedi i valori per le metriche utilizzate per addestrare l'esperimento nella classifica della pipeline:
È possibile notare che le misure di precisione per gli esperimenti di serie temporali possono variare notevolmente, a seconda dei dati dell'esperimento valutati.
- La convalida è il punteggio calcolato sui dati di addestramento.
- Holdout è il punteggio calcolato sui dati di holdout riservati.
- Backtest è il punteggio medio di tutti i punteggi di backtest.
algoritmi di serie temporali
Questi algoritmi sono disponibili per il tuo esperimento di serie time. È possibile utilizzare gli algoritmi selezionati per impostazione predefinita oppure è possibile configurare il proprio esperimento per includere o escludere algoritmi specifici.
Algoritmo | Descrizione |
---|---|
ARIMA | Autoregressive Integrated Moving Average (ARIMA) modello è un modello di serie temporale tipico, in grado di trasformare i dati non stazionari in dati statici attraverso la differenziazione, per poi prevedere il valore successivo utilizzando i valori passati, inclusi i valori ritardati e gli errori di previsione ritardata |
BATS | L'algoritmo BATS combina la trasformazione Box-Cox, i residui ARMA, i fattori di tendenza e stagionalità per prevedere i valori futuri. |
Ensembler | Ensembler combina più metodi di previsione per superare l'accuratezza della previsione semplice e per evitare possibili sovradattamenti. |
Holt-Winters | Utilizza il triplice livellamento esponenziale per prevedere i punti dati in una serie, se la serie è ripetitiva nel tempo (stagionale). Vengono forniti due tipi di modelli Holt-Winters: Holt-Winters additivo e Holt-Winters moltiplicativo |
Foresta casuale | Modello di regressione basato su albero dove ogni albero dell'ensemble è costruito da un campione che viene disegnato con sostituzione (ad esempio, un campione di bootstrap) dal set di allenamento. |
Support Vector Machine (SVM) | Le SVM sono un tipo di modelli di machine learning che possono essere utilizzati sia per la regressione che per la classificazione. I SVM utilizzano un hyperplane per dividere i dati in classi separate. |
Regressione lineare | Crea una relazione lineare tra la variabile di serie storica e l'indice di data / ora o ora con residui che seguono il processo AR. |
Formati di data e ora supportati
I formati data / ora supportati negli esperimenti di serie temporali si basano sulle definizioni fornite da dateutil.
I formati di data supportati sono:
Comune:
YYYY
YYYY-MM, YYYY/MM, or YYYYMM
YYYY-MM-DD or YYYYMMDD
mm/dd/yyyy
mm-dd-yyyy
JAN YYYY
Non comune:
YYYY-Www or YYYYWww - ISO week (day defaults to 0)
YYYY-Www-D or YYYYWwwD - ISO week and day
La numerazione per i valori di settimana e giorno ISO segue la stessa logica di datetime.date.isocalendar().
I formati di tempo supportati sono:
hh
hh:mm or hhmm
hh:mm:ss or hhmmss
hh:mm:ss.ssssss (Up to 6 sub-second digits)
dd-MMM
yyyy/mm
Note:
- La mezzanotte può essere rappresentata come 00.00 o 24:00. Il separatore decimale può essere un periodo o una virgola.
- Le date possono essere presentate come stringhe, con virgolette doppie, come "1958-01-16".
Funzioni di supporto
Le funzioni di supporto, note anche come funzioni esogene, sono funzioni di input che possono influenzare l'obiettivo di previsione. È possibile utilizzare le funzioni di supporto per includere ulteriori colonne dal dataset per migliorare la previsione e aumentare la precisione del modello. Ad esempio, in un esperimento di serie temporali per prevedere i prezzi nel tempo, una funzione di supporto potrebbe essere rappresentata dai dati sulle vendite e sulle promozioni. Oppure, in un modello che prevede il consumo di energia, anche la temperatura giornaliera rende la previsione più accurata.
Algoritmi e pipeline che utilizzano le funzioni Supporting
Solo un sottoinsieme di algoritmi consente le funzioni di supporto. Ad esempio, gli inverni Holt e BATS non supportano l'uso delle funzioni di supporto. Gli algoritmi che non supportano le funzioni di supporto ignorano la selezione per le funzioni di supporto quando si esegue l'esperimento.
Alcuni algoritmi utilizzano funzioni di supporto per alcune variazioni dell'algoritmo, ma non per altre. Ad esempio, è possibile generare due pipeline diverse con l'algoritmo Random Forest, RandomForestRegressor e ExogenousRandomForestRegressor. La variante ExogenousRandomForestRegressor fornisce il supporto per le caratteristiche di supporto, mentre RandomForestRegressor non lo fa.
Questo table details se un algoritmo fornisce supporto per le funzioni Supporting in un esperimento di serie storiche:
Algoritmo | Pipeline | Fornire supporto per le funzioni Supporting |
---|---|---|
Foresta casuale | RandomForestRegressor | N |
Foresta casuale | ExogenousRandomForestRegressor | Sì |
SVM | SVM | N |
SVM | ExogenousSVM | Sì |
Ensembler | LocalizedFlattenEnsembler | Sì |
Ensembler | DifferenceFlattenEnsembler | N |
Ensembler | FlattenEnsembler | N |
Ensembler | ExogenousLocalizedFlattenEnsembler | Sì |
Ensembler | ExogenousDifferenceFlattenEnsembler | Sì |
Ensembler | ExogenousFlattenEnsembler | Sì |
Regressione | MT2RForecaster | N |
Regressione | ExogenousMT2RForecaster | Sì |
Holt-Winters | HoltWinterAdditive | N |
Holt-Winters | HoltWinterMultiplicative | N |
BATS | BATS | N |
ARIMA | ARIMA | N |
ARIMA | ARIMAX | Sì |
ARIMA | ARIMAX_RSAR | Sì |
ARIMA | ARIMAX_PALR | Sì |
ARIMA | ARIMAX_RAR | Sì |
ARIMA | ARIMAX_DMLR | Sì |
Ulteriori informazioni
Calcolo del punteggio di un modello di serie temporali
Argomento principale: Creazione di un esperimento di serie temporale