Cargamos las librerias a usar
library(ggplot2)
library(rmarkdown)
library(fpp2)
library(forecast)
library(timeDate)
Cargamos las bases de datos, para esto, se procede primero a obtener el enlace url de la pĂĄgina o repositorio en donde se encuentra almacenada la base, para luego asignarla a un nuevo objeto de la siguiente manera:
url2 <- "https://raw.githubusercontent.com/pablogaibor/ESPE/main/depositosBP.csv"
depositosBP <- read.csv(url2,header = T,sep = ",")
vista.ts<-ts(depositosBP[,4],frequency=12,start=c(2006,12),end=c(2014,12))
La funciĂłn lag() construye una versiĂłn desfasada de la serie temporal, retardando (o adelantando) los valores de la serie en la magnitud de la desfase especificada. Concretamente:
\(lag(X_t,k)=X_(t+k)\)
Si no se especifica, el valor del desfase por defecto es 1.
A modo de ejemplo, mostramos seguidamente el efecto de desfasar en uno y dos meses (hacia delante y hacia atrĂĄs) la serie de depĂłsitos a la vista de un banco comercial:
head(cbind(lag(vista.ts,-2),lag(vista.ts,-1), vista.ts,lag(vista.ts),lag(vista.ts,2)))
## lag(vista.ts, -2) lag(vista.ts, -1) vista.ts lag(vista.ts)
## Oct 2006 NA NA NA NA
## Nov 2006 NA NA NA 1869132
## Dec 2006 NA NA 1869132 1828284
## Jan 2007 NA 1869132 1828284 1793480
## Feb 2007 1869132 1828284 1793480 1802139
## Mar 2007 1828284 1793480 1802139 1884264
## lag(vista.ts, 2)
## Oct 2006 1869132
## Nov 2006 1828284
## Dec 2006 1793480
## Jan 2007 1802139
## Feb 2007 1884264
## Mar 2007 1906419
Visualizamos la serie de tiempo de depĂłsitos a la vista de un Banco Comercial con un grĂĄfico.
autoplot(vista.ts)
Como podemos ovservar, esta serie de tiempo no es estacionaria a primera vista, puesto que sigue una tendencia creciente y su media ya no serĂa constante. Para obsrvar una serie de datos estacionaria, podemos descomponer la misma con lo trabajado en clases anteriores. Entonces, realizamos una descomposiciĂłn aditiva.
descomposicion <- vista.ts %>%
decompose(type="additive")
descomposicion
## $x
## Jan Feb Mar Apr May Jun Jul Aug Sep
## 2006
## 2007 1828284 1793480 1802139 1884264 1906419 1914654 1927008 1996518 2016049
## 2008 2209341 2205114 2274739 2450095 2447068 2428415 2454923 2627309 2540110
## 2009 2649603 2640097 2579042 2663681 2688717 2621371 2717503 2701678 2673670
## 2010 3040136 3013800 3079857 3191070 3215880 3241045 3260787 3301530 3267198
## 2011 3576321 3707447 3786592 3945072 3898454 3906166 3961259 3953918 3949530
## 2012 4130888 4123876 4256531 4309706 4374381 4265083 4298725 4347211 4293234
## 2013 4562199 4548393 4649187 4650046 4785389 4814330 4773788 4825168 4669571
## 2014 5088041 5126294 5221554 5216026 5225005 5222524 5296446 5398575 5373291
## Oct Nov Dec
## 2006 1869132
## 2007 2054591 2132280 2265445
## 2008 2686883 2798192 2813439
## 2009 2731358 2789532 3071536
## 2010 3430476 3526268 3729823
## 2011 3880330 3832492 4144093
## 2012 4281588 4296088 4741232
## 2013 4767754 4876321 5351795
## 2014 5361012 5506423 5839022
##
## $seasonal
## Jan Feb Mar Apr May Jun
## 2006
## 2007 8086.610 -16721.066 11970.863 54905.571 45025.616 -17291.778
## 2008 8086.610 -16721.066 11970.863 54905.571 45025.616 -17291.778
## 2009 8086.610 -16721.066 11970.863 54905.571 45025.616 -17291.778
## 2010 8086.610 -16721.066 11970.863 54905.571 45025.616 -17291.778
## 2011 8086.610 -16721.066 11970.863 54905.571 45025.616 -17291.778
## 2012 8086.610 -16721.066 11970.863 54905.571 45025.616 -17291.778
## 2013 8086.610 -16721.066 11970.863 54905.571 45025.616 -17291.778
## 2014 8086.610 -16721.066 11970.863 54905.571 45025.616 -17291.778
## Jul Aug Sep Oct Nov Dec
## 2006 170808.847
## 2007 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736 170808.847
## 2008 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736 170808.847
## 2009 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736 170808.847
## 2010 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736 170808.847
## 2011 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736 170808.847
## 2012 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736 170808.847
## 2013 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736 170808.847
## 2014 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736 170808.847
##
## $trend
## Jan Feb Mar Apr May Jun Jul Aug Sep
## 2006
## 2007 NA NA NA NA NA 1943581 1975972 2009000 2045843
## 2008 2222552 2270831 2318950 2367131 2421223 2471803 2512980 2549448 2580252
## 2009 2657888 2671928 2680591 2688009 2689502 2699895 2726921 2758764 2795203
## 2010 2978226 3025856 3075580 3129441 3189268 3247394 3297164 3348407 3406756
## 2011 3640531 3696900 3752513 3799688 3831191 3861212 3901580 3942038 3978970
## 2012 4112568 4143017 4173725 4204765 4240801 4284998 4327850 4363509 4397558
## 2013 4542096 4581805 4617401 4653338 4697772 4747388 4794738 4840728 4888655
## 2014 5052097 5097767 5150980 5205021 5255995 5302550 NA NA NA
## Oct Nov Dec
## 2006 NA
## 2007 2089111 2135215 2179148
## 2008 2601831 2620799 2638907
## 2009 2838044 2881984 2929769
## 2010 3467620 3527477 3583631
## 2011 4013744 4048767 4083552
## 2012 4428100 4459406 4499417
## 2013 4936087 4977986 5013312
## 2014 NA NA NA
##
## $random
## Jan Feb Mar Apr May Jun
## 2006
## 2007 NA NA NA NA NA -11635.648
## 2008 -21297.136 -48996.105 -56181.933 28058.051 -19180.634 -26095.315
## 2009 -16371.821 -15109.927 -113520.305 -79233.593 -45810.335 -61232.439
## 2010 53823.913 4664.754 -7694.293 6723.919 -18413.126 10942.783
## 2011 -72296.114 27268.185 22107.518 90478.899 22237.040 62246.377
## 2012 10233.135 -2419.532 70835.156 50035.413 88555.012 -2622.794
## 2013 12015.791 -16690.742 19815.611 -58197.714 42591.264 84233.246
## 2014 27856.695 45247.829 58602.710 -43900.513 -76014.759 -62733.967
## Jul Aug Sep Oct Nov Dec
## 2006 NA
## 2007 -29367.273 -4978.305 67039.803 41983.128 53411.651 -84512.709
## 2008 -38460.753 85364.950 56692.252 161555.017 233739.691 3723.076
## 2009 10178.586 -49582.401 -24698.000 -30183.539 -36105.829 -29041.941
## 2010 -16779.827 -39372.969 -42723.444 39359.362 55137.164 -24616.793
## 2011 79275.865 19383.749 67394.513 -56911.015 -159928.063 -110268.554
## 2012 -9527.991 -8794.743 -7490.027 -70008.963 -106971.059 71006.987
## 2013 -1354.145 -8055.818 -122250.634 -91829.527 -45319.092 167674.396
## 2014 NA NA NA NA NA NA
##
## $figure
## [1] 170808.847 8086.610 -16721.066 11970.863 54905.571 45025.616
## [7] -17291.778 -19596.600 -7503.969 -96834.274 -76503.083 -56346.736
##
## $type
## [1] "additive"
##
## attr(,"class")
## [1] "decomposed.ts"
Una vez descompuesta la serie de tiempo, podemos trabajar solo con los residuos, que en teorĂa, deberĂan ser estacionarios.
serie_estacionaria <- descomposicion$random
Ahora, graficamos y visualizamos si la serie es estacionaria.
autoplot(serie_estacionaria)
Ahora tenemos una serie de tiempo estacionaria, al menos visualmente, mĂĄs adelante sabremos cĂłmo determinar si una serie de tiempo es estacionaria o no formalmente.
Para representar el ruido blanco vamos a generar un proceso de este tipo:
n <-1000
mu <- 0
sdt <- 2
w <- rnorm(n,mu,sdt)
wn_ts <- ts(w,frequency=12,start=c(1939,11))
autoplot(wn_ts)
En el cĂłdigo anterior creamos una serie de tiempo con los siguientes parĂĄmetros: ânâ correspondiente al nĂșmero de observaciones âmuâ la media del proceso, que en este caso es cero âsdtâ la desviaciĂłn estĂĄndar del proceso correspondiente a 2 Luego, generamos un proceso normal con los parĂĄmetros antes mencionados y finalmente los adaptamos al formato de serie de tiempo.
Para confirmar que es un ruido blanco el proceso antes generado, podemos utilizar la funciĂłn de autocorrelaciĂłn acf(wn_ts)
acf(wn_ts)
Como se puede observar, los lags del ACF no salen de la banda de confianza, por lo que, grĂĄficamente se puede determinar que es un ruido blanco.
Para confirmar que es un ruido blanco el proceso antes generado, podemos utilizar la funciĂłn de autocorrelaciĂłn parcial pacf(wn_ts)
pacf(wn_ts)
De igual manera, se puede observar que ningĂșn rezago sale fuera de las bandas de confianza, por lo que se confirma que es un ruido blanco.