Contexto

La base de datos AirPassangers contiene el número mensual de pasajeros aéreos internacionales antre 1949 y 1960 (144 observaciones mensaules).
Esta base de datos es apmliamente utilizada para el ánalisis de serires de tiempo, reflejando el crecimiento de la industria de la aviación comercial después de la Segunda Guerra Mundial

Intalar paquetes y llamar librerias

# install.packages("ggplot2")
library(ggplot2)
# install.packages("forecast")
library(forecast)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo

Importar la 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:

  • Tendencias Ej. Aumento de las ventas de una tienda en lñinea debido al crecimiento del comercio electrónico.
  • Ciclo Ej. Las fluctuaciones en las ventas de automóviles a lo largo de los ciclos econónmicos (expansión y recesión).
  • Patron Estacional Ej. Aumento en las ventas de juguetes durante la navidadl
  • 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.

Genrar pronósticos

# Ajuste de modelo
modelo <- auto.arima(serie_de_tiempo)

# Realizar pronóstico a 12 meses
pronostico <- forecast(modelo, h=12)

# Graficar datos históricos + pronóstico
autoplot(pronostico) +
  labs(title = "Número de Pasajeros Aéreos Internacionales", x= "Año", y= "Número")

# Generar predicción para un mes especifico
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
LS0tCnRpdGxlOiAiQWlyIFBhc3NhbmdlcnMiCmF1dGhvcjogIlNhbnRpYWdvIFJ1YmlvIEEwMTU3MDk2NiIKZGF0ZTogIjIwMjQtMDktMTIiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogVFJVRQogICAgdG9jX2Zsb2F0OiBUUlVFCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFCiAgICB0aGVtZTogbHVtZW4KLS0tCgohW10oL1VzZXJzL3NhbnRpYWdvcnViaW8vRGVza3RvcC9Cb290Y2FtcCBkZSBQcm9ncmFtYWNpb8yBbi82MmIwYzMzNzc3ZTNkODMyMzkxNTlhNmEucG5nKQoKIyA8c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+Q29udGV4dG88L3NwYW4+CkxhIGJhc2UgZGUgZGF0b3MgKkFpclBhc3NhbmdlcnMqIGNvbnRpZW5lIGVsIG7Dum1lcm8gbWVuc3VhbCBkZSBwYXNhamVyb3MgYcOpcmVvcyBpbnRlcm5hY2lvbmFsZXMgYW50cmUgMTk0OSB5IDE5NjAgKDE0NCBvYnNlcnZhY2lvbmVzIG1lbnNhdWxlcykuICAKRXN0YSBiYXNlIGRlIGRhdG9zIGVzIGFwbWxpYW1lbnRlIHV0aWxpemFkYSBwYXJhIGVsIMOhbmFsaXNpcyBkZSBzZXJpcmVzIGRlIHRpZW1wbywgcmVmbGVqYW5kbyBlbCBjcmVjaW1pZW50byBkZSBsYSBpbmR1c3RyaWEgZGUgbGEgYXZpYWNpw7NuIGNvbWVyY2lhbCBkZXNwdcOpcyBkZSBsYSAqKlNlZ3VuZGEgR3VlcnJhIE11bmRpYWwqKgoKIyA8c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+SW50YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXJpYXM8L3NwYW4+CmBgYHtyfQojIGluc3RhbGwucGFja2FnZXMoImdncGxvdDIiKQpsaWJyYXJ5KGdncGxvdDIpCiMgaW5zdGFsbC5wYWNrYWdlcygiZm9yZWNhc3QiKQpsaWJyYXJ5KGZvcmVjYXN0KQoKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5JbXBvcnRhciBsYSBiYXNlIGRlIGRhdG9zPC9zcGFuPgpgYGB7cn0KZGYgPC0gYXMuZGF0YS5mcmFtZShBaXJQYXNzZW5nZXJzKQpzZXJpZV9kZV90aWVtcG8gPC0gQWlyUGFzc2VuZ2VycwpgYGAKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBncmVlbjsiPklkZW50aWZpY2FyIHBhdHJvbmVzIG8gdGVuZGVuY2lhczwvc3Bhbj4KTG9zIDQgY29tcG9uZW50ZXMgZGUgbGFzIHNlcmllcyBkZSB0aWVtcG8gc29uOiAgCgoqICoqVGVuZGVuY2lhcyoqIEVqLiBBdW1lbnRvIGRlIGxhcyB2ZW50YXMgZGUgdW5hIHRpZW5kYSBlbiBsw7FpbmVhIGRlYmlkbyBhbCBjcmVjaW1pZW50byBkZWwgY29tZXJjaW8gZWxlY3Ryw7NuaWNvLgoqICoqQ2ljbG8qKiBFai4gTGFzIGZsdWN0dWFjaW9uZXMgZW4gbGFzIHZlbnRhcyBkZSBhdXRvbcOzdmlsZXMgYSBsbyBsYXJnbyBkZSBsb3MgY2ljbG9zIGVjb27Ds25taWNvcyAoZXhwYW5zacOzbiB5IHJlY2VzacOzbikuCiogKipQYXRyb24gRXN0YWNpb25hbCoqIEVqLiBBdW1lbnRvIGVuIGxhcyB2ZW50YXMgZGUganVndWV0ZXMgZHVyYW50ZSBsYSBuYXZpZGFkbAoqICoqQWxlYXRvcmlvKiogRWouIENhw61kYSBkZSBsYXMgdmVudGFzIHBvciB1biBkZXNhc3RyZSBuYXR1cmFsLgoKIVtdKC9Vc2Vycy9zYW50aWFnb3J1YmlvL0Rlc2t0b3AvQm9vdGNhbXAgZGUgUHJvZ3JhbWFjaW/MgW4vNjRjN2NiZDkyYTU4ZDY4MGZmMzhlNTgzX3RzLWNvbXBvbmVudHMtd2lkZS53ZWJwKQoKYGBge3J9IApnZ3Bsb3QoZGYsIGFlcyh4PSB0aW1lKHNlcmllX2RlX3RpZW1wbyksIHk9IHNlcmllX2RlX3RpZW1wbykpICsgCiAgZ2VvbV9saW5lKGNvbG9yID0gImRhcmtncmVlbiIpICsKICBsYWJzKHRpdGxlID0gIk7Dum1lcm8gZGUgUGFzYWplcm9zIEHDqXJlb3MgSW50ZXJuYWNpb25hbGVzIiwgeD0gIkHDsW8iLCB5PSAiTsO6bWVybyIpCmBgYAogIApQb2RlbW9zIGNvbmNsdWlyIGRlIGxhIGdyw6FmaWNhIGFudGVyaW9yIHF1ZSBsYSBiYXNlIGRlIGRhdG9zIHRpZW5lICoqdGVuZGVuY2lhIGNyZWNpZW50ZSoqIHkgKipwYXRyw7NuIGVzdGFjaW9uYWwqKi4KICAKIyA8c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+R2VucmFyIHByb27Ds3N0aWNvczwvc3Bhbj4KYGBge3J9CiMgQWp1c3RlIGRlIG1vZGVsbwptb2RlbG8gPC0gYXV0by5hcmltYShzZXJpZV9kZV90aWVtcG8pCgojIFJlYWxpemFyIHByb27Ds3N0aWNvIGEgMTIgbWVzZXMKcHJvbm9zdGljbyA8LSBmb3JlY2FzdChtb2RlbG8sIGg9MTIpCgojIEdyYWZpY2FyIGRhdG9zIGhpc3TDs3JpY29zICsgcHJvbsOzc3RpY28KYXV0b3Bsb3QocHJvbm9zdGljbykgKwogIGxhYnModGl0bGUgPSAiTsO6bWVybyBkZSBQYXNhamVyb3MgQcOpcmVvcyBJbnRlcm5hY2lvbmFsZXMiLCB4PSAiQcOxbyIsIHk9ICJOw7ptZXJvIikKCiMgR2VuZXJhciBwcmVkaWNjacOzbiBwYXJhIHVuIG1lcyBlc3BlY2lmaWNvCmRmX3ByZWRpY2Npb24gPC0gZGF0YS5mcmFtZShGZWNoYSA9IHRpbWUocHJvbm9zdGljbyRtZWFuKSwgUHJlZGljY2lvbiA9IGFzLm51bWVyaWMocHJvbm9zdGljbyRtZWFuKSkKCmRmX3ByZWRpY2Npb25bZGZfcHJlZGljY2lvbiRGZWNoYSA9PSAxOTYxLjAsIF0gIyBFbmVybyBkZSAxOTYxCmBgYAoKCg==