Die arimax
Funktion im TSA
Paket ist meines Wissens das einzige R
Paket, das für eine Übertragungsfunktion für Interventionsmodelle geeignet ist. Es fehlt jedoch eine Vorhersagefunktion, die manchmal benötigt wird.
Ist das Folgende eine Problemumgehung für dieses Problem, bei der das hervorragende forecast
Paket genutzt wird? Werden die Vorhersageintervalle korrekt sein? In meinem Beispiel sind die Standardfehler für die Komponenten "nah".
- Verwenden Sie die Arima-Funktion des Prognosepakets, um die Geräuschreihen vor dem Eingriff zu bestimmen und Ausreißeranpassungen hinzuzufügen.
- Passen Sie das gleiche Modell an
arimax
, fügen Sie jedoch die Übertragungsfunktion hinzu - Nehmen Sie die angepassten Werte für die Übertragungsfunktion (Koeffizienten von
arimax
) und addieren Sie sie als xreg inarima
. - Prognose mit
arima
library(TSA) library(forecast) data(airmiles) air.m1<-arimax(log(airmiles),order=c(0,0,1), xtransf=data.frame(I911=1*(seq(airmiles)==69)), transfer=list(c(1,0)) )
air.m1
Ausgabe:
Coefficients:
ma1 intercept I911-AR1 I911-MA0
0.5197 17.5172 0.5521 -0.4937
s.e. 0.0798 0.0165 0.2273 0.1103
sigma^2 estimated as 0.01223: log likelihood=88.33
AIC=-168.65 AICc=-168.09 BIC=-155.02
Dies ist der Filter, der um weitere 5 Zeiträume erweitert wurde als die Daten
tf<-filter(1*(seq(1:(length(airmiles)+5))==69),filter=0.5521330,method='recursive',side=1)*(-0.4936508)
forecast.arima<-Arima(log(airmiles),order=c(0,0,1),xreg=tf[1:(length(tf)-5)])
forecast.arima
Ausgabe:
Coefficients:
ma1 intercept tf[1:(length(tf) - 5)]
0.5197 17.5173 1.0000
s.e. 0.0792 0.0159 0.2183
sigma^2 estimated as 0.01223: log likelihood=88.33
AIC=-168.65 AICc=-168.28 BIC=-157.74
Dann vorauszusagen
predict(forecast.arima,n.ahead = 5, newxreg=tf[114:length(tf)])
tf <- filter(...)
... Ich bin verloren. Hast du irgendwelche Tipps, um es zu verstehen? Was würde passieren , wenn ich hatte: I911-AR1: 0.55
, I911-AR2: 0.66
, I911-MA0: 0.49
, I911-MA1: 0.39
?