### Establecemos el directorio de trabajo # setwd("F:/German/Docencia/POP/09-10/Apuntes") setwd("C:/MASTER-Profesores/Germán/09-10") ##################################### ### Serie "Producto Interior Bruto" ##################################### ### Importamos las observaciones, construimos un objeto de la clase "time series" y dibujamos el gráfico de secuencia pib <- scan("pib.txt") pib.ts <- ts(pib, start=1960) windows() plot(pib.ts, type="o", xlab="Año", ylab="PIB (en miles de euros)") ### Estimamos la tendencia a través de una suavización 5 MA, y también a través de una 11 MA tendencia5 <- filter(pib.ts, sides=2, rep(1/5,5)) tendencia11 <- filter(pib.ts, sides=2, rep(1/11,11)) ### Estimamos la componente irregular a5 <- pib.ts-tendencia5 a11 <- pib.ts-tendencia11 ### Dibujamos la serie junto con las dos estimaciones de su tendencia windows() ts.plot(cbind(pib, tendencia5, tendencia11), lty=c("solid", "dashed", "dashed"), col=c("black", "blue", "red"), xlab="Año", ylab="PIB") ### Dibujamos las dos estimaciones de la componente irregular windows() ts.plot(cbind(a5, a11), type="o", lty="dashed", col=c("blue", "red"), xlab="Año", ylab="Random") abline(0,0) ### Dibujamos la descomposición clásica (k=11) windows() par(mfrow=c(3,1)) plot(pib.ts, xlab="Año", ylab="PIB") plot(tendencia11, xlab="Año", ylab="Tendencia") plot(a11, xlab="Año", ylab="Random") # Ídem,pero de otra forma windows() plot(cbind(pib.ts, tendencia11, a11), xlab="Año", main="") ##################################### ### Serie "Temperatura" ##################################### ### Importamos las observaciones, construimos un objeto de la clase "time series" y dibujamos el gráfico de secuencia temperatura <- scan("temperatura.txt") temperatura.ts <- ts(temperatura, start=c(1988, 1), frequency=12) windows() plot(temperatura.ts, type="o", xlab="Año", ylab="Temperatura (ºC)") ### Estimamos la temperatura media media <- mean(temperatura.ts) media ### Estimamos los índices estacionales S_1,...,S_12 S <- 0 for (i in 1:12) S[i] <- mean(window(temperatura.ts, start=c(1988,i), freq=TRUE)) - media S ### Estimamos la componente irregular a <- temperatura.ts - media - S ### Dibujamos la serie junto con el ajuste S.ts <- ts(S, start=start(temperatura.ts), end=end(temperatura.ts), frequency=frequency(temperatura.ts)) windows() ts.plot(cbind(temperatura.ts, media + S.ts), lty=c("solid", "dashed"), col=c("black", "red"), xlab="Año", ylab="Temperatura") ### Dibujamos la estimación de la componente irregular windows() plot(a, type="o", lty="dashed", col="blue", xlab="Año", ylab="Random") abline(0,0) ### Dibujamos la descomposición clásica (aditiva) media.ts <- ts(media, start=start(temperatura.ts), end=end(temperatura.ts), frequency(temperatura.ts)) windows() par(mfrow=c(4,1)) plot(temperatura.ts, xlab="Año", ylab="Temperatura") plot(media.ts, xlab="Año", ylab="Temperatura media") plot(S.ts, xlab=" ", ylab="C. estacional") plot(a, xlab="Año", ylab="Random") # Ídem,pero de otra forma windows() plot(cbind(temperatura.ts, media.ts, S.ts, a), xlab="Año", main="") ### Dibujamos un diagrama de barras de los índices estacionales mes <- c("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic") windows() barplot(S, names.arg=mes) ##################################### ### Serie "Turismo" ##################################### ### Importamos las observaciones, construimos un objeto de la clase "time series" y dibujamos el gráfico de secuencia turismo <- scan("turismo.txt") turismo.ts <- ts(turismo, start=c(1995, 1), frequency=12) windows() plot(turismo.ts, type="o", xlab="Año", ylab="Turismo (en miles)") ### Obtenemos la descomposición clásica (aditiva) turismo.descomposicion <- decompose(turismo.ts, type="additive") ### Dibujamos la tendencia estimada y los valores ajustados superpuestos windows() ts.plot(cbind(turismo.descomposicion$trend, turismo.descomposicion$trend + turismo.descomposicion$seasonal), lty=c("solid", "dashed"), col=c("black", "red"), xlab="Año", ylab="Turismo") ### Dibujamos la serie junto con el ajuste windows() ts.plot(cbind(turismo.ts, turismo.descomposicion$trend + turismo.descomposicion$seasonal), lty=c("solid", "dashed"), col=c("black", "red"), xlab="Año", ylab="Turismo") ### Dibujamos la estimación de la componente irregular windows() plot(turismo.descomposicion$random, type="o", col="blue", xlab="Año", ylab="Random") abline(0,0) ### Dibujamos la descomposición clásica (aditiva) windows() plot(turismo.descomposicion, xlab="Año") ### Dibujamos un diagrama de barras de los índices estacionales (aditivos) mes <- c("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic") windows() barplot(turismo.descomposicion$figure, names.arg=mes) ##################################### ### Serie "Consumo de electricidad" ##################################### ### Importamos las observaciones, construimos un objeto de la clase "time series" y dibujamos el gráfico de secuencia electricidad <- scan("consumo_electricidad.txt") electricidad.ts <- ts(electricidad, start=c(1972, 1), frequency=12) windows() plot(electricidad.ts, type="o", xlab="Año", ylab="Consumo de electricidad") ### Obtenemos la descomposición clásica (multiplicativa) electricidad.descomposicion <- decompose(electricidad.ts, type="multiplicative") ### Dibujamos la tendencia estimada y los valores ajustados superpuestos windows() ts.plot(cbind(electricidad.descomposicion$trend, electricidad.descomposicion$trend * electricidad.descomposicion$seasonal), lty=c("solid", "dashed"), col=c("black", "red"), xlab="Año", ylab="Consumo de electricidad") ### Dibujamos la serie junto con el ajuste windows() ts.plot(cbind(electricidad.ts, electricidad.descomposicion$trend * electricidad.descomposicion$seasonal), lty=c("solid", "dashed"), col=c("black", "red"), xlab="Año", ylab="Turismo") ### Dibujamos la estimación de la componente irregular windows() plot(electricidad.descomposicion$random, type="o", col="blue", xlab="Año", ylab="Random") abline(1,0) ### Dibujamos la descomposición clásica (multiplicativa) windows() plot(electricidad.descomposicion, xlab="Año") ### Dibujamos un diagrama de barras de los índices estacionales (multiplicativos) mes <- c("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic") windows() barplot(electricidad.descomposicion$figure, names.arg=mes) ################# ### EJERCICIO ### ################# (a) Aplícale a la serie electricidad.ts la aplicación logaritmo neperiano (log(.)), y haz un estudio descriptivo de la la serie transformada. (b) A partir de la descomposición de la serie transformada obtenida en el apartado (a), obtén una descomposición para la serie original. (c) Compara las descomposición obtenida en el apartado (b) con la obtenida en el ejemplo anterior.