Come calcolare l'autocorrelazione in r
L’autocorrelazione misura il grado di somiglianza tra una serie temporale e una versione ritardata di se stessa su intervalli di tempo successivi.
A volte viene chiamata anche “correlazione seriale” o “correlazione ritardata” perché misura la relazione tra i valori attuali di una variabile e i suoi valori storici.
Quando l’autocorrelazione in una serie storica è elevata, diventa facile prevedere i valori futuri semplicemente facendo riferimento ai valori passati.
Come calcolare l’autocorrelazione in R
Supponiamo di avere le seguenti serie temporali in R che mostrano il valore di una certa variabile per 15 periodi diversi:
#define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)
Possiamo calcolare l’autocorrelazione per ogni ritardo nelle serie temporali utilizzando la funzione acf() dalla libreria tseries :
library (tseries) #calculate autocorrelations acf(x, pl= FALSE ) 0 1 2 3 4 5 6 7 8 9 10 1.000 0.832 0.656 0.491 0.279 0.031 -0.165 -0.304 -0.401 -0.458 -0.450 11 -0.369
Il modo di interpretare il risultato è il seguente:
- L’autocorrelazione al ritardo 0 è 1 .
- L’autocorrelazione al ritardo 1 è 0,832 .
- L’autocorrelazione al ritardo 2 è 0,656 .
- L’autocorrelazione al ritardo 3 è 0,491 .
E così via.
Possiamo anche specificare il numero di ritardi da visualizzare con l’argomento lag :
#calculate autocorrelations up to lag=5 acf(x, lag=5, pl= FALSE ) Autocorrelations of series 'x', by lag 0 1 2 3 4 5 1.000 0.832 0.656 0.491 0.279 0.031
Come tracciare la funzione di autocorrelazione in R
Possiamo tracciare la funzione di autocorrelazione per una serie temporale in R semplicemente non utilizzando l’argomento pl=FALSE :
#plot autocorrelation function
acf(x)
L’asse x mostra il numero di ritardi e l’asse y mostra l’autocorrelazione a quel numero di ritardi. Per impostazione predefinita, il grafico inizia con lag = 0 e l’autocorrelazione sarà sempre 1 con lag = 0.
Puoi anche specificare un titolo diverso per la trama utilizzando l’argomento principale :
#plot autocorrelation function with custom title acf(x, main=' Autocorrelation by Lag ')
Risorse addizionali
Come calcolare l’autocorrelazione in Python
Come calcolare l’autocorrelazione in Excel