Justo de Jorge Moreno
2012-Jan-02 09:50 UTC
[R-es] Duda sobre variables de impulso y escalón en series
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: <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: <stat.ethz.ch/pipermail/r-help-es/attachments/20120102/113b9db0/attachment-0001.png>
Carlos Ortega
2012-Jan-03 17:45 UTC
[R-es] Duda sobre variables de impulso y escalón en series
Hola Justo, Feliz Año. Como referencia que creo que puede ser de gran utilidad, tienes un análisis equivalente completamente desarrollado en el libro: Séries temporelles avec R. Yves Aragon Springer 2011. El capítulo 8, "Trafic mensuel de l''aéroport de Toulouse-Blagnac" desarrolla justamente el caso de si el 9/11 tuvo o no impacto en el tráfico de ese aeropuerto, bajo diferentes asunciones y valorando diferentes modelos. Espero que puedas encontrar la manera de acceder al libro... Saludos, Carlos Ortega qualityexcellence.es El 2 de enero de 2012 10:50, Justo de Jorge Moreno <justodejorge@gmail.com>escribió:> 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 > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]