Previsioni semplici e accurate con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Previsioni facili e accurate con AutoGluon-TimeSeries

AutoGluon-TimeSeries è l'ultima aggiunta ad AutoGluon, che ti aiuta a creare facilmente potenti modelli di previsione di serie temporali con appena tre righe di codice.

La previsione delle serie temporali è un'attività comune in un'ampia gamma di settori e domini scientifici. Avere accesso a previsioni affidabili per l'offerta, la domanda o la capacità è fondamentale per la pianificazione delle imprese. Tuttavia, la previsione delle serie temporali è un problema difficile, soprattutto quando sono disponibili migliaia di serie temporali potenzialmente correlate, come le vendite in un ampio catalogo nell'e-commerce o la capacità in centinaia di siti operativi.

Semplici metodi di previsione statistici o basati su giudizi sono spesso già solide linee di base difficili da migliorare con nuovi metodi di machine learning (ML). Inoltre, le applicazioni dei recenti progressi nel machine learning alle previsioni sono varie, con pochi metodi come DeepAR [1] o Temporal Fusion Transformers [2] che stanno emergendo come scelte popolari. Tuttavia, questi metodi sono difficili da addestrare, mettere a punto e implementare in produzione, poiché richiedono una conoscenza approfondita del machine learning e dell'analisi delle serie temporali.

AutoML è un argomento in rapida crescita all'interno di ML, incentrato sull'automazione delle attività comuni nelle pipeline ML, tra cui la preelaborazione delle funzionalità, la selezione del modello, l'ottimizzazione del modello, l'ensemble e la distribuzione. AutoGluon-TimeSeries è l'ultima aggiunta a AutoGluone, una delle principali soluzioni AutoML open source, e si basa sul potente framework di AutoGluon per AutoML nelle attività di previsione. AutoGluon-TimeSeries è stato progettato per creare potenti sistemi di previsione con appena tre righe di codice, alleviando le sfide della preelaborazione delle funzionalità, della selezione del modello, dell'ottimizzazione del modello e della facilità di implementazione.

Con una semplice chiamata a AutoGluon-TimeSeries TimeSeriesPredictor, AutoGluon segue un ordine di priorità intuitivo nell'adattamento dei modelli: partendo da semplici linee di base ingenue e passando a una potente rete neurale globale e metodi potenziati basati su alberi, il tutto entro il budget di tempo specificato dall'utente. Quando sono disponibili serie temporali correlate (covariate variabili nel tempo o variabili esogene) o metadati degli elementi (caratteristiche statiche), AutoGluon-TimeSeries li tiene conto della previsione. La libreria attinge anche all'ottimizzazione bayesiana per l'ottimizzazione degli iperparametri, arrivando alla migliore configurazione del modello ottimizzando modelli complessi. Infine, AutoGluon-TimeSeries combina il meglio dei metodi statistici e basati su ML in un insieme di modelli ottimizzato per il problema in questione.

In questo post, mostriamo la facilità d'uso di AutoGluon-TimeSeries nella creazione rapida di un potente strumento di previsione.

Inizia con AutoGluon-TimeSeries

Per iniziare, devi installare AutoGluon, che è facilmente eseguibile con pip su una shell UNIX:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries introduce il TimeSeriesDataFrame classe per lavorare con set di dati che includono più serie temporali correlate (a volte chiamato set di dati panel). Questi frame di dati possono essere creati dai cosiddetti frame di dati di formato lungo, che hanno ID di serie temporali e timestamp disposti in righe. Quello che segue è un esempio di tali dati, tratto dalla competizione M4 [3]. Ecco, il item_id specifica l'identificatore univoco di una singola serie temporale, ad esempio l'ID prodotto per i dati di vendita giornalieri di più prodotti. Il target colonna è il valore di interesse che AutoGluon-TimeSeries imparerà a prevedere. weekend è un'ulteriore covariata variabile nel tempo che abbiamo prodotto per indicare se l'osservazione era o meno nel fine settimana.

Possiamo facilmente produrre un nuovo TimeSeriesDataFrame da questo set di dati utilizzando il file from_data_frame costruttore. Vedi il seguente codice Python:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Alcuni dati di serie temporali hanno funzionalità non variabili nel tempo (funzioni statiche o metadati di elementi) che possono essere utilizzate per addestrare un modello di previsione. Ad esempio, il set di dati M4 presenta una variabile di categoria per ogni serie temporale. Questi possono essere aggiunti al TimeSeriesDataFrame impostando il static_features variabile con un nuovo frame di dati.

Previsioni semplici e accurate con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Usa il seguente codice:

df.static_features = raw_static_features

Addestra un TimeSeriesPredictor

Infine, possiamo chiamare il TimeSeriesPredictor per adattare una vasta gamma di modelli di previsione per costruire un sistema di previsione accurato. Vedere il seguente codice:

predictor = TimeSeriesPredictor(
    prediction_length=7,
    eval_metric="MASE",
    known_covariates_names=["weekend"],
)

Precisiamo qui che il TimeSeriesPredictor dovrebbe produrre modelli per prevedere i prossimi sette periodi di tempo e giudicare i modelli migliori utilizzando l'errore scalato assoluto medio (MASE). Inoltre, indichiamo che la covariata variabile nel tempo weekend è disponibile nel set di dati. Ora possiamo adattare l'oggetto predittore al file TimeSeriesDataFrame prodotto in precedenza:

predictor.fit(df, presets="medium_quality", time_limit=1800)

Oltre a fornire i dati di addestramento, chiediamo al predittore di utilizzare “medium_quality” preset. AutoGluon-TimeSeries viene fornito con più preimpostazioni per selezionare sottoinsiemi di modelli da considerare e quanto tempo dedicare alla loro messa a punto, gestendo il compromesso tra velocità di addestramento e precisione. Oltre ai preset, gli utenti più esperti possono utilizzare a hyperparameters argomento per specificare con precisione i modelli dei componenti e quali iperparametri impostare su di essi. Specifichiamo anche un limite di tempo di 1,800 secondi, dopo il quale il predittore interrompe l'allenamento.

Sotto il cofano, AutoGluon-TimeSeries addestra quanti più modelli possibile entro il periodo di tempo specificato, partendo da linee di base ingenue ma potenti e lavorando verso previsioni più complesse basate su alberi potenziati e modelli di rete neurale. A chiamata predictor.leaderboard(), possiamo visualizzare un elenco di tutti i modelli che ha addestrato e i punteggi di accuratezza e i tempi di addestramento per ciascuno. Si noti che ogni modello AutoGluon-TimeSeries riporta i propri errori in un formato "più alto è meglio", il che significa che la maggior parte delle misure di errore di previsione vengono moltiplicate per -1 quando riportate. Vedere l'esempio seguente:

              model  score_val  pred_time_val  fit_time_marginal  fit_order
0  WeightedEnsemble  -0.612510      15.406334          48.428711          8
1  AutoGluonTabular  -0.654924       1.068694         104.208688          6
2            DeepAR  -0.673366       6.731659        1065.956648          7
3     SeasonalNaive  -1.035286       0.410615           0.000742          2
4               ETS  -1.073640       5.832542           0.000584          3
5             Theta  -1.107362       1.773439           0.000614          4
6             ARIMA  -3.006273       2.483140           0.000625          5
7             Naive  -3.427339      29.532215           0.000577          1

Previsione con TimeSeriesPredictor

Infine, possiamo utilizzare il predittore per prevedere tutte le serie temporali in a TimeSeriesDataFrame, 7 giorni nel futuro. Si noti che poiché abbiamo utilizzato covariate variabili nel tempo che si presume siano note in futuro, anche queste dovrebbero essere specificate al momento della previsione. Vedere il seguente codice:

predictions = predictor.predict(
	df,
	known_covariates=future_known_covariates
)

Per impostazione predefinita, AutoGluon-TimeSeries fornisce sia previsioni puntuali che previsioni probabilistiche (quantili) del valore target. Le previsioni probabilistiche sono essenziali in molte attività di pianificazione e possono essere utilizzate per calcolare in modo flessibile gli intervalli, consentendo attività a valle come la pianificazione dell'inventario e della capacità.

Previsioni semplici e accurate con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Di seguito è riportato un grafico di previsione di esempio che mostra le previsioni puntuali e gli intervalli di previsione.

Previsioni semplici e accurate con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Conclusione

AutoGluon-TimeSeries offre ai meteorologi e ai data scientist un modo rapido e semplice per creare potenti modelli di previsione. Oltre ad alcune delle funzionalità comunemente utilizzate della libreria mostrate in questo post, AutoGluon-TimeSeries offre una serie di modi per configurare le previsioni per utenti avanzati. I predittori sono anche facili da addestrare, distribuire e servire su larga scala Amazon Sage Maker, utilizzando il deep learning di AutoGluon contenitori.

Per maggiori dettagli sull'utilizzo di AutoGluon, esempi, tutorial e altre attività che AutoGluon affronta come l'apprendimento su dati tabulari o multimodali, visita AutoGluone. Per iniziare a utilizzare AutoGluon-TimeSeries, dai un'occhiata al nostro tutorial di avvio rapido o il nostro tutorial approfondito per uno sguardo più approfondito a tutte le funzionalità offerte dalla libreria. Segui AutoGluon su Twitter, e recitaci GitHub per essere informato sugli ultimi aggiornamenti.

Per previsioni su larga scala con elaborazione e flussi di lavoro dedicati, supporto a livello aziendale, spiegabilità delle previsioni e altro ancora, dai un'occhiata Previsioni Amazon.

Riferimenti

[1] Salinas, David, Valentin Flunkert, Jan Gasthaus e Tim Januschowski. "DeepAR: previsione probabilistica con reti ricorrenti autoregressive". Giornale internazionale di previsione 36 (3): 2020-1181.

[2] Lim, Bryan, Sercan O Arik, Nicolas Loeff e Tomas Pfister. "Temporal Fusion Transformers per previsioni di serie temporali multi-orizzonte interpretabili". Giornale internazionale di previsione 37.4 (2021): 1748-1764.

[3] Makridakis, Spyros, Evangelos Spiliotis e Vassilios Assimakopoulos. "La competizione M4: 100,000 serie temporali e 61 metodi di previsione". Giornale internazionale di previsione 36.1 (2020): 54-74.


Circa gli autori

Previsioni semplici e accurate con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Caner turkmeno è uno scienziato applicato presso Amazon Web Services, dove lavora su problemi all'intersezione tra machine learning e previsione, oltre a sviluppare AutoGluon-TimeSeries. Prima di entrare in AWS, ha lavorato nel settore della consulenza gestionale come data scientist, servendo i settori dei servizi finanziari e delle telecomunicazioni su progetti in tutto il mondo. Gli interessi di ricerca personali di Caner abbracciano una vasta gamma di argomenti, tra cui previsione, inferenza causale e AutoML.

Previsioni semplici e accurate con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Oleksandr Shchur è uno scienziato applicato presso Amazon Web Services, dove lavora sulla previsione di serie temporali in AutoGluon-TimeSeries. Prima di entrare in AWS, ha completato un dottorato di ricerca in Machine Learning presso l'Università tecnica di Monaco, in Germania, svolgendo ricerche sui modelli probabilistici per i dati degli eventi. I suoi interessi di ricerca includono l'apprendimento automatico per dati temporali e la modellazione generativa.

Previsioni semplici e accurate con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Nick Erickson è Senior Applied Scientist presso Amazon Web Services. Ha conseguito la laurea magistrale in Informatica e Ingegneria presso l'Università del Minnesota Twin Cities. È coautore e sviluppatore principale del framework AutoML open source AutoGluon. Iniziando come toolkit ML per competizioni personali nel 2018, Nick ha continuamente ampliato le capacità di AutoGluon ed è entrato a far parte di Amazon AI nel 2019 per rendere open source il progetto e lavorare a tempo pieno per far avanzare lo stato dell'arte in AutoML.

Timestamp:

Di più da Apprendimento automatico di AWS