Analisi e previsione di serie temporali

Sommario:

Analisi e previsione di serie temporali
Analisi e previsione di serie temporali
Anonim

Per molti anni, le persone hanno previsto condizioni meteorologiche, eventi economici e politici e risultati sportivi, recentemente questo ampio elenco è stato riempito con criptovalute. Per prevedere eventi versatili, ci sono molti modi per sviluppare le previsioni. Ad esempio, l'intuizione, le opinioni degli esperti, l'utilizzo dei risultati passati per il confronto con le statistiche tradizionali e la previsione di serie temporali sono solo uno di questi, mentre il tipo più moderno e accurato di previsioni con un'ampia gamma di applicazioni.

Metodo delle serie temporali

Metodo delle serie temporali
Metodo delle serie temporali

Un metodo delle serie temporali (TS) è un set di dati che raccoglie informazioni in un periodo di tempo. Esistono metodi speciali per estrarre questo tipo:

  • lineare e non lineare;
  • parametrico e non parametrico;
  • unidimensionale e multidimensionale.

Tempo di previsioneLa serie porta con sé un insieme unico di capacità per affrontare le sfide odierne. La modellazione si basa sull'apprendimento per stabilire la forza trainante dietro il cambiamento dei dati. Il processo deriva da tendenze a lungo termine, effetti stagionali o fluttuazioni irregolari che sono caratteristiche di TS e non si vedono in altri tipi di analisi.

L'apprendimento automatico è una branca dell'informatica in cui gli algoritmi vengono compilati dai dati e includono reti neurali artificiali, apprendimento profondo, regole di associazione, alberi decisionali, apprendimento per rinforzo e reti bayesiane. Una varietà di algoritmi fornisce opzioni per la risoluzione dei problemi e ognuno ha i propri requisiti e compromessi in termini di immissione dei dati, velocità e precisione dei risultati. Questi, insieme all'accuratezza delle previsioni finali, verranno ponderati quando l'utente deciderà quale algoritmo funzionerà meglio per la situazione in studio.

Le previsioni di serie temporali prendono in prestito dal campo della statistica, ma offrono nuovi approcci alla modellazione dei problemi. Il problema principale per l'apprendimento automatico e le serie temporali è lo stesso: prevedere nuovi risultati sulla base di dati precedentemente noti.

L'obiettivo del modello predittivo

Scopo del modello predittivo
Scopo del modello predittivo

TS è un insieme di punti dati raccolti a intervalli regolari. Vengono analizzati per determinare una tendenza a lungo termine, per prevedere il futuro o per eseguire un altro tipo di analisi. Ci sono 2 cose che rendono TS diverso da un normale problema di regressione:

  1. Dipendono dal tempo. Cosìl'assunto di base di un modello di regressione lineare che le osservazioni siano indipendenti in questo caso non vale.
  2. Insieme a una tendenza crescente o decrescente, la maggior parte dei TS ha una qualche forma di stagionalità, ad es. cambiamenti specifici per un certo periodo di tempo.

L'obiettivo di un modello di previsione delle serie temporali è fornire una previsione accurata su richiesta. La serie temporale ha il tempo (t) come variabile indipendente e come variabile dipendente dall'obiettivo. Nella maggior parte dei casi, la previsione è un risultato specifico, ad esempio il prezzo di vendita di una casa, il risultato sportivo della competizione, i risultati delle negoziazioni in borsa. La previsione rappresenta la mediana e la media e include un intervallo di confidenza che esprime un livello di confidenza nell'intervallo 80-95%. Quando sono registrati a intervalli regolari, i processi sono chiamati serie temporali e sono espressi in due modi:

  • unidimensionale con un indice temporale che crea un ordine implicito;
  • un insieme a due dimensioni: tempo con una variabile indipendente e un' altra variabile dipendente.

La creazione di funzionalità è una delle attività più importanti e dispendiose in termini di tempo nell'apprendimento automatico applicato. Tuttavia, la previsione delle serie temporali non crea caratteristiche, almeno non nel senso tradizionale. Ciò è particolarmente vero quando si desidera prevedere il risultato diversi passi avanti e non solo il valore successivo.

Questo non significa che le funzionalità siano completamente disabilitate. Dovrebbero essere usati con cautela per i seguenti motivi:

  1. Non è chiaro quale sia il futuro realei valori saranno per queste funzioni.
  2. Se gli oggetti sono prevedibili e hanno degli schemi, puoi costruire un modello predittivo per ciascuno di essi.

Tuttavia, tieni presente che l'utilizzo di valori predittivi come caratteristiche propagherà l'errore nella variabile di destinazione e porterà a errori o previsioni distorte.

Componenti delle serie temporali

Componenti di serie temporali
Componenti di serie temporali

Il trend esiste quando la serie aumenta, diminuisce o rimane a un livello costante nel tempo, quindi è considerata una funzione. La stagionalità si riferisce a una proprietà di una serie temporale che mostra schemi periodici che si ripetono a una frequenza costante (m), ad esempio, m=12 significa che il modello si ripete ogni dodici mesi.

Le variabili fittizie simili alla stagionalità possono essere aggiunte come funzione binaria. Puoi, ad esempio, tenere conto di festività, eventi speciali, campagne di marketing, indipendentemente dal fatto che il valore sia estero o meno. Tuttavia, è necessario ricordare che queste variabili devono avere determinati schemi. Tuttavia, il numero di giorni può essere facilmente calcolato anche per periodi futuri e influenzare la previsione delle serie temporali, soprattutto nell'area finanziaria.

I cicli sono stagioni che non si svolgono a un ritmo fisso. Ad esempio, gli attributi di riproduzione annuale della lince canadese riflettono modelli stagionali e ciclici. Non si ripetono a intervalli regolari e possono verificarsi anche se la frequenza è 1 (m=1).

Valori ritardati -i valori in ritardo di una variabile possono essere inclusi come predittori. Alcuni modelli, come ARIMA, Vector Autoregression (VAR) o Autoregressive Neural Networks (NNAR), funzionano in questo modo.

Le componenti della variabile di interesse sono molto importanti per l'analisi e la previsione delle serie temporali, per comprenderne il comportamento, i modelli e per essere in grado di selezionare il modello appropriato.

Attributi del set di dati

Attributi del set di dati
Attributi del set di dati

Puoi essere abituato a inserire migliaia, milioni e miliardi di punti dati nei modelli di apprendimento automatico, ma questo non è richiesto per le serie temporali. Infatti è possibile lavorare con piccoli e medi TS, a seconda della frequenza e del tipo di variabile, e questo non è uno svantaggio del metodo. Inoltre, ci sono in re altà una serie di vantaggi in questo approccio:

  1. Tali insiemi di informazioni corrisponderanno alle capacità di un computer di casa.
  2. In alcuni casi, esegui analisi e previsioni di serie temporali utilizzando l'intero set di dati, non solo un campione.
  3. La lunghezza di TS è utile per creare grafici che possono essere analizzati. Questo è un punto molto importante perché i programmatori si affidano alla grafica nella fase di analisi. Ciò non significa che non funzionino con grandi serie temporali, ma inizialmente dovrebbero essere in grado di gestire TS più piccoli.
  4. Qualsiasi dataset che contiene un campo relativo al tempo può trarre vantaggio dall'analisi e dalla previsione delle serie temporali. Tuttavia, se il programmatore dispone di un insieme di dati più ampio, il DB (TSDB)potrebbe essere più appropriato.

Alcuni di questi set provengono da eventi registrati con timestamp, registri di sistema e dati finanziari. Poiché TSDB funziona in modo nativo con le serie temporali, questa è una grande opportunità per applicare questa tecnica a set di dati su larga scala.

Apprendimento automatico

Il machine learning (ML) può superare i tradizionali metodi di previsione delle serie temporali. Ci sono un sacco di studi là fuori che confrontano i metodi di apprendimento automatico con metodi statistici più classici sui dati TS. Le reti neurali sono una delle tecnologie che sono state ampiamente studiate e applicano gli approcci TS. I metodi di apprendimento automatico guidano le classifiche per la raccolta di dati in base a serie temporali. Questi set si sono dimostrati efficaci, superando i set TS puri contro M3 o Kaggle.

MO ha i suoi problemi specifici. Lo sviluppo di funzionalità o la generazione di nuovi predittori da un set di dati è un passaggio importante e può avere un enorme impatto sulle prestazioni ed essere un modo necessario per affrontare i problemi di tendenza e stagionalità dei dati TS. Inoltre, alcuni modelli hanno problemi con il modo in cui si adattano ai dati e, in caso contrario, potrebbero perdere la tendenza principale.

Le serie temporali e gli approcci di apprendimento automatico non dovrebbero esistere separatamente l'uno dall' altro. Possono essere combinati insieme per offrire i vantaggi di ogni approccio. I metodi di previsione e l'analisi delle serie temporali sono utili per scomporre i dati in trend e dati stagionali.elementi. Questa analisi può quindi essere utilizzata come input per un modello ML che contiene informazioni su trend e stagionalità nel suo algoritmo, offrendo il meglio di entrambi i mondi.

Capire l'affermazione del problema

Ad esempio, considera TS relativo alla previsione del numero di passeggeri su un nuovo servizio ferroviario ad alta velocità. Ad esempio, hai 2 anni di dati (agosto 2016 - settembre 2018) e con questi dati devi prevedere il numero di passeggeri per i prossimi 7 mesi, avendo 2 anni di dati (2016-2018) a livello orario con il numero di passeggeri che viaggiano ed è necessario stimarne il numero in futuro.

Sottoinsieme di dati per la previsione con serie temporali:

  1. Creazione di un treno e un file di prova per la simulazione.
  2. I primi 14 mesi (agosto 2016 - ottobre 2017) vengono utilizzati come dati di allenamento e i 2 mesi successivi (novembre 2017 - dicembre 2017) sono dati di test.
  3. Aggrega il set di dati su base giornaliera.
Aggregazione di set di dati
Aggregazione di set di dati

Esegui la visualizzazione dei dati per vedere come cambia in un periodo di tempo.

Visualizzazione dati
Visualizzazione dati

Metodo di costruzione dell'approccio ingenuo

La libreria utilizzata in questo caso per la previsione TS è statsmodels. Deve essere installato prima che uno di questi approcci possa essere applicato. Forse statsmodels è già installato nell'ambiente Python, ma non supporta i metodiprevisione, quindi dovrai clonarlo dal repository e installarlo dal sorgente.

Sequenza
Sequenza

Per questo esempio, significa che i prezzi di viaggio delle monete sono stabili fin dall'inizio e per l'intero periodo di tempo. Questo metodo presuppone che il prossimo punto atteso sia uguale all'ultimo punto osservato ed è chiamato approccio ingenuo.

Metodo ingenuo
Metodo ingenuo

Ora calcola la deviazione standard per testare l'accuratezza del modello sul set di dati del test. Dal valore RMSE e dal grafico sopra, possiamo concludere che Naive non è adatto per opzioni ad alta volatilità, ma è usato per quelle stabili.

Stile medio semplice

Per dimostrare il metodo, viene disegnato un grafico, supponendo che l'asse Y rappresenti il prezzo e l'asse X rappresenti il tempo (giorni).

Stile medio semplice
Stile medio semplice

Da esso possiamo concludere che il prezzo aumenta e diminuisce casualmente con un piccolo margine, in modo che il valore medio rimanga costante. In questo caso, puoi prevedere il prezzo del prossimo periodo, simile alla media di tutti i giorni passati.

Questo metodo di previsione con la media attesa dei punti precedentemente osservati è chiamato metodo della media semplice.

In questo caso vengono presi i valori precedentemente noti, viene calcolata la media e presa come valore successivo. Naturalmente, questo non sarà esatto, ma è abbastanza vicino e ci sono situazioni in cui questo metodo funziona meglio.

Medio semplicemetodo
Medio semplicemetodo

In base ai risultati visualizzati sul grafico, questo metodo funziona meglio quando il valore medio su ciascun periodo di tempo rimane costante. Sebbene il metodo ingenuo sia migliore della media, ma non per tutti i set di dati. Si consiglia di provare ogni modello passo dopo passo e vedere se migliora o meno il risultato.

Modello a media mobile

Modello a media mobile
Modello a media mobile

Sulla base di questo grafico, possiamo concludere che i prezzi sono aumentati diverse volte in passato con un ampio margine, ma ora sono stabili. Per utilizzare il metodo di media precedente, è necessario prendere la media di tutti i dati precedenti. I prezzi del periodo iniziale influenzeranno fortemente la previsione del periodo successivo. Pertanto, come miglioramento rispetto alla media semplice, prendi la media dei prezzi solo per gli ultimi periodi di tempo.

Questa tecnica di previsione è chiamata tecnica della media mobile, a volte indicata come "finestra mobile" di dimensioni "n". Utilizzando un modello semplice, viene previsto il valore successivo in TS per verificare l'accuratezza del metodo. Chiaramente Naive supera sia la media che la media mobile per questo set di dati.

Esiste una variante della previsione con il metodo del semplice smoothing esponenziale. Nel metodo della media mobile, le osservazioni "n" passate sono ugualmente ponderate. In questo caso, potresti incontrare situazioni in cui ciascuna delle 'n' passate influisce sulla previsione a modo suo. Questa variazione, che pesa in modo diverso le osservazioni passate, è chiamata metodomedia mobile ponderata.

Estrapolazione di schemi

Una delle proprietà più importanti necessarie per considerare gli algoritmi di previsione delle serie temporali è la capacità di estrapolare modelli al di fuori del dominio dei dati di addestramento. Molti algoritmi ML non dispongono di questa funzionalità poiché tendono a essere limitati a un'area definita dai dati di addestramento. Pertanto, non sono adatti per TS, il cui scopo è proiettare il risultato nel futuro.

Un' altra importante proprietà dell'algoritmo TS è la possibilità di ottenere intervalli di confidenza. Sebbene questa sia la proprietà predefinita per i modelli TS, la maggior parte dei modelli ML non ha questa capacità in quanto non sono tutti basati su distribuzioni statistiche.

Non pensare che vengano utilizzati solo semplici metodi statistici per prevedere la ST. Non è affatto così. Esistono molti approcci complessi che possono essere molto utili in casi speciali. Eteroscedasticità condizionale autoregressiva generalizzata (GARCH), bayesiana e VAR sono solo alcuni di questi.

Ci sono anche modelli di rete neurale che possono essere applicati a serie temporali che utilizzano predittori di ritardo e possono gestire funzionalità come l'autoregressione della rete neurale (NNAR). Esistono anche modelli di serie temporali presi in prestito dall'apprendimento complesso, in particolare nella famiglia delle reti neurali ricorrenti, come le reti LSTM e GRU.

Metriche di stima e diagnostica residua

Le metriche di previsione più comuni sonorms significa, che molte persone usano quando risolvono problemi di regressione:

  • MAPE perché è indipendente dalla scala e rappresenta il rapporto tra errore e valori effettivi in percentuale;
  • MASE, che mostra il rendimento della previsione rispetto alla previsione media ingenua.

Una volta che un metodo di previsione è stato adattato, è importante valutare quanto è in grado di catturare i modelli. Sebbene le metriche di valutazione aiutino a determinare quanto siano vicini i valori ai valori effettivi, non valutano se il modello si adatta al TS. Gli avanzi sono un buon modo per valutare questo. Poiché il programmatore sta cercando di applicare i pattern TS, può aspettarsi che gli errori si comportino come "rumore bianco" poiché rappresentano qualcosa che non può essere catturato dal modello.

"Rumore bianco" deve avere le seguenti proprietà:

  1. Residui non correlati (Acf=0)
  2. I residui seguono una distribuzione normale con media zero (imparziale) e varianza costante.
  3. Se una delle due proprietà manca, c'è spazio per miglioramenti nel modello.
  4. La proprietà media zero può essere facilmente verificata utilizzando il test T.
  5. Le proprietà della normalità e della varianza costante sono controllate visivamente utilizzando un istogramma dei residui o un appropriato test di normalità univariata.

Modello ARIMA

ARIMA - Il modello AutoRegressive Integrated Moving-Average, è uno dei metodi più popolari utilizzati nelle previsioni TS, principalmenteattraverso l'autocorrelazione dei dati per creare modelli di alta qualità.

Quando si valutano i coefficienti ARIMA, l'assunto principale è che i dati siano stazionari. Ciò significa che la tendenza e la stagionalità non possono influenzare la varianza. La qualità del modello può essere valutata confrontando il grafico temporale dei valori effettivi con i valori previsti. Se entrambe le curve sono vicine, si può presumere che il modello si adatti al caso analizzato. Dovrebbe rivelare eventuali tendenze e stagionalità, se presenti.

L'analisi dei residui dovrebbe quindi mostrare se il modello si adatta: residui casuali significano che è accurato. L'adattamento di ARIMA con i parametri (0, 1, 1) darà gli stessi risultati dello smoothing esponenziale e l'utilizzo dei parametri (0, 2, 2) darà risultati di smoothing esponenziale doppio.

Algoritmi delle serie temporali in SQL Server
Algoritmi delle serie temporali in SQL Server

Puoi accedere alle impostazioni di ARIMA in Excel:

  1. Avvia Excel.
  2. Trova XL MINER sulla barra degli strumenti.
  3. Sulla barra multifunzione, seleziona ARIMA dal menu a discesa.

Riepilogo delle capacità del modello ARIMA:

  1. ARIMA - Media mobile integrata autoregressiva.
  2. Modello di previsione utilizzato nell'analisi delle serie temporali.
  3. Sintassi del parametro ARIMA: ARIMA (p, d, q) dove p=numero di termini autoregressivi, d=numero di differenze stagionali e q=numero di termini di media mobile.

Algoritmi in SQL Server

L'esecuzione della previsione incrociata è una delle cose importanticaratteristiche delle serie temporali nella previsione delle attività finanziarie. Se vengono utilizzate due serie correlate, il modello risultante può essere utilizzato per prevedere i risultati di una serie in base al comportamento delle altre.

SQL Server 2008 dispone di nuove potenti funzionalità di serie temporali da apprendere e utilizzare. Lo strumento dispone di dati TS facilmente accessibili, un'interfaccia facile da usare per la simulazione e la riproduzione di funzioni dell'algoritmo e una finestra esplicativa con un collegamento alle query DMX lato server in modo da poter capire cosa sta succedendo all'interno.

Le serie temporali di mercato sono un'ampia area a cui possono essere applicati modelli e algoritmi di deep learning. Banche, broker e fondi stanno ora sperimentando la distribuzione di analisi e previsioni per indici, tassi di cambio, futures, prezzi delle criptovalute, azioni governative e altro ancora.

Nella previsione delle serie temporali, la rete neurale trova modelli prevedibili studiando le strutture e le tendenze dei mercati e fornisce consigli ai trader. Queste reti possono anche aiutare a rilevare anomalie come picchi, cadute, cambiamenti di tendenza e sbalzi di livello imprevisti. Molti modelli di intelligenza artificiale vengono utilizzati per le previsioni finanziarie.

Consigliato: