Date le seguenti due serie temporali ( x , y ; vedi sotto), qual è il metodo migliore per modellare la relazione tra le tendenze a lungo termine in questi dati?
Entrambe le serie storiche hanno test significativi di Durbin-Watson se modellate in funzione del tempo e nessuna delle due è fissa (come intendo il termine, o questo significa che deve essere fissa solo nei residui?). Mi è stato detto che questo significa che dovrei prendere una differenza del primo ordine (almeno, forse anche del 2 ° ordine) di ogni serie temporale prima di poter modellarne una in funzione dell'altra, utilizzando essenzialmente un arima (1,1,0 ), arima (1,2,0) ecc.
Non capisco perché devi detrarre prima di poterli modellare. Capisco la necessità di modellare l'auto-correlazione, ma non capisco perché ci debba essere differenza. Per me, sembra che detrarre dalla differenziazione sia rimuovere i segnali primari (in questo caso le tendenze a lungo termine) nei dati a cui siamo interessati e lasciare il "rumore" ad alta frequenza (usando il termine rumore in modo approssimativo). In effetti, nelle simulazioni in cui creo una relazione quasi perfetta tra una serie temporale e l'altra, senza autocorrelazione, la differenziazione delle serie temporali mi dà risultati contrari alla finalità del rilevamento delle relazioni, ad es.
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))
In questo caso, b è fortemente correlato a a , ma b ha più rumore. Per me questo dimostra che la differenziazione non funziona in un caso ideale per rilevare relazioni tra segnali a bassa frequenza. Comprendo che la differenziazione è comunemente usata per l'analisi delle serie temporali, ma sembra essere più utile per determinare le relazioni tra segnali ad alta frequenza. Cosa mi sto perdendo?
Dati di esempio
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