Series de tiempo

1. Concepto

Una Serie de tiempo es una coleccion de observaciones sobre un determinado fenomeno efectuadas en momentos sucesivos, usualmente equiespaciados.

Ejemplos de serie de tiempo son: 1. Precio de acciones 2. Niveles de inventario 3. Rotacion de personal

2. Cargar librerias

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

3. Crear la serie de tiempo

# Paso 1 - Obetener los valores dependientes

produccion <- c(50,53,55,57,55,60)

# Paso 2 - Agregar los valores anteriores su tiempo correspondiente.
serie_de_tiempo <- ts(data=produccion, start = c(2020,1), frequency = 4)

4. Crear modelo ARIMA

# ARIMA: AutoRegressive Integrated Moving Average.

modelo <- auto.arima(serie_de_tiempo, D=1)
modelo
## Series: serie_de_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

4. Realizar el pronostico

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)

Banco Mundial

1. Concepto

El Banco Mundial es un organismo multinacional especializado en finanzas. En R se puede acceder a sus indicadores a traves de la libreria WBI

Cargar Librerias

library(WDI)
library(wbstats)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.2     ✔ 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

Crear la serie de tiempo

# Paso 1 - Obtener los valores dependientes
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 los valores su tiempo correspondiente
serie_wb <- ts(data = gdp_data$NY.GDP.MKTP.CD, start = c(1973, 1), frequency = 1)
serie_wb
## 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$)
pronostico_wb <- forecast(serie_wb, level= c(95),h=5)
pronostico_wb
##      Point Forecast        Lo 95        Hi 95
## 2023   1.433926e+12 980290613738 1.887562e+12
## 2024   1.453677e+12 803569237132 2.103785e+12
## 2025   1.473429e+12 666598328083 2.280259e+12
## 2026   1.493180e+12 549162790199 2.437197e+12
## 2027   1.512931e+12 443534373245 2.582327e+12
plot(pronostico_wb)

modelo_wb <- auto.arima(serie_wb, D=1)
summary(modelo_wb)
## Series: serie_wb 
## 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
pronostico_wb2 <-forecast(modelo_wb,level= c(95), h=5)
plot(pronostico_wb2)

LS0tCnRpdGxlOiAiU2VyaWVzIGRlIFRpZW1wbyIKYXV0aG9yOiAiUGF0cmljaW8gU2FuY2hleiAtIEEwMDgyNDMxMyIKZGF0ZTogIjIwMjMtMTAtMDIiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogVFJVRQogICAgdG9jX2Zsb2F0OiBUUlVFCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFCiAgICB0aGVtZTogInNpbXBsZXgiCiAgICBoaWdobGlnaHQ6ICJweWdtZW50cyIKLS0tCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPlNlcmllcyBkZSB0aWVtcG88L3NwYW4+CgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4xLiBDb25jZXB0bzwvc3Bhbj4KClVuYSAqKlNlcmllIGRlIHRpZW1wbyoqIGVzIHVuYSBjb2xlY2Npb24gZGUgb2JzZXJ2YWNpb25lcyBzb2JyZSB1biBkZXRlcm1pbmFkbyBmZW5vbWVubyBlZmVjdHVhZGFzIGVuIG1vbWVudG9zIHN1Y2VzaXZvcywgdXN1YWxtZW50ZSBlcXVpZXNwYWNpYWRvcy4KCkVqZW1wbG9zIGRlIHNlcmllIGRlIHRpZW1wbyBzb246CjEuIFByZWNpbyBkZSBhY2Npb25lcwoyLiBOaXZlbGVzIGRlIGludmVudGFyaW8KMy4gUm90YWNpb24gZGUgcGVyc29uYWwKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjIuIENhcmdhciBsaWJyZXJpYXM8L3NwYW4+CgpgYGB7cn0KbGlicmFyeShmb3JlY2FzdCkKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4zLiBDcmVhciBsYSBzZXJpZSBkZSB0aWVtcG88L3NwYW4+CgpgYGB7cn0KIyBQYXNvIDEgLSBPYmV0ZW5lciBsb3MgdmFsb3JlcyBkZXBlbmRpZW50ZXMKCnByb2R1Y2Npb24gPC0gYyg1MCw1Myw1NSw1Nyw1NSw2MCkKCiMgUGFzbyAyIC0gQWdyZWdhciBsb3MgdmFsb3JlcyBhbnRlcmlvcmVzIHN1IHRpZW1wbyBjb3JyZXNwb25kaWVudGUuCnNlcmllX2RlX3RpZW1wbyA8LSB0cyhkYXRhPXByb2R1Y2Npb24sIHN0YXJ0ID0gYygyMDIwLDEpLCBmcmVxdWVuY3kgPSA0KQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjQuIENyZWFyIG1vZGVsbyBBUklNQTwvc3Bhbj4KCmBgYHtyfQojIEFSSU1BOiBBdXRvUmVncmVzc2l2ZSBJbnRlZ3JhdGVkIE1vdmluZyBBdmVyYWdlLgoKbW9kZWxvIDwtIGF1dG8uYXJpbWEoc2VyaWVfZGVfdGllbXBvLCBEPTEpCm1vZGVsbwpgYGAKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+NC4gUmVhbGl6YXIgZWwgcHJvbm9zdGljbzwvc3Bhbj4KYGBge3J9CnByb25vc3RpY28gPC0gZm9yZWNhc3QobW9kZWxvLCBsZXZlbD0gYyg5NSksaD01KQpwcm9ub3N0aWNvCnBsb3QocHJvbm9zdGljbykKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiBCYW5jbyBNdW5kaWFsPC9zcGFuPgoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+MS4gQ29uY2VwdG88L3NwYW4+CgpFbCBCYW5jbyBNdW5kaWFsIGVzIHVuIG9yZ2FuaXNtbyBtdWx0aW5hY2lvbmFsIGVzcGVjaWFsaXphZG8gZW4gZmluYW56YXMuCkVuIFIgc2UgcHVlZGUgYWNjZWRlciBhIHN1cyBpbmRpY2Fkb3JlcyBhIHRyYXZlcyBkZSBsYSBsaWJyZXJpYSBXQkkKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiBDYXJnYXIgTGlicmVyaWFzPC9zcGFuPgpgYGB7cn0KbGlicmFyeShXREkpCmxpYnJhcnkod2JzdGF0cykKbGlicmFyeSh0aWR5dmVyc2UpCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+IENyZWFyIGxhIHNlcmllIGRlIHRpZW1wbzwvc3Bhbj4KYGBge3J9CiMgUGFzbyAxIC0gT2J0ZW5lciBsb3MgdmFsb3JlcyBkZXBlbmRpZW50ZXMKZ2RwX2RhdGEgPC13Yl9kYXRhKGNvdW50cnkgPSAiTVgiLCBpbmRpY2F0b3IgPSAiTlkuR0RQLk1LVFAuQ0QiLHN0YXJ0X2RhdGUgPSAxOTczLCBlbmRfZGF0ZSA9IDIwMjIpCmdkcF9kYXRhIDwtZ2RwX2RhdGEgJT4lIHNlbGVjdChkYXRlLE5ZLkdEUC5NS1RQLkNEKQoKIyBQYXNvIDIgLSBBZ3JlZ2FyIGxvcyB2YWxvcmVzIHN1IHRpZW1wbyBjb3JyZXNwb25kaWVudGUKc2VyaWVfd2IgPC0gdHMoZGF0YSA9IGdkcF9kYXRhJE5ZLkdEUC5NS1RQLkNELCBzdGFydCA9IGMoMTk3MywgMSksIGZyZXF1ZW5jeSA9IDEpCnNlcmllX3diCmBgYAoKCmBgYHtyfQpwcm9ub3N0aWNvX3diIDwtIGZvcmVjYXN0KHNlcmllX3diLCBsZXZlbD0gYyg5NSksaD01KQpwcm9ub3N0aWNvX3diCnBsb3QocHJvbm9zdGljb193YikKYGBgCmBgYHtyfQptb2RlbG9fd2IgPC0gYXV0by5hcmltYShzZXJpZV93YiwgRD0xKQpzdW1tYXJ5KG1vZGVsb193YikKYGBgCmBgYHtyfQpwcm9ub3N0aWNvX3diMiA8LWZvcmVjYXN0KG1vZGVsb193YixsZXZlbD0gYyg5NSksIGg9NSkKcGxvdChwcm9ub3N0aWNvX3diMikKYGBgCgo=