Relação entre duas séries temporais: ARIMA

12

Dadas as duas séries temporais a seguir ( x , y ; veja abaixo), qual é o melhor método para modelar o relacionamento entre as tendências de longo prazo nesses dados?

Ambas as séries temporais têm testes significativos de Durbin-Watson quando modelados em função do tempo e nem são estacionários (como eu entendo o termo, ou isso significa que ele só precisa ser estacionário nos resíduos?). Foi-me dito que isso significa que devo fazer uma diferença de primeira ordem (pelo menos, talvez até de segunda ordem) de cada série temporal antes de poder modelar uma em função da outra, utilizando essencialmente um arima (1,1,0 ), arima (1,2,0) etc.

Não entendo por que você precisa prejudicar antes de modelá-las. Entendo a necessidade de modelar a correlação automática, mas não entendo por que precisa haver diferenças. Para mim, parece que prejudicar pela diferenciação está removendo os sinais primários (neste caso, as tendências de longo prazo) nos dados em que estamos interessados ​​e deixando o "ruído" de maior frequência (usando o termo ruído de maneira vaga). De fato, em simulações em que eu crio um relacionamento quase perfeito entre uma série temporal e outra, sem autocorrelação, diferenciar a série temporal me dá resultados que são contra-intuitivos para fins de detecção de relacionamento, por exemplo,

a = 1:50 + rnorm(50, sd = 0.01)
b = a + rnorm(50, sd = 1)
da = diff(a); db = diff(b)
summary(lmx <- lm(db ~ da))

Nesse caso, b está fortemente relacionado a , mas b tem mais ruído. Para mim, isso mostra que a diferenciação não funciona em um caso ideal para detectar relações entre sinais de baixa frequência. Entendo que a diferenciação é comumente usada para análise de séries temporais, mas parece ser mais útil para determinar as relações entre sinais de alta frequência. o que estou perdendo?

Dados de exemplo

df1 <- structure(list(
x = c(315.97, 316.91, 317.64, 318.45, 318.99, 319.62, 320.04, 321.38, 322.16, 323.04, 324.62, 325.68, 326.32, 327.45, 329.68, 330.18, 331.08, 332.05, 333.78, 335.41, 336.78, 338.68, 340.1, 341.44, 343.03, 344.58, 346.04, 347.39, 349.16, 351.56, 353.07, 354.35, 355.57, 356.38, 357.07, 358.82, 360.8, 362.59, 363.71, 366.65, 368.33, 369.52, 371.13, 373.22, 375.77, 377.49, 379.8, 381.9, 383.76, 385.59, 387.38, 389.78), 
y = c(0.0192, -0.0748, 0.0459, 0.0324, 0.0234, -0.3019, -0.2328, -0.1455, -0.0984, -0.2144, -0.1301, -0.0606, -0.2004, -0.2411, 0.1414, -0.2861, -0.0585, -0.3563, 0.0864, -0.0531, 0.0404, 0.1376, 0.3219, -0.0043, 0.3318, -0.0469, -0.0293, 0.1188, 0.2504, 0.3737, 0.2484, 0.4909, 0.3983, 0.0914, 0.1794, 0.3451, 0.5944, 0.2226, 0.5222, 0.8181, 0.5535, 0.4732, 0.6645, 0.7716, 0.7514, 0.6639, 0.8704, 0.8102, 0.9005, 0.6849, 0.7256, 0.878),
ti = 1:52), 
.Names = c("x", "y", "ti"), class = "data.frame", row.names = 110:161)

ddf<- data.frame(dy = diff(df1$y), dx = diff(df1$x))
ddf2<- data.frame(ddy = diff(ddf$dy), ddx = diff(ddf$dx))
ddf$ti<-1:length(ddf$dx); ddf2$year<-1:length(ddf2$ddx)
summary(lm0<-lm(y~x, data=df1))      #t = 15.0
summary(lm1<-lm(dy~dx, data=ddf))    #t = 2.6
summary(lm2<-lm(ddy~ddx, data=ddf2)) #t = 2.6
Matt Albrecht
fonte

Respostas:

6

Matt, você está certo nas preocupações que levantou em relação ao uso de estruturas diferenciais desnecessárias. Para identificar um modelo apropriado insira a descrição da imagem aquipara seus dados, produzindo uma estrutura significativa ao renderizar um processo de Erro Gaussiano insira a descrição da imagem aquicom um ACF deinsira a descrição da imagem aquio processo de modelagem de identificação da função de transferência requer (nesse caso) diferenciação adequada para criar séries substitutas estacionárias e, portanto, utilizáveis ​​para IDENTIFICAR a loja de relacionamento. Nisso, os requisitos de diferenciação para IDENTIFICAÇÃO eram dupla diferenciação para o X e diferenciação única para o Y. Além disso, um filtro ARIMA para o X duplamente diferenciado foi considerado um AR (1). A aplicação desse filtro ARIMA (apenas para fins de identificação!) Em ambas as séries estacionárias produziu a seguinte estrutura de correlação cruzada. insira a descrição da imagem aquisugerindo um relacionamento contemporâneo simples. insira a descrição da imagem aqui. Observe que, enquanto a série original exibe não estacionariedade, isso não implica necessariamente que a diferenciação seja necessária em um modelo causal. O modelo final insira a descrição da imagem aquie a ACF final suportam esseinsira a descrição da imagem aqui. Ao fechar a equação final, além das mudanças de nível empiricamente identificadas (realmente interceptar mudanças), é

 Y(t)=-4.78 + .192*X(t) - .177*X(t-1) which is NEARLY equal to 

 Y(t)=-4.78 + .192*[X(t)-X(t-1)] which means that changes in X effect the level of Y

Por fim, observe as características do modelo sugerido.insira a descrição da imagem aqui

a série Deslocamento de nível (0,0,0,0,0,0,0,0,0,1,1, ........., 1) sugere que, se não tratada, os resíduos do modelo exibirão um nível o deslocamento no período 10 THUS ou próximo a ele, um teste da hipótese de uma média residual comum entre os 10 primeiros resíduos e os últimos 42 seria significativo em alfa = 0,0002 com base no "teste t de -4,10". Observe que a inclusão de uma constante garante que a média geral dos resíduos não difira significativamente de zero, mas isso não é necessariamente para todos os intervalos de tempo do subconjunto. O gráfico a seguir mostra claramente isso (considerando que você foi solicitado a olhar!). O Real / Ajustado / Previsão é bastante esclarecedor insira a descrição da imagem aqui. As estatísticas são como postes de luz, alguns os usam para se apoiar em outros, para iluminação.

IrishStat
fonte
Obrigado pela análise abrangente Dave. Só para ter certeza de que entendo, 2 é a variável x como está, 3 é a variável x com atraso -1 e 4 é a mudança de nível? Não há especificação de arima?
Matt Albrecht
@MattAlbrecht Y é o dependente (seu y com valores .0192, -. 0748 ...); X1 é seu x com valores 315.97; X2 é uma variável dummy 0,0,0,0,0,0,0,0,0,1,1,1, ... 1. A variável X1 possui um efeito contemporâneo e retardado com coeficientes [0,192 e -177, respectivamente]. A equação final final é
IrishStat
@MattAlbrecht Y é o dependente (seu y com valores .0192, -. 0748 ...); X1 é seu x com valores 315.97; X2 é uma variável dummy 0,0,0,0,0,0,0,0,0,1,1,1, ... 1. A variável X1 tem um efeito contemporâneo e de atraso com coeficientes [0,192 e -177 respectivamente]. A equação final completa possui 4 coeficientes; uma constante ; dois coeficientes para o seu x e um
IrishStat
1

Também não entendo esse conselho. A diferença remove tendências polinomiais. Se as séries são semelhantes por causa das diferenças de tendências, essencialmente remove esse relacionamento. você faria isso apenas se esperar que os componentes prejudicados estejam relacionados. Se a mesma ordem de diferenciação leva a acfs para os resíduos que parecem ser de um modelo ARMA estacionário, incluindo ruído branco que pode indicar que ambas as séries têm as mesmas tendências polinomiais iguais ou semelhantes.

Michael R. Chernick
fonte
A diferença também pode ser usada para remediar a não estacionariedade quando não houver tendências. O uso injustificado pode criar um absurdo estatístico / econométrico, como você aponta corretamente.
amigos estão dizendo sobre ireland
1

Pelo que entendi, a diferenciação fornece respostas mais claras na função de correlação cruzada. Compare ccf(df1$x,df1$y)e ccf(ddf$dx,ddf$dy).

Kees
fonte
Concordo que a correlação cruzada mostra que relação existe entre as séries diferenciadas, mas o que quero dizer é que essas séries parecem estar relacionadas principalmente por causa das tendências que a diferenciação remove.
Michael R. Chernick 5/05
Você não responde sua própria pergunta lá? Existe uma tendência comum, concordamos com isso. A diferenciação permite olhar além da tendência: como estão as flutuações em torno da tendência? Nesse caso, a correlação entre x e y ocorre com o atraso 0 e 8. O efeito no atraso 8 também é visível na autocorrelação de ddf $ dy. Você não saberia disso sem diferenciar.
Kees