Folgen der Modellierung eines instationären Prozesses mit ARMA?


23

Ich verstehe, wir sollten ARIMA zur Modellierung einer instationären Zeitreihe verwenden. Nach allem, was ich lese, sollte ARMA nur für stationäre Zeitreihen verwendet werden.

Ich versuche zu verstehen, was in der Praxis passiert, wenn ein Modell falsch klassifiziert wird und d = 0für eine Zeitreihe angenommen wird, die nicht stationär ist. Beispielsweise:

controlData <- arima.sim(list(order = c(1,1,1), ar = .5, ma = .5), n = 44)

Steuerdaten sehen folgendermaßen aus:

 [1]   0.0000000   0.1240838  -1.4544087  -3.1943094  -5.6205257
 [6]  -8.5636126 -10.1573548  -9.2822666 -10.0174493 -11.0105225
[11] -11.4726127 -13.8827001 -16.6040541 -19.1966633 -22.0543414
[16] -24.8542959 -25.2883155 -23.6519271 -21.8270981 -21.4351267
[21] -22.6155812 -21.9189036 -20.2064343 -18.2516852 -15.5822178
[26] -13.2248230 -13.4220158 -13.8823855 -14.6122867 -16.4143756
[31] -16.8726071 -15.8499558 -14.0805114 -11.4016515  -9.3330560
[36]  -7.5676563  -6.3691600  -6.8471371  -7.5982880  -8.9692152
[41] -10.6733419 -11.6865440 -12.2503202 -13.5314306 -13.4654890

Angenommen, ich wüsste nicht, dass es sich um Daten handelt ARIMA(1,1,1), könnte ich einen Blick darauf werfen pacf(controlData).

pacf (controlData)

Dann benutze ich Dickey-Fuller, um zu sehen, ob die Daten nicht stationär sind:

require('tseries')
adf.test(controlData)

# Augmented Dickey-Fuller Test
#
# data:  controlData
# Dickey-Fuller = -2.4133, Lag order = 3, p-value = 0.4099
# alternative hypothesis: stationary

adf.test(controlData, k = 1)

# Augmented Dickey-Fuller Test
#
#data:  controlData
# Dickey-Fuller = -3.1469, Lag order = 1, p-value = 0.1188
# alternative hypothesis: stationary

Ich könnte also annehmen, dass es sich bei den Daten um ARIMA (2,0, *) handelt. auto.arima(controlData)Versuchen Sie dann, eine optimale Anpassung zu erzielen?

require('forecast')
naiveFit <- auto.arima(controlData)
naiveFit
# Series: controlData 
# ARIMA(2,0,1) with non-zero mean 
# 
# Coefficients:
#          ar1      ar2     ma1  intercept
#      1.4985  -0.5637  0.6427   -11.8690
# s.e.  0.1508   0.1546  0.1912     3.2647
#
# sigma^2 estimated as 0.8936:  log likelihood=-64.01
# AIC=138.02   AICc=139.56   BIC=147.05

Obwohl die vergangenen und zukünftigen Daten ARIMA (1,1,1) sind, könnte ich versucht sein, sie als ARIMA (2,0,1) zu klassifizieren. tsdata(auto.arima(controlData))sieht auch gut aus.

Hier ist, was ein informierter Modellierer finden würde:

informedFit <- arima(controlData, order = c(1,1,1))
# informedFit
# Series: controlData 
# ARIMA(1,1,1)                    
#
# Coefficients:
#          ar1     ma1
#       0.4936  0.6859
# s.e.  0.1564  0.1764
#
# sigma^2 estimated as 0.9571:  log likelihood=-62.22
# AIC=130.44   AICc=131.04   BIC=135.79

1) Warum sind diese Informationskriterien besser als das von ausgewählte Modell auto.arima(controlData)?

Jetzt vergleiche ich nur grafisch die realen Daten und die 2 Modelle:

plot(controlData)
lines(fitted(naiveFit), col = "red")
lines(fitted(informedFit), col = "blue")

tsPlots

2) Als Anwalt des Teufels, welche Konsequenzen hätte ich, wenn ich ein ARIMA (2, 0, 1) als Modell verwenden würde? Was sind die Risiken dieses Fehlers?

3) Ich bin hauptsächlich besorgt über mögliche Auswirkungen auf Vorwärtsvorhersagen für mehrere Zeiträume. Ich nehme an, sie wären weniger genau? Ich suche nur einen Beweis.

4) Würden Sie eine alternative Methode für die Modellauswahl vorschlagen? Gibt es irgendwelche Probleme mit meiner Argumentation als "uninformierter" Modeler?

Ich bin wirklich neugierig, was die anderen Konsequenzen dieser Art von Fehlklassifizierung sind. Ich habe nach Quellen gesucht und konnte einfach nichts finden. Die gesamte Literatur, die ich finden konnte, berührt nur dieses Thema. Stattdessen sollte angegeben werden, dass die Daten vor der Ausführung von ARMA stationär sein sollten. Wenn sie nicht stationär sind, müssen sie d-mal differenziert werden.

Vielen Dank!


Mein Eindruck ist, dass es analog zu der Annahme "orthogonaler Fehler" bei der Querschnittsregression ist (dh es spannt die Standardfehler aber nicht die Koeffizienten vor), aber ich bin wirklich daran interessiert, die tatsächliche Antwort zu hören.
Shadowtalker

Antworten:


11

Mein Eindruck ist, dass diese Frage keine eindeutige, allgemein gültige Antwort hat. Ich werde daher nur den einfachsten und etwas informellen Fall untersuchen.

Angenommen, der wahre ist mit einer üblichen Mittelwert-Null iid-Weißrauschkomponente, . Das oben Gesagte impliziert auch das

(1)yt=yt1+ut,t=1,...,T,y0=0
utE(ut2)=σu2

(2)yt=i=1tui

Wir spezifizieren ein Modell, nennen es ModellA

(3)yt=βyt1+ut,t=1,...,T,y0=0

und wir erhalten eine Schätzung für die postulierte (lassen Sie uns die Schätzmethode nur dann besprechen, wenn Bedarf besteht).β^β

So wird eine Schritte-Voraussage seink

(4)y^T+k=β^kyT

und seine MSE wird sein

MSEA[y^T+k]=E(β^kyTyT+k)2

(5)=E[(β^k1)yTi=T+1T+kui]2=E[(β^k1)2yT2]+kσu2

(Der mittlere Term des Quadrats verschwindet ebenso wie die Kreuzprodukte zukünftiger Fehler).

Angenommen, wir haben unsere Daten differenziert und ein ModellB

(6)Δyt=γΔyt1+ut

und erhielt eine Schätzung . Unser differenziertes Modell kann geschrieben werdenγ^

(7)yt=yt1+γ(yt1yt2)+ut

Wir werden also die Ebene des Prozesses vorhersagen

y^T+1=yT+γ^(yTyT1)

was in Wirklichkeit angesichts der wahren DGP sein wird

(8)y^T+1=yT+γ^uT

Es ist einfach , dass, für das Modell zu überprüfen , dann ,B

y^T+k=yT+(γ^+γ^2+...+γ^k)uT

Wir gehen davon aus, dass wir bei jedem "getesteten und ausprobierten" Schätzverfahren da sein wahrer Wert , es sei denn, wir haben zu wenige Daten oder sind in einem sehr "schlechten" Zustand . Wir können also sagen, dass wir in den meisten Fällen haben werden|γ^|<10

(9)y^T+k=yT+γ^γ^k+11γ^uT

und so

(10)MSEB[y^T+k]=E[(γ^γ^k+11γ^)2uT2]+kσu2

während ich der Einfachheit halber wiederhole

(5)MSEA[y^T+k]=E[(β^k1)2yT2]+kσu2

Damit das differenzierte Modell in Bezug auf die Vorhersage-MSE eine bessere Leistung erbringt, möchten wir

MSEB[y^T+k]MSEA[y^T+k]

E[(γ^γ^k+11γ^)2uT2]E[(β^k1)2yT2]

Wie beim Schätzer in Modell gilt für den Schätzer in Modell die gleiche Höflichkeit : Wir gehen vernünftigerweise davon aus, dass "nahe an der Einheit" sein wird. BAβ^

Es ist offensichtlich, dass wenn es so kommt, dass , die Menge auf der rechten Seite der Ungleichung tendenziell ansteigt, ohne gebunden zu sein, da , die Anzahl der vorausgesagten Schritte, zunimmt. Andererseits kann die Menge der gewünschten Ungleichung auf der linken Seite mit zunehmendem zunehmen, sie hat jedoch eine obere Schranke . In diesem Szenario erwarten wir, dass das differenzierte Modell in Bezug auf die Vorhersage der MSE besser als Modell . β^>1kkBA

Nehmen wir jedoch an, es sei vorteilhafter, Fall zu modellieren , bei dem . Dann hat auch die rechtsseitige Menge eine Schranke. Dann müssen wir als prüfen, obAβ^<1k

E[(γ^1γ^)2uT2]E[yT2]=Tσu2??

(das ist eine Annehmlichkeit - in Wirklichkeit werden beide Größen bereits für kleine Werte von nahe an ihrem Suprema sein ). kk

Beachten Sie, dass der Ausdruck "ziemlich nahe" bei , sodass Modell dieser Hinsicht einen Vorteil hat. (γ^1γ^)20B

Wir können den verbleibenden erwarteten Wert nicht trennen, da der Schätzer nicht unabhängig von . Aber wir können die Ungleichung in verwandelnγ^uT

Cov[(γ^1γ^)2,uT2]+E[(γ^1γ^)2]σu2Tσu2??

Cov[(γ^1γ^)2,uT2](TE[(γ^1γ^)2])σu2??

Nun wird erwartet, dass die Kovarianz auf der linken Seite klein ist, da der Schätzer von allen Fehlern abhängt . Auf der anderen Seite der Ungleichung stammt aus einem stationären Datensatz, und daher wird erwartet, dass der erwartete Wert der obigen Funktion viel geringer ist als die Größe der Stichprobe (da mehr über diese Funktion reicht) in ). T γ (0,1)γ^Tγ^(0,1)

Ohne eine bestimmte Schätzmethode zu erörtern, konnte meines Erachtens informell gezeigt werden, dass mit dem differenzierten Modell eine bessere Leistung in Bezug auf die Vorhersage von MSE zu erwarten ist.


1

Das ist eine gute Frage.

Wie mir klar ist, haben Sie gerade über pacf nachgedacht, aber das ist nicht genug. ACF und PACF sind beide erforderlich, um das beste Modell auszuwählen.

Auf der anderen Seite sind stationäre Tests schwach und empfindlich und erfordern eine große Anzahl zu testender Verzögerungen.

Außerdem ist es bevorzugt, Zeitreihen stationär zu machen, bevor ein Modell angewendet wird. Grob gesagt, betrachten ARIMA-Modelle nur einen speziellen Fall, in dem sie nicht stationär sind (vorzugsweise im Trend).

Bei Ihren Fragen bin ich mir nicht sicher, ob auto.arima funktioniert, aber ich bin mir sicher, dass die Anzahl der Datenpunkte in Ihrem Beispiel gering ist. Das Simulieren eines Modells unter Verwendung einer großen Anzahl von Datenpunkten würde Ihre Fragen gut beantworten. Außerdem rate ich Ihnen, sowohl ACF-Zeitreihen als auch PACF zu berücksichtigen. Bei der Modellauswahl gilt als Faustregel das einfachste Modell (beachten Sie, dass das einfachste Modell nach dem Festlegen der Zeitreihen stationär ist).

Ich verweise Sie auf diese Referenz. Dieses Buch beantwortet nicht alle Ihre Fragen, sondern gibt Ihnen einige Hinweise.

----- komplementärer Abschnitt ------- @nsw unter Berücksichtigung eines Trends in Ihren Daten. Wenn Sie ein stationäres Modell in Betracht ziehen, führt dies zu einer Aufwärts- / Abwärtsvorhersage. Tatsächlich sind ARMA-Modelle jedoch darauf ausgelegt, flache Daten vorherzusagen. Ich habe Ihren Code geändert, um diesen Unterschied widerzuspiegeln:

erfordern ('Prognose')

erfordern ('tseries')

controlData <- arima.sim (list (order = c (1,1,1), ar = 0,5, ma = 0,5), n = 1000 )

acf (controlData)

ts.plot (controlData)

naiveFit <- arima (controlData, order = c (2,0,1))

trueFit <- arima (controlData, order = c (1,1,1))

PrnaiveFit <-forecast.Arima (naiveFit, 10)

PrtrueFit <- forecast.Arima (trueFit, 10)

matplot (cbind (PrnaiveFit $ mean, PrtrueFit $ mean), type = 'b', col = c ('red', 'green'), ylab = c ('predict ion'), pch = c ('n', 't'))


1
Die Frage ist, warum es bevorzugt wird, "Zeitreihen stationär zu machen". Dies beantwortet diese Frage nicht wirklich.
Shadowtalker

@ssdecontrol Sie haben im Allgemeinen Recht. Ich mache mir wirklich mehr Sorgen über die impliziten Konsequenzen für die Vorhersage nach einer Fehlspezifikation. Aber ich möchte Hamed nicht zu sehr verprügeln. Er ging immer noch auf meine letzte Frage ein: "Ist dies der richtige Weg, ein Modell auszuwählen?" Aber um es noch einmal zu wiederholen, das ist das Wenigste, was mich hier beschäftigt.
Clark Henry
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.