Como calcular a autocorrelação em r


A autocorrelação mede o grau de similaridade entre uma série temporal e uma versão defasada dela mesma em intervalos de tempo sucessivos.

Às vezes também é chamada de “correlação serial” ou “correlação defasada” porque mede a relação entre os valores atuais de uma variável e seus valores históricos.

Quando a autocorrelação em uma série temporal é alta, torna-se fácil prever valores futuros simplesmente referindo-se a valores passados.

Como calcular a autocorrelação em R

Suponha que temos a seguinte série temporal em R que mostra o valor de uma determinada variável para 15 períodos diferentes:

 #define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)

Podemos calcular a autocorrelação para cada atraso na série temporal usando a função acf() da biblioteca 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 

A forma de interpretar o resultado é a seguinte:

  • A autocorrelação no atraso 0 é 1 .
  • A autocorrelação no atraso 1 é 0,832 .
  • A autocorrelação no atraso 2 é 0,656 .
  • A autocorrelação no atraso 3 é 0,491 .

E assim por diante.

Também podemos especificar o número de atrasos a serem exibidos com o argumento 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

Como traçar a função de autocorrelação em R

Podemos traçar a função de autocorrelação para uma série temporal em R simplesmente não usando o argumento pl=FALSE :

 #plot autocorrelation function
acf(x)

Autocorrelação em R

O eixo x exibe o número de defasagens e o eixo y exibe a autocorrelação nesse número de defasagens. Por padrão, o gráfico começa em lag = 0 e a autocorrelação sempre será 1 em lag = 0.

Você também pode especificar um título diferente para o gráfico usando o argumento principal :

 #plot autocorrelation function with custom title
acf(x, main=' Autocorrelation by Lag ') 

Gráfico de autocorrelação em R

Recursos adicionais

Como calcular a autocorrelação em Python
Como calcular a autocorrelação no Excel

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *