Trabajo No 3. Curso Series de Tiempo y Econometría Maestría en Ing. Administrativa - EIO Junio – 2009 Norman Giraldo Gómez Objetivo El objetivo del trabajo es analizar una serie de tiempo utilizando las dos metodologías que se introdujeron en el curso: los modelos de descomposición y los modelos ARIMA. Los puntos consisten en desarrollar los dos modelos mencionados utilizando la función arima( ). Cada punto va acompañado de unas instrucciones en R. Sin embargo, cada quien debe llenar los detalles que hagan falta para tener un programa completo. Datos Cada persona tiene asignada una serie de la lista siguiente: 1. Consumo de agua mensual en el área metropolitana en metros cúbicos, por estrato, para los estratos 1,2,3,4,5,6, incluyendo el consumo total. Desde enero de 2002. En total son 7 series que se identificarán con los nombres : consumo 1, consumo 2, …, consumo 6, consumo total. Los datos están en el archivo “consumo.dat”, en la página del curso. 2. Consumo de gas, trimestral, en el Reino Unido entre 1960 y 1986 en millones de therms ( 1 therm, unidad de energía calórica = 29.3 KWH). Esta serie está dentro del R en la base de datos que viene con el software. Se carga en el programa escribiendo simplemente: y = gasUK. Puntos. 1. Declare la series un objeto “ts”, con la frecuencia correspondiente a la definción de la serie: trimestral (s=4) ó mensual, (s=12). 2. Obtenga una estimación de la tendencia y la estacionalidad con el filtro stl. Se asumirá que existe tanto tendencia lineal como componente estacional, al menos inicialmente, antes de ajustar los dos tipos de modelos. Utilice la instrucción m2 = stl(y, s.window = 'per') 3. Ajuste un modelo con tendencia lineal, estacionalidad y componente aleatoria tipo ARMA-ARIMA, usando las instrucciones siguientes. Y calcule pronósticos a 4 años. Supongamos que la serie es “y”. Use las instrucciones siguientes. source("crear_patron_estacional.r") s = 12 n = length(y) It = crear_patron_estacional(s,n) t = seq(1,n,1) X = It[,1:(s-1)] m1 = arima(y, order = c(0,0,0), xreg = data.frame(t,X)) summary(m1) et = m1$residuals tsdisplay(et) NOTA: en m1 están los resultados de la estimación del modelo y(t) a bt s 1 j Ij(t) e(t) j1 e(t) RB(0, 2 ) 1 Supongamos que e(t) no resulta ruido blanco, sino que determinamos que es AR(4), a partir del resultado de tsdisplay(et) ó de la aplicación de auto.arima(et). Entonces se re-estima el modelo colocando m2 = arima(y, order = c(4,0,0), xreg = data.frame(t,X)) summary(m2) et = m2$residuals tsdisplay(et) NOTA: en m2 están los resultados de la estimación del modelo y(t) a bt s 1 j Ij(t) e(t) j1 e(t) AR(4) Antes de realizar pronósticos, comprobar que los residuos et son ruido blanco. Reporte la gráfica de fac y facp. Prueba LB. Para los pronósticos, primero se generan los valores de t y las variables estacionales para 4 años. Utilice las instrucciones siguientes Itp = crear_patron_estacional(s,s*4) tp = seq(n+1,n+4*s,1) Itpa = Itp[,1:(s-1)] ypred1 = (predict(m1, n.ahead = 4*s, newxreg = data.frame(tp,X=Itpa), se.fit = TRUE)) ypred.1 = ypred1$pred plot(tt,c(y,ypred.1), type = 'l', col='red',lty=2 ) lines(tp,ypred.1, col='dark red') Llame este gráfico Gráfica No 1. 4. Ajuste un modelo SARIMA o ARIMA para los datos en y. El objetivo es comparar los pronósticos de estos modelos con los del modelo de descomposición que está en la Gráfica No 1. Aplique la función auto.arima( ), estime el modelo y calcule los pronósticos. Utilice los siguientes comandos. auto.arima(y) Supongamos que auto.arima detecta el modelo arima(2,1,1)(1,0,1)12 entonce se programa m2 = arima(y,order=c(2,1,1),seasonal=list(order=c(1,0,1), period = s)) summary(m2) et = m2$residuals tsdisplay(et) Asegúrese que los residuos et son ruido blanco para poder proceder a calcular los pronósticos ypreda = predict(m4, n.ahead = 4*s, se.fit = TRUE) y.pred = ypreda$pred plot(tt,c(y,y.pred), type = 'l', col='red',lty=2 ) lines(tp,y.pred, col='dark red') Llame la gráfica anterior Gráfica No 2. 5. Por último ajuste el modelo SARIMA(0,1,1)(0,1,1)s , es decir, el modelo “airline”, a la serie y, y calcule pronósticos durante 4 años. Las instrucciones son completamente iguales al punto 3. Llame la gráfica de los pronósticos Gráfica No 3. 2 6. Reporte las tres gráficas de los pronósticos. Reporte una tabla con los valores de BIC y MAPE para los tres modelos: descomposición, arima, airline. Finalmente, recomiende uno de los tres para pronóstico. Y reporte los pronósticos (cifras). 7. Coloque algunas conclusiones que considere de importancia. Algunas sugerencias pueden ser las siguientes preguntas. a. Para la serie de consumo de gas, es recomendable usar logaritmo?. Por qué?. b. Para la serie de consumo de gas, si se observan las amplitudes de la componente estacional parecen constantes de 1960 a 1971, pero luego se incrementan de 1971 a 1979, y luego se estabilizan, esto invalida el modelo de descomposición que asume una estacionalidad global y favorece el modelo SARIMA? c. En las series de consumo de agua, si se coloca la instrucción t1 = m1$time.series[,2] y se grafica la serie x = diff(t1,1), se obtiene una estimación de una tasa de consumo en metros cúbicos por mes. Qué puede comentar sobre esa gráfica? d. Para la serie de consumo de gas, si se estima la tendencia con la instrucción de la parte c., se observa algo particular?. Se puede estimar la tasa de consumo trimestral?. e. Qué características tiene el consumo en estrato 6 ? . Por ejemplo, en la componente estacional?. Asignación de los Datos Estudiante Serie Felipe Abaunza Osorio Consumo total Mileidi Isabel Corpus Grey Consumo 2 Mario Alberto Herrera Escorcia Consumo 3 Johana Alexandra Jaramillo Chaparro Consumo 4 Federico Andres Lievano Martinez Consumo 6 Jorge Ivan Madrid Echeverry Consumo 6 Viviana Maria Rueda Mejia Consumo 6 Oscar Andres Saenz Ruiz Consumo gas UK Alexander Tabares Osorio Consumo total Natalia Velez Vargas Consumo 5 Juan Gabriel Villada Oquendo Consumo gas UK 3