Serie temporali - Regressione automatica

Per una serie temporale stazionaria, un modello di regressione automatica vede il valore di una variabile al tempo "t" come una funzione lineare dei valori "p" che lo precedono. Matematicamente può essere scritto come -

$$ y_ {t} = \: C + \: \ phi_ {1} y_ {t-1} \: + \: \ phi_ {2} Y_ {t-2} + ... + \ phi_ {p} y_ {tp} + \ epsilon_ {t} $$

 

Dove, "p" è il parametro di tendenza auto-regressivo

$ \ epsilon_ {t} $ è rumore bianco, e

$ y_ {t-1}, y_ {t-2} \: \: ... y_ {tp} $ indicano il valore della variabile nei periodi di tempo precedenti.

Il valore di p può essere calibrato utilizzando vari metodi. Un modo per trovare il valore apt di 'p' è tracciare il grafico di autocorrelazione.

Note- Dobbiamo separare i dati in train e test con un rapporto 8: 2 dei dati totali disponibili prima di eseguire qualsiasi analisi sui dati perché i dati di test servono solo a scoprire l'accuratezza del nostro modello e l'ipotesi è che non sono disponibili per noi fino a dopo che le previsioni sono state fatte. In caso di serie temporali, la sequenza dei punti dati è molto essenziale, quindi è necessario tenere presente di non perdere l'ordine durante la suddivisione dei dati.

Un grafico di autocorrelazione o un correlogramma mostra la relazione di una variabile con se stessa nelle fasi temporali precedenti. Utilizza la correlazione di Pearson e mostra le correlazioni all'interno dell'intervallo di confidenza del 95%. Vediamo come appare per la variabile 'temperatura' dei nostri dati.

Mostra ACP

In [141]:

split = len(df) - int(0.2*len(df))
train, test = df['T'][0:split], df['T'][split:]

In [142]:

from statsmodels.graphics.tsaplots import plot_acf

plot_acf(train, lags = 100)
plt.show()

Si presume che tutti i valori di ritardo che si trovano al di fuori della regione blu ombreggiata abbiano una correlazione cs.