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)

Autocorrelazione in R

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

Grafico di autocorrelazione in R

Risorse addizionali

Come calcolare l’autocorrelazione in Python
Come calcolare l’autocorrelazione in Excel

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *