Étant donné les deux séries chronologiques suivantes ( x , y ; voir ci-dessous), quelle est la meilleure méthode pour modéliser la relation entre les tendances à long terme de ces données?
Les deux séries chronologiques ont des tests de Durbin-Watson significatifs lorsqu'elles sont modélisées en fonction du temps et aucune n'est stationnaire (si je comprends bien le terme, ou cela signifie-t-il qu'elle n'a besoin d'être stationnaire que dans les résidus?). On m'a dit que cela signifie que je devrais prendre une différence de premier ordre (au moins, peut-être même de deuxième ordre) de chaque série chronologique avant de pouvoir modéliser l'une en fonction de l'autre, en utilisant essentiellement un arima (1,1,0 ), arima (1,2,0) etc.
Je ne comprends pas pourquoi vous devez vous distraire avant de pouvoir les modéliser. Je comprends la nécessité de modéliser l'autocorrélation, mais je ne comprends pas pourquoi il doit y avoir une différenciation. Pour moi, il semble que la tendance à la différenciation supprime les signaux primaires (dans ce cas, les tendances à long terme) des données qui nous intéressent et laisse le "bruit" de fréquence plus élevée (en utilisant le terme de bruit de manière lâche). En effet, dans les simulations où je crée une relation presque parfaite entre une série temporelle et une autre, sans autocorrélation, la différenciation de la série temporelle me donne des résultats qui sont contre-intuitifs à des fins de détection de relation, par exemple,
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))
Dans ce cas, b est fortement lié à a , mais b a plus de bruit. Pour moi, cela montre que la différenciation ne fonctionne pas dans un cas idéal pour détecter les relations entre les signaux basse fréquence. Je comprends que la différenciation est couramment utilisée pour l'analyse des séries chronologiques, mais elle semble être plus utile pour déterminer les relations entre les signaux haute fréquence. Qu'est-ce que je rate?
Exemples de données
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
la source
Je ne comprends pas non plus ce conseil. La différenciation supprime les tendances polynomiales. Si les séries sont similaires en raison des tendances, la différenciation supprime essentiellement cette relation. vous ne feriez cela que si vous vous attendez à ce que les composants liés soient liés. Si le même ordre de différenciation conduit à des acfs pour les résidus qui semblent provenir d'un modèle ARMA stationnaire, y compris du bruit blanc, cela peut indiquer que les deux séries ont des tendances polynomiales identiques ou similaires.
la source
D'après ce que je comprends, la différenciation donne des réponses plus claires dans la fonction de corrélation croisée. Comparez
ccf(df1$x,df1$y)
etccf(ddf$dx,ddf$dy)
.la source