Una serie temporale è una sequenza in cui viene registrata una metrica su intervalli di tempo regolari.
Se si considerano più metriche contemporaneamente si parla di dati sezioanali.
Un trend esiste allorquando si può osservare una pendenza crescente o decrescente nella serie temporale.
La stagionalità esiste allorquando si può osservare un pattern distinto ripetuto tra intervalli regolari, dovuto a fattori stagionali.
Non è obbligatorio che tutte le serie temporali debbano avere un trend e/o una stagionalità.
A seconda della natura del trend e della stagionalità, una serie temporale può essere modellata come additiva oppure moltiplicativa.
In una serie additiva ciascuna osservazione della serie può essere espressa come una somma dei componenti:
Valore = livello di base + trend + stagionalità + errore
In una serie moltiplicativa ciascuna osservazione della serie può essere espressa come un prodotto dei componenti:
Valore = livello di base * trend * stagionalità * errore
Se guardiamo attentamente ai residui della decomposizione additiva possiamo ancora intravedere la presenza di alcuni pattern, questo significa che abbiamo tralasciato delle informazioni.
Invece, nella decomposizione moltiplicativa i residui sono assolutamente random, il che è una cosa positiva.
Pertanto, per questa particolare serie, la decomposizione moltiplicativa dovrebbe essere preferita rispetto a quella additiva.
Più regolari e ripetibili sono i pattern di una serie temporali e più facile è effettuare previsioni su di essa.
Per valutare queste caratteristiche è possibile utilizzare uno di questi indici: ApEn SampEn. ApEn è più efficiente ma soffre quando le serie temporali hanno una breve lunghezza.
La via d’uscita più semplice, sebbene abbastanza sporca, è di assegnare all’elemento mancante il valore dell’elemento precedente. Tencniche più avanzate usano medie o regressioni.
Un algoritmo di smoothing ha l’obiettivo di addolcire un insieme di dati cercando di ridurre il rumore e ricostruire al meglio il trend.
Moving Averages
Questo approccio usa dei bin variabili che contengono un numero fisso di osservazioni, piuttosto che dei bin di lunghezza fissa con un numero variabili di osservazioni.
Essi tendono a variare vicino al centro dei dati mentre si appiattiscono vicino ai confini dei dati.
Running Line
Questo approccio migliora la moving average utilizzando una linea piuttosto che una media nei dati all’interno di un bin.
LOESS
LOESS estende l’approccio a running line usando una regressione lineare pesata all’interno dei bin di lunghezza variabile.
LOESS è computazionalmente più costoso degli approcci precedenti, ma è flessibile e fornisce spesso risultati soddisfacenti.
Kernel Smoothers
Questi approcci sono molto simili al moving average, eccetto per il fatto che la media è pesata e la lunghezza del bin è fissa.
I kernel smoothers lavorano bene e sono matematicamente trattabili.
I pesi nella media dipendono dal cosiddetto kernel K(x).
Splines
Lo smoothing splines stima f minimizzando l’equazione che bilancia i minimi quadrati e associando una penalizzazione ogniqualvolta ci sono irregolarità.
Gli smoothing splines sono polinomi a tratti; le divisioni in tratti si ottengono in corrispondenza di alcuni valori dei campioni.
I valori del campione che suddividono la curva in porzioni polinomiali sono chiamati knots.
Generalmente gli splines sono vincolati ad essere dolci attraverso gli knots.
L’adaptive kernel smoothing è buono ma lento.
Gli smoothing splines sono accurati ma quando i campioni sono grandi cominciano a dare problemi.
Tutti gli altri non sono realmente competitivi nei problemi più difficili.
La stazionarietà è una proprietà delle serie temporali.
Una serie temporale è stazionaria se i suoi valori non dipendono dal tempo. In essa la media e la varianza devono essere costanti nel tempo.
Una serie stazionaria è anche priva di effetti stagionali.
Per rendere stazionaria una serie è possibile utilizzare uno dei seguenti approcci:
Il motivo principale per cui si lavora sulle serie stazionarie è che i modelli di predizione autoregressivi sono essenzialmente modelli di regressione lineare che utilizzano i lag delle serie stesse come predittori.
Ora, è ben risaputo che la regressione lineare lavora meglio se i predittori (ovvero le variabili X) non sono tra loro correlati.
Stazionalizzare la serie risolve questo problema dal momento che tale attività rimuove qualsiasi autocorrelazione persistente, rendendo quasi indipendenti i predittori (ovvero i ritardi delle serie) nei modelli di predizione.
Per verificare la stazionarietà di una serie in modo formale (senza basarsi sul grafico) esistono diversi metodi alternativi tra cui Augmented Dickey Fuller test (ADF test). Se il P-Value nel test ADF è minore del livello di significatività (ovvero di 0.05) la serie si considera stazionaria.
L’autocorrelazione è semplicemente la correlazione di una serie con i propri ritardi.
Se una serie è significativamente autocorrelata, allora i valori precedenti della serie (ritardi o, in inglese, lag) possono essere utili nel predire il valore corrente.
Per esempio, se è il valore corrente di una serie ed è l’istante di tempo precedente (detto, anche, lag(1)) mentre è il lag(k) della serie, allora l’autocorrelazione di, ad esempio, lag(3) è il coefficiente di nella seguente equazione:
L’autocorrelazione parziale comporta un’informazione simile ma riguarda solo la correlazione tra una serie e un suo ritardo, escludendo dal conteggio i contributi degli altri. L’autocorrelazione parziale del k-esimo ritardo di una serie lag(k) è il coefficiente che quel ritardo ha nell’equazione di autoregressione di Y.
Un lag plot è uno scatter plot di una serie temporale rispetto ad uno dei suoi ritardi.
Esso viene normalmente utilizzato per verificare la presenza di autocorrelazione.
Creare un lag plot ci consente di verificare la randomaticità. I dati random si diffonderanno piuttosto uniformemente sia in orizzontale che in verticale.
Se non è possibile vedere un pattern nel grafo, i dati saranno probabilmente random.
AR modella il passo successivo in una sequenza come funzione lineare delle osservazioni ottenute ai passi precedenti.
La notazione per il modello comporta la specificazione dell'ordine p del modello come parametro della funzione di regressione.
MA modella il passo successivo nella sequenza come funzione lineare degli errori residui ottenuti dal calcolo della media nelle fasi precedenti
La notazione per il modello comporta la specificazione dell'ordine q del modello come parametro della funzione di media mobile.
ARMA modella il passo successivo nella sequenza come funzione lineare delle osservazioni degli errori residui ottenuti dal calcolo della media nelle fasi precedenti.
La notazione per il modello comporta la specificazione dell’ordine p della componente AR (e quindi AR(p)) e dell’ordine q della componente MA (e quindi MA(q)).
Così, ARMA(2,1) è un modello del secondo ordine per la componente AR e del primo ordine per la componente MA.
ARIMA modella il passo successivo nella sequenza come funzione lineare delle diverse osservazioni e degli errori residui ottenuti dal calcolo della media nelle fasi precedenti.
Esso combina sia il modello di Autoregressione (AR) che quello di media mobile (MA), a cui aggiunge una fase di pre-processing, chiamata integrazione (I), che ha l’obiettivo di rendere la stazionaria la sequenza.
La notazione per il modello comporta la specificazione dell’ordine per i modelli AR(p), I(d) e MA(q) come parametri di una funzione ARIMA; ad esempio ARIMA(p, d, q).
SARIMA modella il passo successivo nella sequenza come funzione lineare delle diverse osservazioni, degli errori residui ottenuti dal calcolo della media nelle fasi precedenti, della stagionalità e degli errori residui sulla stagionalità ottenuti nelle fasi precedenti.
La notazione per il modello comporta la specificazione dell’ordine per i modelli AR(p), I(d) e MA(q) come parametri di una funzione ARIMA e dei parametri AR(P), ID(D) e MA(q) ed m per la componente stagionale; m rappresenta il numero di passi in ciascuna stagione (e quindi il periodo della stagione).
SARIMAX è un’estensione del modello SARIMA che comprende anche la modellazione di variabili esogene.
Le variabili esogene sono anche chiamate covariate e possono essere pensate come sequenze di input parallele che hanno osservazioni in contemporanea con i passi della serie originale.
Le serie primarie possono essere considerate come dati endogene da distinguere dalle variabili esogene.
Le osservazioni per le variabili esogene sono incluse nel modello direttamente in ogni passo del tempo e non sono modellate nello stesso modo della sequenza endogena primaria (ad esempio, come processo AR, MA, etc.).
Il metodo VAR modella il passo successivo in ogni serie temporale utilizzando un modello AR.
Il metodo rappresenta la generalizzazione del metodo AR a serie temporali multiple parallele, ad esempio serie temporali multivariate.
La notazione per il modello comporta la specificazione dell’ordine del modello AR sottostante, ad esempio VAR(p).
Il metodo VARMA modella il passo successivo in ogni serie temporale utilizzando un modello ARMA.
Si tratta della generalizzazione di ARMA a serie temporali multiple parallele, ad esempio serie temporali multivariate.
La notazione per il modello comporta la specificazione dell’ordine per i modelli AR(p) e MA(q) come parametri di una funzione VARMA, ad esempio VARMA(p,q).
Il metodo VARMAX è un’estensione del metodo VARMA che include anche la modellazione di variabili esogene.
Si tratta di una versione multivariata del metodo ARMAX.
Il metodo è adatto per serie temporali multivariate senza trend e stagionalità con variabili esogene.
Univariate | Multivariate | Con Trend | Con stagionalità |
---|---|---|---|
AR | VAR | non adatto | non adatto |
MA | VMA | non adatto | non adatto |
ARMA | VARMA | non adatto | non adatto |
ARIMA | // | adatto | non adatto |
// | VARMAX | non adatto | non adatto |
SARIMA | // | adatto | adatto |
SARIMAX | // | adatto | adatto |
* univariata se predice una sola grandezza, multivariata se ne predice 2 o più parallelamente (ha senso se le grandezze in questione sono correlate tra loro)
SES modella il passo temporale successivo come una funzione lineare con pesi che variano in maniera esponenziale delle osservazioni accadute negli intervalli di tempo precedenti (più l'osservazione è lontana nel tempo, più il peso sarà ridotto)
Il metodo è adatto per serie temporali univariate senza trend e stagionalità.
HWES chiamato anche Triple Exponential Smoothing, si basa su SES.
Esso tiene conto anche dei trend e della stagionalità.
Il metodo è adatto a serie temporali univariate con trend e stagionalità.
Data una certa grandezza di cui disponiamo dell'andamento, il P-Value ci dice la probabilità che per quella grandezza sia valida l'ipotesi nulla, cioè la probabilità che le misure rilevate siano generate randomicamente. Ad esempio, l'andamneto dei contagi ha un P-Value molto basso <0.05, se un giorno abbiamo 20000 contagi, il giono successivo non avremmo mai 0 contagi.
La correlazione, anche detta , si calcola su coppie di misure. Quando vale +1 o -1 significa che le due misure hanno una forte dipendenza tra loro: nel primo caso tendono a crescere insieme, nel secondo quando la prima sale la seconda scende e viceversa. L' risulta quindi un indice più semplice che si limita a esprimere la dipendenza.
Molto spesso è necessario ridurre il numero di variabili da passare al modello per eseguire il task di regressione. Con meno variabili si può ridurre drasticamente la complessità del modello, ed evitare anche l'overfitting. Risulta quindi importante distinguere le variabili significative da quelle meno importanti.
L' può essere inpiegato in questo senso nel seguente modo: si osserva come varia quando una certa variabile viene aggiunta al modello. Quando una variabile indipendente è l’ultima inserita nel modello, la variazione dell' associata ad essa rappresenta il miglioramento nella bontà di adattamento dovuto esclusivamente a quest’ultima variabile dopo che tutte le altre variabili sono state contabilizzate. Nella pritaca si procede con un approccio greedy.
È importante valutare l’accuratezza del modello usando previsioni quanto più possibili reali. A tale proposito è pratica comune separare i dati disponibili in due parti, ovvero dati di training e dati di test.
Rappresenta la media delle differenze assolute tra i valori predetti e i valori reali. Questa misura dà un’idea della magnitudine dell’errore ma non dà alcuna informazione sulla direzione, ovvero non dà indicazioni sulla possibile sottostima o sovrastima della predizione.
Espresso in percentuale è chiamato Mean Absolute Percentage Error (MAPE).
Se il valore assoluto nel calcolo del MAE non viene considerato (e quindi i segni degli errori non vengono rimossi), l’errore medio diventa l'MBE.
Esso è molto simile all’errore assoluto medio (MAE) in quanto fornisce soltanto un valore sull’entità dell’errore.
Facendo la radice quadrata dell’errore quadratico medio (MSE) si ottiene il Root Mean Squared Error (RMSE), che è definito come:
Il metodo più comune per rendere stazionaria una serie consiste nel differenziarla almeno una volta.
Se indiciamo con Yt il valore della serie al tempo t, allora la differenza si ottiene ponendo .
Gran parte dei metodi di predizione statistica sono progettati per operare con serie temporali stazionarie.
Pertanto, il primo passo del processo di predizione di una serie temporale è tipicamente quello di effettuare delle trasformazioni per convertire una serie non stazionaria in una stazionaria.
Un modello ARIMA è caratterizzato da 3 termini:
In termini semplici:
Predicted Yt = Constant + Linear combination Lags of Y (up to p lags) + Linear Combination of Lagged forecast errors (up to q lags)
Per stimare bisogna trovare il giusto ordine di differenza cioè la differenza minima necessaria per ottenere una serie quasi stazionaria.
Per stimare bisogna contare nel grafico del Partial Autocorrelation il numero di lag che superano la soglia (azzurrina) escludendo il primo. In questo caso si sceglie uguale a 1 perche il terzo lag è troppo vicino alla soglia e quelli più avanti non contano.
Per stimare bisogna contare nel grafico dell'Autocorrelation il numero di lag che superano la soglia (azzurrina) escludendo il primo. In questo caso si sceglie uguale a 2 perche il terzo e quarto lag sono troppo vicini alla soglia.
I residui devono avere un'andamento altamente imprevedibile (come il rumore bianco), con una media prossima allo zero. In queste condizioni significa che il nostro modello è stato capace di catturare tutta l'informazione possibile. Per avere un'idea sulla bontà dei residui è possibile osservare la densità:
Il P-value di MA2 è maggiore di 0.05, quindi non è molot significativo, conviene dunque eliminarlo dal modello.
In maniera simile ma opposta i valori nella colonna "coef" indicano l'impatto che i rispettivi parametri hanno sul modello: se l'indice è prossimo a 0 allora non da un contributo rilevante, quindi adrebbe eliminato.
AIC è un indice che esprime due aspetti: