Contexto

La base de datos Air Passengers contiene el número mensual de pasajeros áereos internacionales 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 graficas con mejor diseño 
library(ggplot2)
#install.packages("forecast") # Para revisar tendencias y generar pronosticos 
library(forecast)

Importar base de datos

df <- as.data.frame(AirPassengers)
serie_de_tiempo <- AirPassengers 

Identificar patrones o tendencias

Los componentes de las series de tiempo son:

  • Tendencia: Ej. Aumento en las ventas de una tienda en línea debido al crecimiento del comercio electrónico.
  • Ciclo: Ej. Las fluctuaciones en las ventas de automóviles a lo largo de los ciclos económicos (expansión y recesión).
  • Patrón Estacional: Ej. Aumento en las ventas de jueguetes 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="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óstico

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

# Realizar pronostico 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 en 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
LS0tDQp0aXRsZTogIkFpciBwYXNzZW5nZXJzIg0KYXV0aG9yOiAiTmFvbWkgU2FudGlhZ28gQTAwODMxMjI2Ig0KZGF0ZTogIjIwMjQtMDktMTIiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KICAgIHRoZW1lOiBsdW1lbg0KLS0tDQoNCiFbXShDOlxcVXNlcnNcXHNhbmRyYVxcRGVza3RvcFxcVEVDXFxCb290Y2FtcCBkZSBwcm9ncmFtYWNpb25cXG1vZGVybiBmYW1pbHkuZ2lmKQ0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5Db250ZXh0bzwvc3Bhbj4NCkxhIGJhc2UgZGUgZGF0b3MgKkFpciBQYXNzZW5nZXJzKiBjb250aWVuZSBlbCBuw7ptZXJvIG1lbnN1YWwgZGUgcGFzYWplcm9zIMOhZXJlb3MgaW50ZXJuYWNpb25hbGVzIGVudHJlIDE5NDkgeSAxOTYwICgxNDQgb2JzZXJ2YWNpb25lcyBtZW5zdWFsZXMpLg0KRXN0YSBiYXNlIGRlIGRhdG9zIGVzIGFtcGxpYW1lbnRlIHV0aWxpemFkYSBwYXJhIGVsIGFuw6FsaXNpcyBkZSBzZXJpZXMgZGUgdGllbXBvLCByZWZsZWphbmRvIGVsIGNyZWNpbWllbnRvIGRlIGxhIGluZHVzdHJpYSBkZSBsYSBhdmlhY2nDs24gY29tZXJjaWFsIGRlc3B1w6lzIGRlIGxhICoqU2VndW5kYSBHdWVycmEgTXVuZGlhbCoqLg0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5JbnN0YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXLDrWFzPC9zcGFuPg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiNpbnN0YWxsLnBhY2thZ2VzKCJnZ3Bsb3QyIikgI1BhcmEgZ2VuZXJhciBncmFmaWNhcyBjb24gbWVqb3IgZGlzZcOxbyANCmxpYnJhcnkoZ2dwbG90MikNCiNpbnN0YWxsLnBhY2thZ2VzKCJmb3JlY2FzdCIpICMgUGFyYSByZXZpc2FyIHRlbmRlbmNpYXMgeSBnZW5lcmFyIHByb25vc3RpY29zIA0KbGlicmFyeShmb3JlY2FzdCkNCmBgYA0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5JbXBvcnRhciBiYXNlIGRlIGRhdG9zPC9zcGFuPg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmRmIDwtIGFzLmRhdGEuZnJhbWUoQWlyUGFzc2VuZ2VycykNCnNlcmllX2RlX3RpZW1wbyA8LSBBaXJQYXNzZW5nZXJzIA0KYGBgDQoNCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBncmVlbjsiPklkZW50aWZpY2FyIHBhdHJvbmVzIG8gdGVuZGVuY2lhczwvc3Bhbj4NCkxvcyBjb21wb25lbnRlcyBkZSBsYXMgc2VyaWVzIGRlIHRpZW1wbyBzb246IA0KDQoqICoqVGVuZGVuY2lhOioqIEVqLiBBdW1lbnRvIGVuIGxhcyB2ZW50YXMgZGUgdW5hIHRpZW5kYSBlbiBsw61uZWEgZGViaWRvIGFsIGNyZWNpbWllbnRvIGRlbCBjb21lcmNpbyBlbGVjdHLDs25pY28uIA0KKiAqKkNpY2xvOioqIEVqLiBMYXMgZmx1Y3R1YWNpb25lcyBlbiBsYXMgdmVudGFzIGRlIGF1dG9tw7N2aWxlcyBhIGxvIGxhcmdvIGRlIGxvcyBjaWNsb3MgZWNvbsOzbWljb3MgKGV4cGFuc2nDs24geSByZWNlc2nDs24pLiANCiogKipQYXRyw7NuIEVzdGFjaW9uYWw6KiogRWouIEF1bWVudG8gZW4gbGFzIHZlbnRhcyBkZSBqdWVndWV0ZXMgZHVyYW50ZSBsYSBuYXZpZGFkLiAgDQoqICoqQWxlYXRvcmlvOioqICBFai4gQ2HDrWRhIGRlIGxhcyB2ZW50YXMgcG9yIHVuIGRlc2FzdHJlIG5hdHVyYWwuIA0KDQohW10oaHR0cHM6Ly9lbmNyeXB0ZWQtdGJuMC5nc3RhdGljLmNvbS9pbWFnZXM/cT10Ym46QU5kOUdjUjZIOWJ6YnlQdXF0aEdJdnB5M0llQnNodDdSNk5wcHpTN01NMktsSFYwdzMxUkZZQmlGRzRSc2ZMRS05UUhRY2VVTjhRJnVzcXA9Q0FVKQ0KDQpgYGB7cn0NCmdncGxvdChkZiwgYWVzKHg9dGltZShzZXJpZV9kZV90aWVtcG8pLCB5ID0gc2VyaWVfZGVfdGllbXBvKSkrDQogIGdlb21fbGluZShjb2xvciA9ICJkYXJrZ3JlZW4iKSArDQogIGxhYnModGl0bGU9IlBhc2FqZXJvcyBBw6lyZW9zIEludGVybmFjaW9uYWxlcyIsIHg9IkHDsW8iLCB5PSJOw7ptZXJvIikNCg0KYGBgDQoNClBvZGVtb3MgY29uY2x1aXIgZGUgbGEgZ3LDoWZpY2EgYW50ZXJpb3IgcXVlIGxhIGJhc2UgZGUgZGF0b3MgdGllbmUgKip0ZW5kZW5jaWEgY3JlY2llbnRlKiogeSAqKnBhdHLDs24gZXN0YWNpb25hbCoqLiANCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+R2VuZXJhciBwcm9uw7NzdGljbzwvc3Bhbj4NCmBgYHtyfQ0KIyBBanVzdGUgZGVsIG1vZGVsbw0KbW9kZWxvIDwtIGF1dG8uYXJpbWEoc2VyaWVfZGVfdGllbXBvKQ0KDQojIFJlYWxpemFyIHByb25vc3RpY28gYSAxMiBtZXNlcw0KcHJvbm9zdGljbyA8LSBmb3JlY2FzdChtb2RlbG8sIGg9MTIpDQoNCiMgR3JhZmljYXIgZGF0b3MgaGlzdMOzcmljb3MgeSBlbCBwcm9uw7NzdGljbw0KYXV0b3Bsb3QocHJvbm9zdGljbykgKw0KICBsYWJzKHRpdGxlPSJQYXNhamVyb3MgQcOpcmVvcyBJbnRlcm5hY2lvbmFsZXMiLCB4PSJBw7FvIiwgeT0iTsO6bWVybyIpDQoNCiMgR2VuZXJhciBwcmVkaWNjacOzbiBwYXJhIHVuIG1lcyBlbiBlc3BlY2lmaWNvDQpkZl9wcmVkaWNjaW9uIDwtIGRhdGEuZnJhbWUoRmVjaGEgPSB0aW1lKHByb25vc3RpY28kbWVhbiksIFByZWRpY2Npb24gPSBhcy5udW1lcmljKHByb25vc3RpY28kbWVhbikpDQoNCmRmX3ByZWRpY2Npb25bZGZfcHJlZGljY2lvbiRGZWNoYSA9PSAxOTYxLjAsIF0gI0VuZXJvIGRlIDE5NjENCmBgYA0KDQo=