[R-es] Duda sobre variables de impulso y escalón en series
Justo de Jorge Moreno
justodejorge en gmail.com
Lun Ene 2 10:50:38 CET 2012
Hola y feliz año,
Estoy trabajando por primera vez (igual ando muy pérdido) con el paquete
forecast (modelos ARIMA)(Hyndman y Khandakar 2008) y utilizo series
mensuales de compañías aéreas. Estoy intentando analizar el impacto de
algunos de los acontecimientos que han podido influir en la variable
ingresos por viajero transportado (p.e el atentado del 11 de septiembre,
crisis de la ceniza abril-mayo 2010, crisis). He probado con diferentes
modelos pero no acabo de ver el impacto. Lo que hago es:
1) Estimar el modelo ARIMA
2) Contruir una/s variables de impulso (también escalón)
3) Comparar modelos
He probado diferentes variantes. Parece que el modelo 4 (al final) mejora
los resultados.(Parece que los modelos ARIMA con variables exógenas
funcionan bien con un sólo input)
*\crisis=dummy 1 si t>2007 (variable escalón); 0 otro caso
*\sars(pandemia y 11s) y cen(volcán): dummies sars=> 1 si t>2000 & t<2004 0
otro caso ; dummy cen=>1 si t=abril y mayo 2010 0 otro caso.
*\Modelo_1
xreg<-model.matrix(~as.factor(crisis))
*model1* <- Arima(Y_IB, order=c(0,1,1), seasonal=list(order=c(0,1,1)),
xreg=xreg)
*\Modelo_2
xreg<-model.matrix(~as.factor(sars)+~as.factor(cen))
*model2* <- Arima(Y_IB, order=c(0,1,1), seasonal=list(order=c(0,1,1),
period=12), xreg=xreg)
*\Modelo_3
xreg<-model.matrix(~as.factor(sars)+~as.factor(crisis)+~as.factor(cen))
*model3* <- Arima(Y_IB, order=c(0,1,1), seasonal=list(order=c(0,1,1),
period=12), xreg=xreg)
*\Comparación
ACC <- rbind.fill(data.frame(t(accuracy(model))),
data.frame(t(accuracy(model1))),
data.frame(t(accuracy(model2)))
)
ACC <- round(ACC,2)
ACC <- cbind(Type=c(‘Model1’,’Model2’,’Model3’),ACC)
ACC[order(ACC$MAE),]
Type ME RMSE MAE MPE MAPE MASE
Model2 -8.88 127.93 95.84 -0.29 2.47 0.43
Model3 -8.81 127.90 95.90 -0.29 2.48 0.43
Model1 -7.87 128.72 97.51 -0.26 2.52 0.44
con modelo 2 ó 3 de forma gráfica no queda muy claro (adjunto gráfico)
*\Modelo_4
xreg<-model.matrix(~as.factor(cen))
*model4* <- Arima(Y_IB, order=c(0,1,1), seasonal=list(order=c(0,1,1),
period=12), xreg=xreg)
plot(Y_IB)
lines(fitted(model4),col=2):(de forma gráfica no se aprecia muy bien)
fitted(model4) *\comparo con los valores originales en este caso de Ibería
(Y_IB)
Y_IB
Model4
Abril_2010
4024
3997.621
Mayo_2010
4206
3954.679
Junio_2010
4437
4403.932
Julio_2010
4966
4770.645
Agos_2010
4914
4898.686
Sept_2010
4474
4567.054
Oct_2010
4566
4524.261
Nov_2010
4022
4112.943
Dic_2010
3993
4071.653
Alguien podría ayudarme.
Gracias por anticipado
Justo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120102/113b9db0/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: serie_IB.png
Type: image/png
Size: 7861 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120102/113b9db0/attachment-0001.png>
Más información sobre la lista de distribución R-help-es