Was ist angesichts der folgenden zwei Zeitreihen ( x , y ; siehe unten) die beste Methode, um die Beziehung zwischen den langfristigen Trends in diesen Daten zu modellieren?
Beide Zeitreihen haben signifikante Durbin-Watson-Tests, wenn sie als Funktion der Zeit modelliert werden, und beide sind nicht stationär (wie ich den Begriff verstehe, oder bedeutet dies, dass sie nur in den Residuen stationär sein müssen?). Mir wurde gesagt, dass dies bedeutet, dass ich für jede Zeitreihe einen Unterschied erster Ordnung (zumindest vielleicht sogar 2. Ordnung) nehmen sollte, bevor ich eine als Funktion der anderen modellieren kann, wobei ich im Wesentlichen eine Arima (1,1,0) verwende ), Arima (1,2,0) usw.
Ich verstehe nicht, warum Sie sich abmühen müssen, bevor Sie sie modellieren können. Ich verstehe die Notwendigkeit, die Autokorrelation zu modellieren, aber ich verstehe nicht, warum es Unterschiede geben muss. Für mich scheint es so, als würde durch Differenzierung die Primärsignale (in diesem Fall die langfristigen Trends) in den Daten, an denen wir interessiert sind, entfernt und das höherfrequente "Rauschen" (mit dem Begriff Rauschen lose) belassen. In Simulationen, in denen ich eine nahezu perfekte Beziehung zwischen einer Zeitreihe und einer anderen ohne Autokorrelation herstelle, führt die Differenzierung der Zeitreihen zu Ergebnissen, die für die Erkennung von Beziehungen nicht intuitiv sind, z.
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 diesem Fall ist b stark mit a verwandt , aber b hat mehr Rauschen. Für mich zeigt dies, dass die Differenzierung im Idealfall nicht funktioniert, um Beziehungen zwischen niederfrequenten Signalen zu erkennen. Ich verstehe, dass die Differenzierung häufig für die Zeitreihenanalyse verwendet wird, aber sie scheint für die Bestimmung der Beziehungen zwischen Hochfrequenzsignalen nützlicher zu sein. Was vermisse ich?
Beispieldaten
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