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
?Antworten:
Vorhersageintervalle basieren auf der Restvarianz, die durch die Optimierung der maximalen Wahrscheinlichkeit geschätzt wird.
Ich mag
forecast
Funktion aus demforecast
Paket:das gibt mir die folgenden Vorhersagen:
Das Vorhersageintervall funktioniert wie folgt:
z σyt±zσ wobei ein Multiplikator ist, der Werte wie 1,96 für das 95% -Vorhersageintervall und 1,28 für das 80% annimmt. ist die Standardabweichung der verbleibenden auch prognostizierten Verteilung, die auch die Quadratwurzel von Sigma ^ ist 2 in der Maximum-Likelihood-Schätzung. Da Sie zeigen, dass Sigma ^ 2 (0.01223) in beiden Modellen identisch ist, sind auch die Vorhersageintervalle gleich und stimmen überein.z σ
Wenn Sie es überprüfen möchten,
Obergrenzen:
Untergrenzen:
Dies entspricht dem von der
forecast
Funktion bereitgestellten Vorhersageintervall . Um Ihre Frage zu beantworten,forecast
funktioniert in diesem Fall das Hebelpaket "Ja" und die Vorhersageintervalle sind korrekt.quelle