Serie temporali

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.

Trend e stagionalità

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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.

Approximate entropy (ApEn) e Sample Entropy (SampEn)

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.

Prepocesing serie teporali

Dati mancanti

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.

Smooting

Un algoritmo di smoothing ha l’obiettivo di addolcire un insieme di dati cercando di ridurre il rumore e ricostruire al meglio il trend.

  • Bin Smoothing
    Questo approccio suddivide i tempi in intervalli detti bin.
    All’interno di ogni bin si effettuano le medie dei valori di Y e si assegna la media a tutte le X corrispondenti.
    Si ottiene, pertanto, una funzione a gradino.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • 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.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • Running Line

    Questo approccio migliora la moving average utilizzando una linea piuttosto che una media nei dati all’interno di un bin.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • 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.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • 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.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Confronto:

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.

Stazionarietà

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.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Per rendere stazionaria una serie è possibile utilizzare uno dei seguenti approcci:

  • Differenziare la serie (una o più volte).
  • Prendere il logaritmo della serie.
  • Prendere la radice n-esima della serie.
  • Combinare questi 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.

Autocorrelazione e autocorrelazione parziale

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

Yt è il valore corrente di una serie ed
Yt1
è l’istante di tempo precedente (detto, anche, lag(1)) mentre
Ytk
è il lag(k) della serie, allora l’autocorrelazione di, ad esempio, lag(3) è il coefficiente
α3
di
Yt3
nella seguente equazione:

Yt=α0+α1Yt1+α2Yt2+α3Yt3

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.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Predizione delle serie temporali

Autoregressione (AR)

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.

Media mobile (MA)

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.

Media mobile autoregressiva (ARMA)

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.

Media mobile autoregressiva integrata (ARIMA)

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).

Media mobile autoregressiva integrata stagionale (SARIMA)

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).

Media mobile autoregressiva integrata stagionale con regressori esogeni (SARIMAX)

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.).

Vector autoregression (VAR)

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).

Vector Autoregression Moving Average (VARMA)

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).

Autoregression Moving Average with Exogeneous Regressors (VARMAX)

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)

Simple exponential smoothing (SES)

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à.

Holt Winter’s Exponential Smoothing (HWES)

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à.

Il P-Value

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.

R-Squared

La correlazione, anche detta

R, 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'
R2
risulta quindi un indice più semplice che si limita a esprimere la dipendenza.

Identificazione delle variabili indipendenti più importanti

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'

R2 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'
R2
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.

Valutare l’accuratezza dei modelli predittivi

È 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.

Mean Absolute Error (MAE)

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.

MAE=1nt=1n|ytyt^|

Espresso in percentuale è chiamato Mean Absolute Percentage Error (MAPE).

Mean Bias Error (MBE)

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.

MAE=1nt=1nytyt^

Mean Squared Error (MSE)

Esso è molto simile all’errore assoluto medio (MAE) in quanto fornisce soltanto un valore sull’entità dell’errore.

MAE=1nt=1n(ytyt^)2

Root Mean Squared Error (RMSE)

Facendo la radice quadrata dell’errore quadratico medio (MSE) si ottiene il Root Mean Squared Error (RMSE), che è definito come:

MAE=1nt=1n(ytyt^)2

Luca

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

Yt=YtYt1.

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:

  1. p
    è l'ordine del termine AR (Auto Regressive)
  2. q
    è l'ordine del termine MA (Moving Average)
  3. d
    è il numero di differenziazioni necessarie per rendere stazionarie le serie temporali (Integrated).

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

d bisogna trovare il giusto ordine di differenza cioè la differenza minima necessaria per ottenere una serie quasi stazionaria.

Per stimare

p bisogna contare nel grafico del Partial Autocorrelation il numero di lag che superano la soglia (azzurrina) escludendo il primo. In questo caso si sceglie
p
uguale a 1 perche il terzo lag è troppo vicino alla soglia e quelli più avanti non contano.

Per stimare

q bisogna contare nel grafico dell'Autocorrelation il numero di lag che superano la soglia (azzurrina) escludendo il primo. In questo caso si sceglie
q
uguale a 2 perche il terzo e quarto lag sono troppo vicini alla soglia.

Codice

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à:

  • deve avere la media vicina allo zero
  • deve essere più simmetrica possibile

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:

  • la semplicità della funzione
  • il suo margine d'errore
    Dunque è bene che questo coefficiente si abbassi