Beziehung zwischen zwei Zeitreihen: ARIMA

12

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
Matt Albrecht
quelle

Antworten:

6

Matt, Sie haben sehr Recht mit den Bedenken, die Sie hinsichtlich der Verwendung unnötiger Differenzierungsstrukturen geäußert haben. Um ein geeignetes Modell Geben Sie hier die Bildbeschreibung einfür Ihre Daten zu identifizieren , das beim Rendern eines Gaußschen Fehlerprozesses Geben Sie hier die Bildbeschreibung einmit einer ACF von eine signifikante Struktur ergibtGeben Sie hier die Bildbeschreibung einDer Modellierungsprozess zur Identifizierung der Übertragungsfunktion erfordert (in diesem Fall) eine geeignete Differenzierung, um Ersatzreihen zu erstellen, die stationär sind und somit zur IDENTIFIZIERUNG des Relationshops verwendet werden können. Dabei waren die Differenzierungsanforderungen für die IDENTIFIZIERUNG die doppelte Differenzierung für das X und die einfache Differenzierung für das Y. Zusätzlich wurde festgestellt, dass ein ARIMA-Filter für das doppelt differenzierte X ein AR ist (1). Die Anwendung dieses ARIMA-Filters (nur zu Identifikationszwecken!) Auf beide stationären Reihen ergab die folgende kreuzkorrelative Struktur. Geben Sie hier die Bildbeschreibung eineine einfache zeitgleiche Beziehung vorschlagen. Geben Sie hier die Bildbeschreibung ein. Beachten Sie, dass die Originalserien zwar keine Stationarität aufweisen, dies jedoch nicht unbedingt bedeutet, dass in einem Kausalmodell eine Differenzierung erforderlich ist. Das endgültige Modell Geben Sie hier die Bildbeschreibung einund der endgültige ACF unterstützen diesGeben Sie hier die Bildbeschreibung ein. Zum Schluss ist die endgültige Gleichung neben der einen empirisch identifizierten Pegelverschiebung (wirklich Intercept-Änderungen)

 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

Beachten Sie abschließend die Eigenschaften des vorgeschlagenen Modells.Geben Sie hier die Bildbeschreibung ein

Die Level Shift-Reihe (0,0,0,0,0,0,0,0,0,1,1, ........., 1) schlägt vor, dass die Modellreste ein Level aufweisen würden, wenn sie nicht behandelt würden Verschiebung im oder um den Zeitraum 10 DAHER wäre ein Test der Hypothese eines gemeinsamen Residuenmittelwerts zwischen den ersten 10 Residuen und den letzten 42 bei alpha = 0,0002 signifikant, basierend auf einem "t-Test von -4,10". Beachten Sie, dass die Einbeziehung einer Konstanten garantiert, dass sich der Gesamtmittelwert der Residuen nicht wesentlich von Null unterscheidet, ABER dies gilt nicht unbedingt für alle Teilmengenzeitintervalle. Die folgende Grafik zeigt dies deutlich (vorausgesetzt, Sie wurden aufgefordert, nachzuschauen!). Die tatsächliche / Anpassung / Prognose ist ziemlich aufschlussreich Geben Sie hier die Bildbeschreibung ein. Statistiken sind wie Laternenpfähle, einige verwenden sie, um sich auf andere zu stützen, andere verwenden sie zur Beleuchtung.

IrishStat
quelle
Danke für die umfassende Analyse Dave. Nur damit ich sicher gehe, dass ich verstehe, 2 ist die x- Variable wie sie ist, 3 ist die x- Variable mit Verzögerung -1 und 4 ist die Pegelverschiebung? Es gibt keine Arima-Spezifikation?
Matt Albrecht
@MattAlbrecht Y ist das abhängige (Ihr y mit den Werten .0192, -. 0748 ...); X1 ist Ihr x mit den Werten 315.97; X2 ist eine Dummy-Variable 0,0,0,0,0,0,0,0,0,1,1,1, ... 1. Die X1-Variable hat einen zeitgleichen und einen Verzögerungseffekt mit Koeffizienten [.192 bzw. -.177]. Die endgültige vollständige Gleichung lautet
IrishStat
@MattAlbrecht Y ist das abhängige (Ihr y mit den Werten .0192, -. 0748 ...); X1 ist Ihr x mit den Werten 315.97; X2 ist eine Dummy-Variable 0,0,0,0,0,0,0,0,0,1,1,1, ... 1. Die X1-Variable hat sowohl einen zeitgleichen als auch einen Verzögerungseffekt mit Koeffizienten [.192 bzw. -.177]. Die endgültige vollständige Gleichung hat 4 Koeffizienten; eine Konstante ; zwei Koeffizienten für Ihr x und a
IrishStat
1

Ich verstehe diesen Rat auch nicht. Durch Differenzieren werden Polynomtrends entfernt. Wenn die Serien aufgrund der unterschiedlichen Trends ähnlich sind, wird diese Beziehung im Wesentlichen entfernt. Sie würden dies nur tun, wenn Sie erwarten, dass die abgelehnten Komponenten in Beziehung stehen. Wenn die gleiche Reihenfolge der Differenzierung zu acfs für die Residuen führt, die aussehen, als könnten sie aus einem stationären ARMA-Modell mit weißem Rauschen stammen, das möglicherweise darauf hinweist, dass beide Reihen dieselben oder ähnliche Polynomtrends aufweisen.

Michael R. Chernick
quelle
Differenzierung kann auch verwendet werden, um Nichtstationarität zu beheben, wenn keine Trends vorliegen. Eine ungerechtfertigte Verwendung kann zu statistischem / ökonometrischem Unsinn führen, wie Sie richtig hervorheben.
IrishStat
1

So wie ich es verstehe, gibt die Differenzierung klarere Antworten in der Kreuzkorrelationsfunktion. Vergleiche ccf(df1$x,df1$y)und ccf(ddf$dx,ddf$dy).

Kees
quelle
Ich stimme zu, dass die Kreuzkorrelation zeigt, welche Beziehung zwischen den differenzierten Reihen besteht, aber mein Punkt ist, dass diese Reihen hauptsächlich aufgrund der Trends, die durch die Differenzierung beseitigt werden, in Beziehung zu stehen scheinen.
Michael R. Chernick
Beantworten Sie dort nicht Ihre eigene Frage? Es gibt einen gemeinsamen Trend, dem sind wir uns einig. Durch Differenzieren kann man über den Trend hinausblicken: Wie sind Schwankungen um den Trend herum? In diesem Fall tritt die Korrelation zwischen x und y mit Verzögerung 0 und 8 auf. Der Effekt bei Verzögerung 8 ist auch in der Autokorrelation von ddf $ dy sichtbar. Sie würden das nicht wissen, ohne zu differenzieren.
Kees