Calculando autocorrelações
Autocorrelações, ou correlações defasadas, são usadas para avaliar se uma série temporal depende do seu passado. Para uma série temporal x de comprimento n, consideramos os n-1 pares de observações separados por uma unidade de tempo. O primeiro desses pares é (x[2],x[1]), e o seguinte é (x[3],x[2]). Cada par é da forma (x[t],x[t-1]), em que t é o índice da observação, que variamos de 2 a n neste caso. A autocorrelação de defasagem 1 de x pode ser estimada como a correlação amostral desses pares (x[t], x[t-1]).
Em geral, podemos criar manualmente esses pares de observações. Primeiro, crie dois vetores, x_t0 e x_t1, cada um com comprimento n-1, de forma que as linhas correspondam aos pares (x[t], x[t-1]). Em seguida, aplique a função cor() para estimar a autocorrelação de defasagem 1.
Felizmente, o comando acf() oferece um atalho. Aplicar acf(..., lag.max = 1, plot = FALSE) a uma série x calcula automaticamente a autocorrelação de defasagem 1.
Por fim, observe que as duas estimativas diferem ligeiramente porque usam escalas ligeiramente diferentes no cálculo da covariância amostral, 1/(n-1) versus 1/n. Embora a segunda forneça uma estimativa tendenciosa, ela é preferida em análise de séries temporais, e as autocorrelações resultantes diferem apenas por um fator de (n-1)/n.
Neste exercício, você vai praticar tanto o cálculo manual quanto o automático de uma autocorrelação de defasagem 1. A série temporal x e seu comprimento n (150) já foram carregados. A série é mostrada no gráfico à direita.
Este exercício faz parte do curso
Análise de Séries Temporais em R
Instruções do exercício
- Crie dois vetores,
x_t0ex_t1, cada um com comprimenton-1, de forma que as linhas correspondam aos pares(x[t], x[t-1]). - Confirme que
x_t0ex_t1são pares(x[t], x[t-1])usando o código pré-escrito. - Use
plot()para ver o diagrama de dispersão dex_t0ex_t1. - Use
cor()para ver a correlação entrex_t0ex_t1. - Use
acf()comxpara calcular automaticamente a autocorrelação de defasagem 1. Defina o argumentolag.maxcomo1para produzir um único período de defasagem e defina o argumentoplotcomoFALSE. - Confirme que o fator de diferença é
(n-1)/nusando o código pré-escrito.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Define x_t0 as x[-1]
x_t0 <-
# Define x_t1 as x[-n]
x_t1 <-
# Confirm that x_t0 and x_t1 are (x[t], x[t-1]) pairs
head(cbind(x_t0, x_t1))
# Plot x_t0 and x_t1
plot(___, ___)
# View the correlation between x_t0 and x_t1
cor(___, ___)
# Use acf with x
acf(___, lag.max = ___, plot = ___)
# Confirm that difference factor is (n-1)/n
cor(x_t1, x_t0) * (n-1)/n