Provavelmente existem muitas maneiras de fazer isso, mas a primeira que vem à mente é baseada em regressão linear. Você pode regredir os resíduos consecutivos um contra o outro e testar uma inclinação significativa. Se houver correlação automática, deve haver uma relação linear entre resíduos consecutivos. Para finalizar o código que você escreveu, você pode:
mod = lm(prices[,1] ~ prices[,2])
res = mod$res
n = length(res)
mod2 = lm(res[-n] ~ res[-1])
summary(mod2)
mod2 é uma regressão linear do tempo erro, ε t , contra o tempo t - 1 erro, ε t - 1 . se o coeficiente para res [-1] for significativo, você tem evidências de autocorrelação nos resíduos.tεtt - 1εt - 1
Nota: Isso implica implicitamente que os resíduos são autorregressivos no sentido de que apenas é importante na previsão de ε t . Na realidade, pode haver dependências de longo alcance. Nesse caso, este método que descrevi deve ser interpretado como a aproximação autor-regressiva de um intervalo à verdadeira estrutura de autocorrelação em ε .εt - 1εtε
acf()
), mas isso simplesmente confirmará o que pode ser visto a olho nu: as correlações entre os resíduos atrasados são muito altas.