Pode ocorrer autocorrelação negativa nos lags 1 e 2?

8

Apenas fazendo alguns jogos mentais passando por minhas notas de estatísticas ...

Eu vi ACFs com valores negativos nos lags 1 e 2 - talvez eu esteja com a mente em branco aqui, mas um AC negativo alto no lag 1 não implica uma série como (-1,1, -1,1, ...) e, como tal, esperamos que o CA alterne entre positivo e negativo também?

Se eu estiver completamente errado aqui - existe um exemplo fácil inventado em que temos uma CA negativa forte para os lags 1 e 2?

Obrigado!

mike24
fonte
5
(+1) Isso está intimamente relacionado a perguntas sobre a definição positiva das matrizes de covariância: consulte stats.stackexchange.com/… . Essa condição impõe restrições sobre como negativo o ACF pode obter simultaneamente em lags 1 e 2.
whuber

Respostas:

3

O DGP a seguir, um processo MA ( ), tem autocorrelação negativa nos lags 1 e 2:2

Yt=10.5ut1.25ut2+ut

Aqui está um código R para simular o DGP e ver o ACF por si mesmo:

library(stats)
library(forecast) # for the Acf() function

# number of "observations"
n<-500 
# initialization periods
j<-1000

# choose parameters
alpha<-10
theta<-c(-.5,-.25)
Q<-length(theta)

# generate iid disturbances
u<-rnorm(n+j,0,2)

# define the DGP and generate data series iteratively
y<-rep(alpha,n+j)
for(k in (Q+1):(n+j)){
  y[k]<-alpha + sum(theta*u[k-c(1:Q)]) + u[k] 
}

# get rid of the initialization periods
Y<-y[-c(1:j)]

# confirm the parameters
arima(Y,c(0,0,Q))

#   Call:
#   arima(x = Y, order = c(0, 0, Q))
#   
#   Coefficients:
#             ma1      ma2  intercept
#         -0.4763  -0.2546     9.9979
#   s.e.   0.0448   0.0485     0.0246
#   
#   sigma^2 estimated as 4.124:  log likelihood = -1064.03,  aic = 2134.05

# look at the ACF/PACF
par(mfrow=c(2,1))
Acf(Y)
pacf(Y)

insira a descrição da imagem aqui

Elon Plotkin
fonte
1
(+1) Bom exemplo. Alguns erros de digitação? Deveria ser y<-rep(0,n+j)e em acfvez de Acf? Também library(stats)no caso de alguém não saber.
Matthew Gunn
1
Obrigado Matthew, eu adicionei as bibliotecas. A acf()função é do pacote de previsão, que eu gosto de usar porque omite o atraso 0 = 1 do gráfico. Coloquei aa y<-rep(a,n+j)linha de consistência, para que os valores iniciais de yfossem definidos com sua média incondicional, mas como não há termos de RA, não importa quais valores sejam armazenados lá antes do loop (eles serão escritos de qualquer maneira )
Elon Plotkin
1
y<-rep(a,n+j)é realmente um erro de digitação! Eu queria que fossey<-rep(alpha,n+j)
Elon Plotkin
1
y1=1yn=(0.5)n2n2