La arimax
función en el TSA
paquete es, que yo sepa, el único R
paquete que se ajustará a una función de transferencia para los modelos de intervención. Sin embargo, carece de una función de predicción que a veces es necesaria.
¿Es lo siguiente una solución alternativa para este problema, aprovechando el excelente forecast
paquete? ¿Los intervalos predictivos serán correctos? En mi ejemplo, los errores estándar son "cercanos" para los componentes.
- Use la función arima del paquete de pronóstico para determinar la serie de ruido previa a la intervención y agregar cualquier ajuste atípico.
- Encaja en el mismo modelo
arimax
pero agrega la función de transferencia - Tome los valores ajustados para la función de transferencia (coeficientes de
arimax
) y agréguelos como xreg inarima
. - Pronóstico con
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
Salida:
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
Este es el filtro, extendido 5 períodos más que los datos
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
Salida:
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
Entonces para predecir
predict(forecast.arima,n.ahead = 5, newxreg=tf[114:length(tf)])
tf <- filter(...)
... Estoy perdido. ¿Tienes algún consejo para entenderlo? ¿Qué pasaría si tuviera:I911-AR1: 0.55
,I911-AR2: 0.66
,I911-MA0: 0.49
,I911-MA1: 0.39
?Respuestas:
Los intervalos de predicción se basan en la varianza residual estimada por la optimización de máxima verosimilitud.
Me gusta la
forecast
función delforecast
paquete:lo que me da las siguientes predicciones:
la forma en que funciona el intervalo de predicción es mediante la siguiente fórmula:
Si quieres comprobarlo,
Límites superiores
Límites inferiores
que coincide con el intervalo de predicción proporcionado por la
forecast
función. Para responder a su pregunta, sí, elforecast
paquete de apalancamiento funcionará en este caso y los intervalos de predicción serán correctos.fuente