
Contexto
La base de datos AirPassengers contiene el número mensual de
pasajeros aéreos internacionales entre entre 1949 y 1960 (144
observaciones mensuales).
Esta base de datos es ampliamente utilizada para el análisis de series
de tiempo, reflejando el crecimiento de la industria de la aviación
comercial después de la Segunda Guerra Mundial
Instalar paquetes y llamar
librerías
#install.packages("ggplot2") #Para generar gráficas con mejor diseño
library(ggplot2)
#install.packages("forecast") #Para revisar tendencias y generar pronósticos
library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
Importar base de datos
df <- as.data.frame(AirPassengers)
serie_de_tiempo <- AirPassengers
Identificar patrones o
tendencias
Los 4 componentes de las series de tiempo son:
- Tendencia Ej. Ventas de una tienda en linea debido
al crecimiento del comercio electrónico.
- Ciclo Ej. Las fluctaciones en las ventas de
automóvil a lo largo de los ciclos económicos (expansión y
recesión).
- Patrón Estacional Ej. Aumento en las ventas de
juguetes durante la navidad.
- Aleatorio Ej. Caída de las ventas por un desastre
natural.

ggplot(df, aes(x=time(serie_de_tiempo), y = serie_de_tiempo))+
geom_line(color = "darkgreen")+
labs(title="Número de Pasajeros Aéreos Internacionales", x="Año", y="Número")
## Don't know how to automatically pick scale for object of type <ts>. Defaulting
## to continuous.
## Don't know how to automatically pick scale for object of type <ts>. Defaulting
## to continuous.
Podemos concluir de la gráfica anterior que la base de datos tiene
tendencia creciente y patrón
estacional
Generar pronósticos
# Ajuste de modelo
modelo <- auto.arima(serie_de_tiempo)
# Realizar pronósticos a 12 meses
pronostico <- forecast(modelo, h=12)
# Graficar datos históricos y el pronóstico
autoplot(pronostico) +
labs(title= "Pasajeros Aéreos Internacionales", x = "Año", y = "Número")

# Generar predicción para un mes específico
df_prediccion <- data.frame(Fecha = time(pronostico$mean), Prediccion = as.numeric(pronostico$mean))
df_prediccion[df_prediccion$Fecha == 1961.0, ] # Enero de 1961
## Fecha Prediccion
## 1 1961 445.6349
LS0tCnRpdGxlOiAiQWlyUGFzc2VuZ2VycyIKYXV0aG9yOiAiUm9zdmVsIFJvZHLDrWd1ZXogQTAwODM4NzYzIgpkYXRlOiAiMjAyNC0wOS0xMiIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgIHRoZW1lOiBsdW1lbgotLS0KIVtdKC9Vc2Vycy9yb3N2ZWxyb2RyaWd1ZXovRGVza3RvcC9hdmlvbi5qcGVnKQoKIyA8c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+Q29udGV4dG88L3NwYW4+CkxhIGJhc2UgZGUgZGF0b3MgQWlyUGFzc2VuZ2VycyBjb250aWVuZSBlbCBuw7ptZXJvIG1lbnN1YWwgZGUgcGFzYWplcm9zIGHDqXJlb3MgaW50ZXJuYWNpb25hbGVzIGVudHJlIGVudHJlIDE5NDkgeSAxOTYwICgxNDQgb2JzZXJ2YWNpb25lcyBtZW5zdWFsZXMpLiAgCkVzdGEgYmFzZSBkZSBkYXRvcyBlcyBhbXBsaWFtZW50ZSB1dGlsaXphZGEgcGFyYSBlbCBhbsOhbGlzaXMgZGUgc2VyaWVzIGRlIHRpZW1wbywgcmVmbGVqYW5kbyBlbCBjcmVjaW1pZW50byBkZSBsYSBpbmR1c3RyaWEgZGUgbGEgYXZpYWNpw7NuIGNvbWVyY2lhbCBkZXNwdcOpcyBkZSBsYSAqU2VndW5kYSBHdWVycmEgTXVuZGlhbCoKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBncmVlbjsiPkluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcsOtYXM8L3NwYW4+CmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpICNQYXJhIGdlbmVyYXIgZ3LDoWZpY2FzIGNvbiBtZWpvciBkaXNlw7FvCmxpYnJhcnkoZ2dwbG90MikKI2luc3RhbGwucGFja2FnZXMoImZvcmVjYXN0IikgI1BhcmEgcmV2aXNhciB0ZW5kZW5jaWFzIHkgZ2VuZXJhciBwcm9uw7NzdGljb3MKbGlicmFyeShmb3JlY2FzdCkKYGBgCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBncmVlbjsiPkltcG9ydGFyIGJhc2UgZGUgZGF0b3M8L3NwYW4+CmBgYHtyfQpkZiA8LSBhcy5kYXRhLmZyYW1lKEFpclBhc3NlbmdlcnMpCnNlcmllX2RlX3RpZW1wbyA8LSBBaXJQYXNzZW5nZXJzCmBgYAojIDxzcGFuIHN0eWxlPSAiY29sb3I6IGdyZWVuOyIgPklkZW50aWZpY2FyIHBhdHJvbmVzIG8gdGVuZGVuY2lhczwvc3Bhbj4KTG9zIDQgY29tcG9uZW50ZXMgZGUgbGFzIHNlcmllcyBkZSB0aWVtcG8gc29uOgoKKiAqKlRlbmRlbmNpYSoqIEVqLiBWZW50YXMgZGUgdW5hIHRpZW5kYSBlbiBsaW5lYSBkZWJpZG8gYWwgY3JlY2ltaWVudG8gZGVsIGNvbWVyY2lvIGVsZWN0csOzbmljby4KKiAqKkNpY2xvKiogRWouIExhcyBmbHVjdGFjaW9uZXMgZW4gbGFzIHZlbnRhcyBkZSBhdXRvbcOzdmlsIGEgbG8gbGFyZ28gZGUgbG9zIGNpY2xvcyBlY29uw7NtaWNvcyAoZXhwYW5zacOzbiB5IHJlY2VzacOzbikuCiogKipQYXRyw7NuIEVzdGFjaW9uYWwqKiBFai4gQXVtZW50byBlbiBsYXMgdmVudGFzIGRlIGp1Z3VldGVzIGR1cmFudGUgbGEgbmF2aWRhZC4KKiAqKkFsZWF0b3JpbyoqIEVqLiBDYcOtZGEgZGUgbGFzIHZlbnRhcyBwb3IgdW4gZGVzYXN0cmUgbmF0dXJhbC4KCiFbXSgvVXNlcnMvcm9zdmVscm9kcmlndWV6L0Rlc2t0b3AvdGltZXMgc2VyaWVzLndlYnApCgpgYGB7cn0KZ2dwbG90KGRmLCBhZXMoeD10aW1lKHNlcmllX2RlX3RpZW1wbyksIHkgPSBzZXJpZV9kZV90aWVtcG8pKSsKICBnZW9tX2xpbmUoY29sb3IgPSAiZGFya2dyZWVuIikrCiAgbGFicyh0aXRsZT0iTsO6bWVybyBkZSBQYXNhamVyb3MgQcOpcmVvcyBJbnRlcm5hY2lvbmFsZXMiLCB4PSJBw7FvIiwgeT0iTsO6bWVybyIpCmBgYApQb2RlbW9zIGNvbmNsdWlyIGRlIGxhIGdyw6FmaWNhIGFudGVyaW9yIHF1ZSBsYSBiYXNlIGRlIGRhdG9zIHRpZW5lICoqdGVuZGVuY2lhIGNyZWNpZW50ZSoqIHkgKipwYXRyw7NuIGVzdGFjaW9uYWwqKgoKIyA8c3BhbiBzdHlsZT0gImNvbG9yOiBncmVlbjsiID5HZW5lcmFyIHByb27Ds3N0aWNvczwvc3Bhbj4KCmBgYHtyfQojIEFqdXN0ZSBkZSBtb2RlbG8KbW9kZWxvIDwtIGF1dG8uYXJpbWEoc2VyaWVfZGVfdGllbXBvKQoKIyBSZWFsaXphciBwcm9uw7NzdGljb3MgYSAxMiBtZXNlcwpwcm9ub3N0aWNvIDwtIGZvcmVjYXN0KG1vZGVsbywgaD0xMikKCiMgR3JhZmljYXIgZGF0b3MgaGlzdMOzcmljb3MgeSBlbCBwcm9uw7NzdGljbwphdXRvcGxvdChwcm9ub3N0aWNvKSArIAogIGxhYnModGl0bGU9ICJQYXNhamVyb3MgQcOpcmVvcyBJbnRlcm5hY2lvbmFsZXMiLCB4ID0gIkHDsW8iLCB5ID0gIk7Dum1lcm8iKQoKIyBHZW5lcmFyIHByZWRpY2Npw7NuIHBhcmEgdW4gbWVzIGVzcGVjw61maWNvCmRmX3ByZWRpY2Npb24gPC0gZGF0YS5mcmFtZShGZWNoYSA9IHRpbWUocHJvbm9zdGljbyRtZWFuKSwgUHJlZGljY2lvbiA9IGFzLm51bWVyaWMocHJvbm9zdGljbyRtZWFuKSkKCmRmX3ByZWRpY2Npb25bZGZfcHJlZGljY2lvbiRGZWNoYSA9PSAxOTYxLjAsIF0gICMgRW5lcm8gZGUgMTk2MQpgYGAKCg==