Ich habe auto.arima verwendet, um ein Zeitreihenmodell anzupassen (eine lineare Regression mit ARIMA-Fehlern, wie auf Rob Hyndmans Website beschrieben). und meldet Werte von Informationskriterien als zurück
AIC: 2989,2 AICC: 2989,3 BIC: 3261,2
Wenn ich Arima verwende, um ein Modell mit einem (1,1,1) mit Driftstruktur anzupassen, meldet die Ausgabe deutlich niedrigere ICs von
AIC: 2510,3 AICC: 2510,4 BIC: 2759
Ich kann auto.arima zwingen, das (1,1,1) mit Drift-Modell (unter Verwendung der Parameter start.p und start.q) zu berücksichtigen, und wenn ich das tue, und "trace = TRUE" setzen - das sehe ich Das (1,1,1) mit Drift-Modell wird von auto.arima berücksichtigt, aber abgelehnt. Es wird immer noch das (5,1,0) mit Driftmodell als bestes Ergebnis zurückgemeldet.
Gibt es Umstände, unter denen auto.arima andere Kriterien verwendet, um zwischen Modellen zu wählen?
Zum Hinzufügen bearbeitet (als Antwort auf Anfrage)
Daten für dieses Beispiel finden Sie in dieser Google-Tabelle
und R-Code zum Reproduzieren des Beispiels ist
repro = read.csv("mindata.csv")
reprots = ts(repro, start=1, frequency=24)
fitauto = auto.arima(reprots[,"lnwocone"],
xreg=cbind(fourier(reprots[,"lnwocone"], K=11),
reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]),
start.p=1, start.q=1, trace=TRUE, seasonal=FALSE)
fitdirect <- Arima(reprots[,"lnwocone"], order=c(1,1,1), seasonal=c(0,0,0),
xreg=cbind(fourier(reprots[,"lnwocone"], K=11),
reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]), include.drift=TRUE)
summary(fitauto)
summary(fitdirect)
Entschuldigung, wenn die Google-Dokumente Daten - Inline-Code ist nicht der beste Weg, um das Beispiel bereitzustellen. Ich glaube, ich habe in der Vergangenheit Richtlinien gesehen, wie dies am besten funktioniert - konnte diese Richtlinien jedoch heute Morgen bei der Suche nicht finden.
Antworten:
auto.arima
verwendet einige Näherungswerte, um die Verarbeitung zu beschleunigen. Das endgültige Modell wird mit vollständigem MLE angepasst, aber auf dem Weg werden die Modelle mithilfe von CSS geschätzt, sofern Sie nicht das Argument verwendenapproximation=FALSE
. Dies wird in der Hilfedatei erklärt:Die Standardeinstellung ist
approximation=(length(x)>100 | frequency(x)>12)
wiederum in der Hilfedatei angegeben. Da Sie 17544 Beobachtungen haben, gibt die Standardeinstellung anapproximation=TRUE
.Unter Verwendung der Näherungen wurde als bestes Modell eine Regression mit ARIMA (5,1,0) -Fehlern mit AICc von 2989,33 gefunden. Wenn Sie die Näherungen deaktivieren, weist das beste Modell ARIMA (2,1,1) -Fehler mit einem AICc von 2361,40 auf.
quelle