Introduzione agli alberi di decisione per la previsione della serie temporale

Gli alberi delle decisioni sono una classe di algoritmi di apprendimento automatico supervisionati che dividono lo spazio delle caratteristiche nelle regioni e fanno previsioni basate su regole di decisione semplici. La loro interpretazione, facilità di attuazione e capacità di gestire i dati numerici e categorici hanno reso loro un punto di forza in molti compiti di modellazione predittiva.

I dati della serie temporale sono definiti dal suo ordine sequenziale, dalle dipendenze temporali e spesso dal comportamento non stazionario. Gli alberi di decisione standard trattano ogni caso come indipendente e identico distribuito (i.i.d.), un'ipotesi che non tiene quando le osservazioni sono autocor correlate o quando le tendenze e la stagionalità cambiano nel tempo.

In primo luogo, si tratta di una serie di sfide uniche per la previsione di serie temporali con alberi decisionali. Successivamente, vi presentiamo soluzioni complete e best practice, che coprono l'ingegneria delle caratteristiche, la gestione della stabilitÃ, i metodi di ensemble e le strategie di validazione. Infine, offriamo osservazioni conclusive sul ruolo degli alberi decisionali nei flussi di lavoro di previsione moderni e fornire risorse esterne per ulteriori esplorazioni.

Le sfide principali di applicazione degli alberi delle decisioni ai dati della serie temporale

Per utilizzare efficacemente gli alberi delle decisioni per la previsione delle serie temporali, è necessario riconoscere e affrontare diversi ostacoli fondamentali, che derivano dalla natura dei dati e dell'algoritmo.

Dipendenze temporanee e correzione automatica

La sfida più significativa è che gli alberi delle decisioni, per impostazione predefinita, non hanno meccanismo integrato per modellare le dipendenze temporali. In un albero di decisione standard, ogni riga di dati è considerata indipendente. Ma nella serie temporale, il valore al tempo ]]t] è spesso correlato con i valori ]t-1, [[FLT[FLT] solo i valori di auto]

Non-Stationarity e Concept Drift

I dati della serie temporale mostrano spesso non-stationarity: la media, la varianza o la struttura di autocorrelazione cambiano nel tempo. I prezzi degli stock, gli indicatori economici e i modelli meteo mostrano tutti tendenze, stagionalità o cambiamenti improvvisi. Un albero di decisione formato sui dati storici può catturare modelli che diventano invalidi nel futuro. Poiché gli alberi creano confini di decisione difficili basati su divisioni di funzionalità, sono particolarmente sensibili ai cambiamenti nella distribuzione dei dati sottostanti.

Sovraccarico in Dati Noisy o Limitati

Gli alberi di decisione sono noti per la loro tendenza a sovraccaricarsi, soprattutto quando coltivati in profondità senza vincoli. Le serie temporali contengono spesso rumore, usanze e cicli irregolari. Un albero profondo può dividersi su modelli spuriosi che appaiono significativi nel set di formazione ma non generalizzare. La natura sequenziale della serie di tempo esacerba questo rischio perché le divisioni tradizionali casuali di treno/test sono invalide; se un albero memorizza il rumore dal passato, si esegue dati poco dettagliati.

Complessità di ingegneria caratteristica

A differenza dei modelli progettati per le serie temporali (ad esempio, ARIMA, Smoothing Exponential), gli alberi di decisione richiedono al predittore di creare manualmente caratteristiche che catturano i modelli temporali.

Interpretabilità vs. Performance Trade-Off

Uno dei principali vantaggi di un singolo albero di decisione – l'interpretazione – può essere perso quando si utilizzano complessi gruppi come le foreste casuali o il potenziamento graduale. Mentre un singolo albero basso offre regole chiare di decisione, non può raggiungere un'alta precisione di previsione.

Soluzioni e migliori pratiche per la previsione della serie di tempi dell'albero della decisione

Nonostante le sfide, esistono molte strategie per adattare gli alberi delle decisioni in modelli di previsione efficaci.Le seguenti sezioni hanno dettagliato le tecniche provate, dalla preparazione dei dati alla modellazione e valutazione.

Ingegneria caratteristica per catturare la struttura temporale

Poiché gli alberi delle decisioni non possono gestire in modo intrinseco l'ordine del tempo, il passo più critico è quello di trasformare la serie di tempo in un problema di apprendimento supervisionato, che comporta la creazione di una matrice di funzionalità in cui ogni riga corrisponde ad un passo di tempo e include:

  • Valori impigliati:] Include ]y(t-1), y(t-2), ..., y(t-k)[] dove []k]]]] è scelto in base all'analisi di autocorrelazione (ACF/PACF plots) o alla conoscenza del dominio.
  • Statistiche delle finestre:[ Media mobile, deviazioni standard, min, max e quantili su finestre di lunghezze variabili aiutano a catturare tendenze e volatilità. Ad esempio, un mezzo di rotolamento di 7 giorni codifica il livello recente mentre liscia il rumore.
  • Caratteristiche tecniche e cicliche:[ Estrarre ora, giorno della settimana, mese, trimestre e indicatori di vacanza. codificare le caratteristiche cicliche utilizzando trasformazioni in sine e cosene per preservare la continuità circolare (ad esempio, 23:59 e 00:01 dovrebbero essere vicine).
  • Regressori esterni:[] Includere variabili note per influenzare l'obiettivo, come promozioni, indicatori economici o dati meteorologici.
  • Caratteristiche basate sul tempo:[] Aggiungi il timestamp stesso (ad esempio, il numero di giorni dall'inizio) per consentire all'albero di modellare le tendenze lineari, anche se le tendenze non lineari sono meglio catturate da altre caratteristiche.

Utilizzare le intuizioni di dominio per ipotizzare le caratteristiche pertinenti, quindi applicare l'importanza della funzionalità da un albero addestrato a prilare quelli irrilevanti. Strumenti di levatura come [ o ] per l'estrazione automatizzata, ma sempre validare manualmente per evitare perdite di dati – non utilizzare mai le informazioni future per creare le funzionalità passate.

Gestione della non-stazione attraverso le trasformazioni dei dati

Quando i dati mostrano tendenze o stagionalità, la differenza può rendere la serie stazionaria. Applicare il primo ordine differenziamento y(t) = y(t) - y(t-1)] o differenziamento stagionale (ad esempio, y(t) = y(t) - y(tgariance) - y(t-7)[FLT) stabilizzazione del ciclo assoluto:3]

Per le previsioni di rotolamento, è necessario un attento accumulo di differenze per evitare la propagazione degli errori. Un approccio alternativo è quello di modellare la serie in livelli, ma includono una tendenza esplicita e caratteristiche stagionali, anche se la differenziazione è spesso più robusta per gli alberi di decisione che si basano su divisioni di soglia basate sulla magnitudine.

Un'altra soluzione è quella di utilizzare metodi di ensemble come Gradient Boosting su dati diversi, che tende a produrre residui migliori. Quando si utilizza Random Forest, che non estrapola oltre la gamma di dati di formazione, la differenza è particolarmente utile perché si concentra il target intorno a zero e riduce il rischio di estrapolazione.

Metodi di Ensemble per ridurre l'overfitting e migliorare l'accuratezza

Gli alberi a singola decisione sono raramente utilizzati da soli per la previsione a causa di una elevata varianza. I metodi di Ensemble combinano alberi multipli per ridurre l'eccessiva configurazione e aumentare le prestazioni predittive:

  • Random Forest:[] Costruire molti alberi su campioni tracciati e sottoinsiemi di caratteristiche casuali. Le previsioni convergenti riducono la varianza. Per la serie temporale, utilizzare la formazione di stivali bloccati che rispetta l'ordine temporale (ad esempio, la trasmissione di stivali di blocco) per mantenere la struttura di autocorrelazione.
  • Gradient Boosting Machines (GBM): Aggiunge sequenziali alberi per correggere gli errori dei modelli precedenti. XGBost, LightGBM e CatBoost sono implementazioni popolari. Spesso superano la Random Forest sui dati strutturati e possono modellare modelli non lineari complessi con alberi poco profondi (profondità 3-6).
  • Alberi casuali (Alberi di Extra): Simile alla Foresta Casuale ma con tagli di soglia casuali, riducendo ulteriormente la varianza.

Gli ensemble forniscono anche punteggi di importanza caratteristica, aiutando a identificare quali lag o variabili esterne sono più predittive.

Serie Time-Specific Cross-Validation

Standard k-fold cross-validation che a caso si blocca i dati è invalido per le serie di tempo perché utilizza i dati futuri per prevedere il passato, portando a una precisione eccessivamente ottimistica.

  • Valutazione di Walk-forward:[] Allenatevi su finestre di espansione o scorrevoli di dati passati e provate sul prossimo blocco. Ad esempio, allenatevi sui mesi 1-12, provate il mese 13; poi allenatevi sui mesi 1-13, provate il mese 14, ecc. Questo mimica le condizioni di previsione del mondo reale.
  • Serie di tempo divise:[] Una variante in cui il set di allenamento è sempre prima del set di test, con dimensioni di allenamento fisse o crescenti.
  • Serie di tempo bloccata cross-validation:[] Per tenere conto dei cicli stagionali, assicurarsi che ogni piega di convalida include periodi stagionali completi per evitare di perdere i modelli di stagionalità attraverso le pieghe.

Quando si accordano i iperparametri, utilizzare la valutazione incrociata nidificata: un loop interno per la ricerca di iperparametri (usando a piedi per i dati di formazione) e un loop esterno per la stima delle prestazioni.

Regolamentazione e Pruning dell'albero

Per controllare il overfitting, applicare la regolarizzazione direttamente alla crescita dell'albero:

  • Profondità dell'albero:[ Limitare la massima profondità (ad esempio, max profondità=5) per evitare scissioni eccessivamente specifiche.
  • Campioni di micro-matrimo per foglio:[] Impostare un numero minimo di campioni richiesti nei nodi fogliari (ad esempio, min samples leaf=5) per garantire che le scissioni siano generalizzabili.
  • Minimum impurity calo:[ Richiede una riduzione minima della perdita per giustificare una divisione.
  • Puntura della complessità dei costi (CCP):] Utilizzare i parametri di potatura ([ in fantascienza-learn) per prune rami dopo la formazione.

Per aumentare i modelli, utilizzare il tasso di apprendimento inferiore a 0,1, fermarsi presto su un set di validazione, e colonne e righe sottosampli. Queste tecniche creano collettivamente un modello più robusto che generalizza oltre il periodo di allenamento.

Gestione di più stagioni

Le serie temporali mostrano spesso cicli stagionali multipli (ad esempio, ogni giorno, settimana, anno). Gli alberi decisionali possono catturare la stagionalità attraverso una corretta codifica delle caratteristiche. Per i dati giornalieri con la stagionalità settimanale, includere una caratteristica categorica per il giorno della settimana. Per i dati orari, includere l'ora del giorno e il giorno della settimana. Tuttavia, quando le stagionalità interagiscono (ad esempio, diversi modelli di giorno della settimana a seconda dei periodi di vacanza), gli alberi più profondi possono modellare automaticamente le interazioni automaticamente se le caratteristiche come il mese e il giorno.

Per periodi stagionali più lunghi (anni), l’aggiunta di una funzione “giorno dell’anno” o l’utilizzo di termini Fourier (coppie di cosina/cosina con periodi diversi) può ridurre la dimensionalità della codifica stagionale.Gli alberi decisionali possono dividersi su queste caratteristiche per catturare la stagionalità. In alternativa, decomponere la serie in trend, stagionalità e componenti residui tramite decomposizione STL, quindi modellare il residuo con un albero di decisione.

Flusso di lavoro pratico: un esempio passo per passo

Per illustrare i concetti, si consideri la previsione della domanda di elettricità quotidiana utilizzando un modello di foresta casuale. Il dataset contiene due anni di dati orali con letture di temperatura esterne.

  1. Preparazione dati:[] Converti in risoluzione oraria, maneggia i valori mancanti (forward fill), e crea un periodo di validazione (ultimi 3 mesi).
  2. Creazione di caratteristiche principali:[[] Caratteristiche di ritardo per la domanda (ora, giorno, settimana), temperatura (ora, giorno), media di rotolamento (24 ore finestra), ora del giorno (sine/cosina), giorno della settimana (un-hot), mese (un-hot), e indicatore di vacanza.
  3. Impostazione della pianta:[] Foresta casuale con 200 alberi, max profond=10, min samples leaf=5, e bootstrapping con blocco di lunghezza in movimento 24 per preservare le dipendenze oraria.
  4. Valida:[] La convalida a piedi con un passo di prova di 1 giorno e una finestra di allenamento di 60 giorni.
  5. Generazione forecast:[] Previsione multi-step ricorsiva: prevedere un passo avanti, aggiornare le funzionalità di ritardo utilizzando il valore previsto e continuare.
  6. Valutazione:[] Confrontare le previsioni contro gli effettivi utilizzando RMSE e MAPE.

Questo flusso di lavoro produce un modello che in genere supera le previsioni di persistenza ingenua ed è competitivo con reti neurali più complesse, pur rimanendo interpretabili con l'importanza della caratteristica.

Confronto con altri modelli di previsione

Gli ensemble di decision tree occupano un terreno centrale nell'ecosistema di previsione, più flessibile dei modelli lineari (ARIMA, Smoothing Exponential) perché possono modellare relazioni e interazioni non lineari senza specifiche manuali.

Per un confronto più approfondito dei metodi delle serie temporali, vedere il Forecasting: Principi e pratiche textbook[]] che copre entrambi gli approcci di apprendimento classico e macchina.

Conclusioni

Utilizzando le decisioni per la previsione delle serie temporali non è così semplice come applicarle ai dati indipendenti, ma le sfide possono essere sistematicamente superate. Incorporando esplicitamente le caratteristiche temporali attraverso variabili di ritardo e statistiche di rotolamento, assicurando la stabilità attraverso diversi metodi di pianificazione o di trasformazione, impiegando metodi di ensemble per ridurre la varianza, e adottando la convalida di walk-forward, i professionisti possono costruire modelli di previsione precisi e interpretabili.

Come avanzamenti di ricerca, nuove tecniche come foreste casuali generalizzate e analisi di espansione di base neurale (N-BEATS) stanno chiudendo il divario tra previsioni di apprendimento a base di alberi e profonde. Tuttavia, per molte applicazioni reali in cui l'interpretazione e l'efficienza computazionale sono priorità, gli alberi decisionali rimangono uno strumento prezioso.

Prima lettura: