ACTIVIDAD 1 SERIES DE TIEMPO

¿QUÉ ES?

Una SERIE DE TIEMPO es una colección de observaciones sobre un determinado fenómeno efectuadas en momentos de tiempo sucesivos, usualmente equiespaciados.

EJEMPLO DE SERIES DE TIEMPO 1.Precio de acciones 2.Niveles de inventario 3.Rotación de persona 4.Ventas

Instalar librerías

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

Crear series de tiempo

#PASO 1 obtener los valores dependientes
produccion <- c(50,53,55,57,55,60)
#PASO 2 AGREGAR A LOS VALORES ANTERIORES SU TIEMPO CORRESPONDIENTE
serie_tiempo <-ts(data=produccion,start= c(2020,1),frequency = 4)
serie_tiempo
##      Qtr1 Qtr2 Qtr3 Qtr4
## 2020   50   53   55   57
## 2021   55   60

Crear modelo ARIMA

ARIMA: AutoRegressive Integrated Moving Average o Modelo Autorregresivo

Integrado de Media Móvil ARIMA (p,d,q) p=orden de auto regresión d=orden de integracion (diferenciación) q=orden del promedio móvil

¿CUANDO SE USA? Cuando las estimaciones futuras se explican por los datos del pasado no por varibales independientes.

Ejemplo Tipo de cambio

modelo <- auto.arima(serie_tiempo, D=1)
modelo
## Series: serie_tiempo 
## ARIMA(0,0,0)(0,1,0)[4] with drift 
## 
## Coefficients:
##        drift
##       1.5000
## s.e.  0.1768
## 
## sigma^2 = 2.01:  log likelihood = -2.84
## AIC=9.68   AICc=-2.32   BIC=7.06
summary(modelo)
## Series: serie_tiempo 
## ARIMA(0,0,0)(0,1,0)[4] with drift 
## 
## Coefficients:
##        drift
##       1.5000
## s.e.  0.1768
## 
## sigma^2 = 2.01:  log likelihood = -2.84
## AIC=9.68   AICc=-2.32   BIC=7.06
## 
## Training set error measures:
##                      ME      RMSE       MAE        MPE      MAPE       MASE
## Training set 0.03333332 0.5787923 0.3666667 0.03685269 0.6429133 0.06111111
##                    ACF1
## Training set -0.5073047

Realizar el pronóstico

pronostico <-forecast(modelo,level= c(95), h=5)
pronostico
##         Point Forecast    Lo 95    Hi 95
## 2021 Q3             61 58.22127 63.77873
## 2021 Q4             63 60.22127 65.77873
## 2022 Q1             61 58.22127 63.77873
## 2022 Q2             66 63.22127 68.77873
## 2022 Q3             67 63.07028 70.92972
plot(pronostico)

ACT 2 BANCO MUNDIAL

¿QUÉ ES?

El banco mundial (WB) es un organismo multinacional especializado en finanzas. En R se puede acceder a sus indicadores a través de la librería WBI.

Instalar librerías

#install.packages("forecast")
library(forecast)

#install.packages("WDI")
library("WDI")

#install.packages("tidyverse")
library("tidyverse")
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
#install.packages("wbstats")
library("wbstats")

Crear series de tiempo

# PASO 1. Obtén los datos del PIB de México
gdp_data <-wb_data(country = "MX", indicator = "NY.GDP.MKTP.CD",start_date = 1973, end_date = 2022)
gdp_data <-gdp_data %>% select(date,NY.GDP.MKTP.CD)
#PASO 2 AGREGAR A LOS VALORES ANTERIORES SU TIEMPO CORRESPONDIENTE
serie_tiempo1 <- ts(data = gdp_data$NY.GDP.MKTP.CD, start = c(1973, 1), frequency = 1)
serie_tiempo1
## Time Series:
## Start = 1973 
## End = 2022 
## Frequency = 1 
##  [1] 5.528021e+10 7.200018e+10 8.800000e+10 8.887679e+10 8.191250e+10
##  [6] 1.026473e+11 1.345296e+11 2.055770e+11 2.638021e+11 1.846036e+11
## [11] 1.561675e+11 1.842312e+11 1.952414e+11 1.345561e+11 1.475426e+11
## [16] 1.816112e+11 2.214031e+11 2.612537e+11 3.131397e+11 3.631578e+11
## [21] 5.007334e+11 5.278106e+11 3.600725e+11 4.109730e+11 5.004160e+11
## [26] 5.264997e+11 6.002330e+11 7.079099e+11 7.567029e+11 7.721097e+11
## [31] 7.293350e+11 7.822429e+11 8.774769e+11 9.753834e+11 1.052697e+12
## [36] 1.109987e+12 9.000470e+11 1.057801e+12 1.180487e+12 1.201094e+12
## [41] 1.274444e+12 1.315356e+12 1.171870e+12 1.078493e+12 1.158912e+12
## [46] 1.222406e+12 1.269010e+12 1.090515e+12 1.272839e+12 1.414187e+12
## attr(,"label")
## [1] GDP (current US$)

Realizar el pronóstico

pronostico <-forecast(modelo,level= c(95), h=5)
pronostico
##         Point Forecast    Lo 95    Hi 95
## 2021 Q3             61 58.22127 63.77873
## 2021 Q4             63 60.22127 65.77873
## 2022 Q1             61 58.22127 63.77873
## 2022 Q2             66 63.22127 68.77873
## 2022 Q3             67 63.07028 70.92972
plot(pronostico)

Crear modelo ARIMA

modelo1 <- auto.arima(serie_tiempo1, D=1)
modelo1
## Series: serie_tiempo1 
## ARIMA(0,1,0) 
## 
## sigma^2 = 7.381e+21:  log likelihood = -1303.18
## AIC=2608.36   AICc=2608.44   BIC=2610.25
summary(modelo1)
## Series: serie_tiempo1 
## ARIMA(0,1,0) 
## 
## sigma^2 = 7.381e+21:  log likelihood = -1303.18
## AIC=2608.36   AICc=2608.44   BIC=2610.25
## 
## Training set error measures:
##                       ME        RMSE         MAE      MPE     MAPE     MASE
## Training set 27179245230 85046847387 67623045592 4.943879 14.05421 0.980016
##                     ACF1
## Training set -0.01519178

Realizar el pronóstico

pronostico1 <-forecast(modelo1,level= c(95), h=5)
pronostico1
##      Point Forecast        Lo 95        Hi 95
## 2023   1.414187e+12 1.245806e+12 1.582568e+12
## 2024   1.414187e+12 1.176060e+12 1.652314e+12
## 2025   1.414187e+12 1.122543e+12 1.705832e+12
## 2026   1.414187e+12 1.077425e+12 1.750949e+12
## 2027   1.414187e+12 1.037676e+12 1.790699e+12
plot(pronostico1)

LS0tDQp0aXRsZTogIkFjdGl2aWRhZCA4IFNFUklFUyBERSBUSUVNUE8iDQphdXRob3I6ICJMdWlzYSBCZWx0csOhbiBBMDE1MDc2OTAiDQpkYXRlOiAiMjAyMy0xMC0wOCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRSVUUNCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQogIHRoZW1lOiAiYm9vdHN0cmFwIiAgDQogIGhpZ2hsaWdodDogImVzcHJlc3NvIg0KLS0tDQoNCjxjZW50ZXI+IA0KICAjIyA8c3BhbiBzdHlsZSA9ImNvbG9yOnBpbms7Ij4qKkFDVElWSURBRCAxIFNFUklFUyBERSBUSUVNUE8qKjwvc3Bhbj4NCiAgDQogIA0KPGNlbnRlcj4NCiFbXShDOlxcVXNlcnNcXGx1aXNhXFxEb2N1bWVudHNcXFIgTFVJU0FcXE1PRFVMTyA0XFxTRVJJRVRJRU1QTy5qcGVnKQ0KDQoNCiMjIyA8c3BhbiBzdHlsZSA9ImNvbG9yOnBpbms7Ij4qKsK/UVXDiSBFUz8qKjwvc3Bhbj4NClVuYSAqKlNFUklFIERFIFRJRU1QTyoqIGVzIHVuYSBjb2xlY2Npw7NuIGRlIG9ic2VydmFjaW9uZXMgc29icmUgdW4gZGV0ZXJtaW5hZG8gZmVuw7NtZW5vIGVmZWN0dWFkYXMgZW4gbW9tZW50b3MgZGUgdGllbXBvIHN1Y2VzaXZvcywgdXN1YWxtZW50ZSBlcXVpZXNwYWNpYWRvcy4gDQoNCiAgKipFSkVNUExPIERFIFNFUklFUyBERSBUSUVNUE8qKg0KICAxLlByZWNpbyBkZSBhY2Npb25lcw0KICAyLk5pdmVsZXMgZGUgaW52ZW50YXJpbw0KICAzLlJvdGFjacOzbiBkZSBwZXJzb25hDQogIDQuVmVudGFzDQogIA0KICANCiMjIyA8c3BhbiBzdHlsZSA9ImNvbG9yOnBpbms7Ij5JbnN0YWxhciBsaWJyZXLDrWFzPC9zcGFuPg0KYGBge3J9DQojaW5zdGFsbC5wYWNrYWdlcygiZm9yZWNhc3QiKQ0KbGlicmFyeShmb3JlY2FzdCkNCmBgYA0KDQojIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpwaW5rOyI+Q3JlYXIgc2VyaWVzIGRlIHRpZW1wbzwvc3Bhbj4NCg0KYGBge3J9DQojUEFTTyAxIG9idGVuZXIgbG9zIHZhbG9yZXMgZGVwZW5kaWVudGVzDQpwcm9kdWNjaW9uIDwtIGMoNTAsNTMsNTUsNTcsNTUsNjApDQpgYGANCg0KYGBge3J9DQojUEFTTyAyIEFHUkVHQVIgQSBMT1MgVkFMT1JFUyBBTlRFUklPUkVTIFNVIFRJRU1QTyBDT1JSRVNQT05ESUVOVEUNCnNlcmllX3RpZW1wbyA8LXRzKGRhdGE9cHJvZHVjY2lvbixzdGFydD0gYygyMDIwLDEpLGZyZXF1ZW5jeSA9IDQpDQpzZXJpZV90aWVtcG8NCmBgYA0KIyMjIDxzcGFuIHN0eWxlID0iY29sb3I6cGluazsiPkNyZWFyIG1vZGVsbyBBUklNQTwvc3Bhbj4NCg0KKipBUklNQSoqOiBBdXRvUmVncmVzc2l2ZSBJbnRlZ3JhdGVkIE1vdmluZyBBdmVyYWdlIG8gTW9kZWxvIEF1dG9ycmVncmVzaXZvDQoNCioqSW50ZWdyYWRvIGRlIE1lZGlhIE3Ds3ZpbCoqDQpBUklNQSAocCxkLHEpDQoqKnAqKj1vcmRlbiBkZSBhdXRvIHJlZ3Jlc2nDs24NCioqZCoqPW9yZGVuIGRlIGludGVncmFjaW9uIChkaWZlcmVuY2lhY2nDs24pDQoqKnEqKj1vcmRlbiBkZWwgcHJvbWVkaW8gbcOzdmlsDQoNCioqwr9DVUFORE8gU0UgVVNBPyoqDQpDdWFuZG8gbGFzIGVzdGltYWNpb25lcyBmdXR1cmFzIHNlIGV4cGxpY2FuIHBvciBsb3MgZGF0b3MgZGVsIHBhc2FkbyAgbm8gcG9yIHZhcmliYWxlcyBpbmRlcGVuZGllbnRlcy4gDQoNCioqRWplbXBsbyoqIFRpcG8gZGUgY2FtYmlvDQoNCmBgYHtyfQ0KbW9kZWxvIDwtIGF1dG8uYXJpbWEoc2VyaWVfdGllbXBvLCBEPTEpDQptb2RlbG8NCnN1bW1hcnkobW9kZWxvKQ0KYGBgDQojIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpwaW5rOyI+UmVhbGl6YXIgZWwgcHJvbsOzc3RpY288L3NwYW4+DQpgYGB7cn0NCnByb25vc3RpY28gPC1mb3JlY2FzdChtb2RlbG8sbGV2ZWw9IGMoOTUpLCBoPTUpDQpwcm9ub3N0aWNvDQpwbG90KHByb25vc3RpY28pDQpgYGANCjxjZW50ZXI+IA0KICAjIyA8c3BhbiBzdHlsZSA9ImNvbG9yOnB1cnBsZTsiPioqQUNUIDIgQkFOQ08gTVVORElBTCoqPC9zcGFuPg0KICANCg0KPGNlbnRlcj4NCiFbXShDOlxcVXNlcnNcXGx1aXNhXFxEb2N1bWVudHNcXFIgTFVJU0FcXE1PRFVMTyA0XFxXQi5qcGVnKQ0KDQoNCiMjIyA8c3BhbiBzdHlsZSA9ImNvbG9yOnB1cnBsZTsiPioqwr9RVcOJIEVTPyoqPC9zcGFuPg0KRWwgYmFuY28gbXVuZGlhbCAoV0IpIGVzIHVuIG9yZ2FuaXNtbyBtdWx0aW5hY2lvbmFsIGVzcGVjaWFsaXphZG8gZW4gZmluYW56YXMuDQpFbiBSIHNlIHB1ZWRlIGFjY2VkZXIgYSBzdXMgaW5kaWNhZG9yZXMgYSB0cmF2w6lzIGRlIGxhIGxpYnJlcsOtYSBXQkkuDQoNCiMjIyA8c3BhbiBzdHlsZSA9ImNvbG9yOnB1cnBsZTsiPkluc3RhbGFyIGxpYnJlcsOtYXM8L3NwYW4+DQpgYGB7cn0NCg0KI2luc3RhbGwucGFja2FnZXMoImZvcmVjYXN0IikNCmxpYnJhcnkoZm9yZWNhc3QpDQoNCiNpbnN0YWxsLnBhY2thZ2VzKCJXREkiKQ0KbGlicmFyeSgiV0RJIikNCg0KI2luc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KCJ0aWR5dmVyc2UiKQ0KDQojaW5zdGFsbC5wYWNrYWdlcygid2JzdGF0cyIpDQpsaWJyYXJ5KCJ3YnN0YXRzIikNCmBgYA0KDQojIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpwdXJwbGU7Ij5DcmVhciBzZXJpZXMgZGUgdGllbXBvPC9zcGFuPg0KYGBge3J9DQojIFBBU08gMS4gT2J0w6luIGxvcyBkYXRvcyBkZWwgUElCIGRlIE3DqXhpY28NCmdkcF9kYXRhIDwtd2JfZGF0YShjb3VudHJ5ID0gIk1YIiwgaW5kaWNhdG9yID0gIk5ZLkdEUC5NS1RQLkNEIixzdGFydF9kYXRlID0gMTk3MywgZW5kX2RhdGUgPSAyMDIyKQ0KZ2RwX2RhdGEgPC1nZHBfZGF0YSAlPiUgc2VsZWN0KGRhdGUsTlkuR0RQLk1LVFAuQ0QpDQpgYGANCg0KYGBge3J9DQojUEFTTyAyIEFHUkVHQVIgQSBMT1MgVkFMT1JFUyBBTlRFUklPUkVTIFNVIFRJRU1QTyBDT1JSRVNQT05ESUVOVEUNCnNlcmllX3RpZW1wbzEgPC0gdHMoZGF0YSA9IGdkcF9kYXRhJE5ZLkdEUC5NS1RQLkNELCBzdGFydCA9IGMoMTk3MywgMSksIGZyZXF1ZW5jeSA9IDEpDQpzZXJpZV90aWVtcG8xDQpgYGANCg0KDQoNCiMjIyA8c3BhbiBzdHlsZSA9ImNvbG9yOnB1cnBsZTsiPlJlYWxpemFyIGVsIHByb27Ds3N0aWNvPC9zcGFuPg0KYGBge3J9DQpwcm9ub3N0aWNvIDwtZm9yZWNhc3QobW9kZWxvLGxldmVsPSBjKDk1KSwgaD01KQ0KcHJvbm9zdGljbw0KcGxvdChwcm9ub3N0aWNvKQ0KYGBgDQoNCiMjIyA8c3BhbiBzdHlsZSA9ImNvbG9yOnB1cnBsZTsiPkNyZWFyIG1vZGVsbyBBUklNQTwvc3Bhbj4NCmBgYHtyfQ0KbW9kZWxvMSA8LSBhdXRvLmFyaW1hKHNlcmllX3RpZW1wbzEsIEQ9MSkNCm1vZGVsbzENCnN1bW1hcnkobW9kZWxvMSkNCmBgYA0KIyMjIDxzcGFuIHN0eWxlID0iY29sb3I6cHVycGxlOyI+UmVhbGl6YXIgZWwgcHJvbsOzc3RpY288L3NwYW4+DQoNCmBgYHtyfQ0KcHJvbm9zdGljbzEgPC1mb3JlY2FzdChtb2RlbG8xLGxldmVsPSBjKDk1KSwgaD01KQ0KcHJvbm9zdGljbzENCnBsb3QocHJvbm9zdGljbzEpDQpgYGANCg==