MOROSIDAD - SARIMAX

En este informe se presentan los resultados de la Actividad 1 el cual corresponde a conceptos de modelos SARIMAX(p, d, q) × (P, D, Q) incluyendo el rezago de la variable exógena, con la implementación de la identificación, ajuste, aplicación de rezagos, diagnostico, residuales, las pruebas para la evaluación de los modelos y el pronóstico en R-Studio para la base de datos de desempleo y morosidad.

library(tseries)
library(forecast)
library(dynlm)
library(car)
library(urca)
library(readxl)
library(vars)
library(highcharter)
library(dplyr)
library(ggfortify)
library(plotly)
library(TSstudio)
library(ggplot2)  ## graficas
library(ggfortify) ## funciones autocorrelación grafica 
library(dplyr)   ## Manipulación datos


library(astsa)
library(TSstudio)
library(fdth)
library(TSA)
library(TSstudio)
library(readr)
library(foreign)
library(gridExtra)
library(seasonal)
library(lattice)
library(zoo)

Para cada serie se seleccionaron 120 datos para la muestra experimental (Enero del 2008 a Diciembre del 2017) y se dejaron 14 datos para la muestra de comprobación (Enero del 2018 a febrero del 2019). Se realiza inicialmente la identificación de los Modelos por medio de los gráficos con una diferencia ordinaría, una diferencia estacional y una diferencia ordinaría-estacional y luego aplicamos las pruebas de estacionariedad.

• Se evidencia que ambas series tienden a mostrar intervalos o ciclos que se repiten, presentando ciclos repetitivos más cortos o a un ritmo más rápido la variable de desempleo.

• Hay intervalos donde se evidencia que la morosidad puede depender del desempleo, pero parece que esta dependencia tiene una relación rezagada.

• Ambas series de tiempo tienen tendencia y ciclicidad por lo que re requiere aplicar diferencias.

Se realiza inicialmente la identificación de los Modelos por medio de los gráficos con una diferencia ordinaría, una diferencia estacional y una diferencia ordinaría-estacional teniendo en cuenta que morosidad (y) está explicada en términos de desempleo (x) y luego aplicamos las pruebas de estacionariedad.

par(mfrow=c(3,3))
plot(morosidad)
acf(morosidad,lag.max = 40)
pacf(morosidad, lag.max = 40)
plot(diff(morosidad))
acf(diff(morosidad), lag.max = 40)
pacf(diff(morosidad), lag.max = 40)
plot(diff(diff(morosidad), 12))
acf(diff(diff(morosidad), 12), lag.max = 40)
pacf(diff(diff(morosidad), 12),lag.max = 40)

## 
##  Augmented Dickey-Fuller Test
## 
## data:  morosidad
## Dickey-Fuller = -1.1132, Lag order = 4, p-value = 0.917
## alternative hypothesis: stationary
## 
##  Phillips-Perron Unit Root Test
## 
## data:  morosidad
## Dickey-Fuller Z(alpha) = -1.0171, Truncation lag parameter = 4, p-value
## = 0.986
## alternative hypothesis: stationary
## 
##  Augmented Dickey-Fuller Test
## 
## data:  diff(morosidad)
## Dickey-Fuller = -3.014, Lag order = 4, p-value = 0.1555
## alternative hypothesis: stationary
## 
##  Phillips-Perron Unit Root Test
## 
## data:  diff(morosidad)
## Dickey-Fuller Z(alpha) = -115.74, Truncation lag parameter = 4, p-value
## = 0.01
## alternative hypothesis: stationary
## 
##  Augmented Dickey-Fuller Test
## 
## data:  diff(morosidad, 12)
## Dickey-Fuller = -4.1992, Lag order = 4, p-value = 0.01
## alternative hypothesis: stationary
## 
##  Phillips-Perron Unit Root Test
## 
## data:  diff(morosidad, 12)
## Dickey-Fuller Z(alpha) = -5.2474, Truncation lag parameter = 4, p-value
## = 0.8125
## alternative hypothesis: stationary
## 
##  Augmented Dickey-Fuller Test
## 
## data:  diff(diff(morosidad, 12))
## Dickey-Fuller = -3.865, Lag order = 4, p-value = 0.01838
## alternative hypothesis: stationary
## 
##  Phillips-Perron Unit Root Test
## 
## data:  diff(diff(morosidad, 12))
## Dickey-Fuller Z(alpha) = -105.89, Truncation lag parameter = 4, p-value
## = 0.01
## alternative hypothesis: stationary
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression none 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0055042 -0.0008312 -0.0000326  0.0008587  0.0066719 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)  
## z.lag.1     -0.0008095  0.0021383  -0.379   0.7058  
## z.diff.lag1  0.0069833  0.0954846   0.073   0.9418  
## z.diff.lag2  0.1082623  0.0872034   1.241   0.2172  
## z.diff.lag3  0.1649564  0.0877540   1.880   0.0629 .
## z.diff.lag4  0.0963321  0.0891393   1.081   0.2823  
## z.diff.lag5  0.0154551  0.0878054   0.176   0.8606  
## z.diff.lag6  0.0383535  0.0869040   0.441   0.6599  
## z.diff.lag7  0.1673760  0.0869434   1.925   0.0569 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.001717 on 104 degrees of freedom
## Multiple R-squared:  0.1712, Adjusted R-squared:  0.1075 
## F-statistic: 2.686 on 8 and 104 DF,  p-value: 0.01003
## 
## 
## Value of test-statistic is: -0.3786 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau1 -2.58 -1.95 -1.62
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression none 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0052629 -0.0008170 -0.0001433  0.0008216  0.0061149 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## z.lag.1     -0.36916    0.14194  -2.601  0.01067 *  
## z.diff.lag1 -0.57571    0.14753  -3.902  0.00017 ***
## z.diff.lag2 -0.37633    0.15034  -2.503  0.01388 *  
## z.diff.lag3 -0.21954    0.14892  -1.474  0.14345    
## z.diff.lag4 -0.11676    0.14368  -0.813  0.41832    
## z.diff.lag5 -0.11676    0.13390  -0.872  0.38522    
## z.diff.lag6 -0.07014    0.11721  -0.598  0.55089    
## z.diff.lag7  0.10093    0.08629   1.170  0.24481    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.001675 on 103 degrees of freedom
## Multiple R-squared:  0.5259, Adjusted R-squared:  0.4891 
## F-statistic: 14.28 on 8 and 103 DF,  p-value: 7.933e-14
## 
## 
## Value of test-statistic is: -2.6009 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau1 -2.58 -1.95 -1.62
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression none 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0063080 -0.0006985  0.0001839  0.0009417  0.0072298 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)   
## z.lag.1     -0.036306   0.019492  -1.863  0.06570 . 
## z.diff.lag1 -0.003876   0.100847  -0.038  0.96943   
## z.diff.lag2  0.099748   0.088050   1.133  0.26022   
## z.diff.lag3  0.130308   0.086959   1.498  0.13743   
## z.diff.lag4  0.251716   0.086789   2.900  0.00466 **
## z.diff.lag5 -0.084913   0.089500  -0.949  0.34523   
## z.diff.lag6  0.106894   0.088736   1.205  0.23144   
## z.diff.lag7  0.178260   0.090436   1.971  0.05171 . 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.001921 on 92 degrees of freedom
## Multiple R-squared:  0.2227, Adjusted R-squared:  0.1551 
## F-statistic: 3.294 on 8 and 92 DF,  p-value: 0.002376
## 
## 
## Value of test-statistic is: -1.8627 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau1 -2.58 -1.95 -1.62
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression none 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0067472 -0.0008222  0.0001572  0.0010123  0.0065645 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## z.lag.1     -0.45796    0.16352  -2.801  0.00623 **
## z.diff.lag1 -0.52155    0.16702  -3.123  0.00240 **
## z.diff.lag2 -0.35745    0.16821  -2.125  0.03629 * 
## z.diff.lag3 -0.23735    0.16159  -1.469  0.14531   
## z.diff.lag4  0.01688    0.15403   0.110  0.91297   
## z.diff.lag5 -0.10464    0.13672  -0.765  0.44607   
## z.diff.lag6 -0.03109    0.11854  -0.262  0.79372   
## z.diff.lag7  0.12294    0.09039   1.360  0.17716   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.001936 on 91 degrees of freedom
## Multiple R-squared:  0.5744, Adjusted R-squared:  0.5369 
## F-statistic: 15.35 on 8 and 91 DF,  p-value: 4.698e-14
## 
## 
## Value of test-statistic is: -2.8006 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau1 -2.58 -1.95 -1.62

Con estos resultados concluimos que la base de datos tiene tendencia es decir se evidencia un comportamiento creciente y decreciente lo que nos indica que la base no es estacionaria lo cual también se confirma con las pruebas, gráficamente si se puede evidenciar también la presencia de ciclos por lo que se decide continuar con una diferencia estacional y una diferencia ordinaria ya que es la que cuenta con mejores resultados.

Procedemos a crear el grafico para identificar el modelo por medio del ACF y el PACF, con el cual se obtienes los siguientes modelos (p, d, q) x (P, D, Q):

  1. (4,1,0) x (1,1,0)
  2. (4,1,0) x (1,1,1)

A continuación, se procede a crear los modelos univariados y aplicar las pruebas para verificar los coeficientes más significativos para realizar el ajuste de los modelos planteados.

Construcción de los Modelos Univariados

modelo1<-stats::arima(morosidad,
        order=c(4,1,0), 
        seasonal=list(order=c(1,1,0),
        period=12), fixed = c(NA,NA,NA,NA,NA))

modelo2<-stats::arima(morosidad,
        order=c(4,1,0), 
        seasonal=list(order=c(1,1,1),
        period=12), fixed = c(NA,NA,NA,NA,NA,NA))

Ajsutes de los Modelos Univariados

Para el modelo 1, todos los coeficientes son significativos, pero para el modelo 2 se excluyen tres de estos.

## 
## Call:
## stats::arima(x = morosidad, order = c(4, 1, 0), seasonal = list(order = c(1, 
##     1, 0), period = 12), fixed = c(NA, NA, NA, NA, NA))
## 
## Coefficients:
##          ar1     ar2     ar3     ar4     sar1
##       0.1237  0.1989  0.1633  0.1866  -0.5480
## s.e.  0.0944  0.0957  0.0936  0.0943   0.1072
## 
## sigma^2 estimated as 3.792e-06:  log likelihood = 513.68,  aic = -1015.36
##          ar1          ar2          ar3          ar4         sar1 
## 9.650728e-02 2.014433e-02 4.203569e-02 2.529040e-02 7.498904e-07
## 
## Call:
## stats::arima(x = morosidad, order = c(4, 1, 0), seasonal = list(order = c(1, 
##     1, 1), period = 12), fixed = c(NA, NA, NA, NA, NA, NA))
## 
## Coefficients:
##          ar1     ar2     ar3     ar4     sar1     sma1
##       0.0595  0.1881  0.2506  0.1980  -0.0578  -0.7593
## s.e.  0.1002  0.0935  0.0962  0.0953   0.2266   0.2304
## 
## sigma^2 estimated as 3.285e-06:  log likelihood = 517.88,  aic = -1021.76
##          ar1          ar2          ar3          ar4         sar1         sma1 
## 0.2769276175 0.0234942350 0.0052725243 0.0201033254 0.3995430426 0.0006781006

Se ajustan los modelos y se obtienen los siguientes a los cuales se le excluyeron los coeficientes no significativos:

  1. (4,1,0) x (1,1,0)
  2. (4,1,3) x (0,1,1)

Se procede a realizar el diagnostico de los modelos para elegir el mejor en términos de BIC y pruebas de los residuales:

modelo1<-stats::arima(morosidad,
        order=c(4,1,0), 
        seasonal=list(order=c(1,1,0),
        period=12), fixed = c(NA,NA,NA,NA,NA))

modelo2<-stats::arima(morosidad,
        order=c(4,1,0), 
        seasonal=list(order=c(0,1,1),
        period=12), fixed = c(0,NA,NA,NA,NA))

Diagnostico de los Modelos

## [1] -999.3202
## [1] -1012.025

Pruebas para los Residuales

Se procede a realizar el diagnostico de los modelos para elegir el mejor en términos de BIC y pruebas de los residuales:

Modelo 1 Univariado

En este modelo podemos evidenciar en los residuales que se alinea a los datos reales pero en algunos intervalos se desvía del comportamiento real, se evidencia también una varianza constante lo que permite inferir en una media cercana a cero pero existen cuatro puntos que se salen de los rangos lo que nos indica que podemos ajustar el modelo pero no necesariamente descartarlo, en los gráficos del ACF y el PACF observamos que una barra se sale del límite y otra esta sobre este, en la gráfica de normalidad evidenciamos algunos datos alejados de la línea de normalidad lo que quizás nos dice que los residuales no son normales pero que se verificara con la prueba de normalidad.

##                Jan           Feb           Mar           Apr           May
## 2008  3.985057e-05  1.873778e-05  1.348530e-05  9.898033e-06  1.005088e-05
## 2009 -1.905776e-04  4.340114e-04  5.870897e-04  1.008826e-03 -8.503207e-04
## 2010 -1.456676e-03 -1.412411e-03 -5.123620e-04 -4.361223e-03 -1.678081e-03
## 2011  1.305928e-03  2.959346e-04 -2.476929e-03 -3.597934e-05  4.221921e-05
## 2012  3.379922e-04  4.071556e-04  2.934443e-03  1.431843e-03 -7.755773e-04
## 2013  5.052379e-04  6.909287e-04 -8.759881e-05 -2.689700e-04 -5.741140e-04
## 2014 -1.523484e-03 -1.328847e-03  4.372819e-04  9.906451e-04  1.045546e-03
## 2015 -1.232871e-03 -6.818346e-04 -1.468704e-03  2.088737e-03  3.887862e-04
## 2016 -7.805305e-05  7.673364e-04  8.359708e-04  2.498879e-04 -1.043742e-03
## 2017  6.654472e-03 -1.287009e-04 -1.864226e-03 -3.830568e-04  4.790590e-04
##                Jun           Jul           Aug           Sep           Oct
## 2008  9.049591e-06  1.612670e-05  1.733632e-05  1.375157e-05  1.378622e-05
## 2009 -2.977200e-03 -8.869089e-03 -2.595419e-05  2.625047e-03  1.142061e-03
## 2010  1.062445e-03 -4.285718e-03 -4.573846e-03 -1.796373e-03  1.573690e-03
## 2011  2.562514e-03  2.171620e-03 -6.702770e-04  1.896658e-03 -1.335001e-03
## 2012  1.915987e-03 -9.837270e-04  2.225904e-03  7.826376e-04 -4.426195e-04
## 2013  8.106375e-04 -9.668934e-04  9.703806e-04  8.554925e-04 -6.988943e-04
## 2014  1.033377e-05  1.921221e-04  4.316391e-04  1.291874e-03 -9.190395e-04
## 2015  7.107846e-04  1.088644e-03 -1.186751e-03  3.293246e-04  3.925327e-04
## 2016  1.476575e-03  1.521100e-03 -9.019136e-04 -1.217136e-03  1.575933e-03
## 2017 -2.534640e-03  1.606215e-05  2.193652e-04 -3.573573e-04 -4.132884e-04
##                Nov           Dec
## 2008  1.749007e-05 -2.784712e-05
## 2009 -2.238465e-03  5.522820e-03
## 2010 -3.011652e-03  3.479067e-03
## 2011  1.349716e-03 -3.688353e-03
## 2012 -7.074340e-04  5.384951e-04
## 2013  1.676464e-07 -6.581051e-04
## 2014  1.191942e-06 -5.816071e-05
## 2015  4.243792e-05 -1.005703e-04
## 2016  4.488191e-03 -1.511794e-03
## 2017  1.266527e-04  1.142460e-04
##             Jan        Feb        Mar        Apr        May        Jun
## 2008 0.06898338 0.07018715 0.07163425 0.07146405 0.07384640 0.07459407
## 2009 0.09247035 0.09358929 0.09574698 0.09667273 0.10037301 0.10011710
## 2010 0.10040708 0.10021296 0.10004900 0.09997271 0.09635394 0.09226956
## 2011 0.07710659 0.07797289 0.07844376 0.07416472 0.07349147 0.07048533
## 2012 0.06800432 0.06775523 0.06741955 0.06717662 0.06864035 0.06761512
## 2013 0.06720941 0.06820538 0.06932144 0.06826285 0.06796082 0.06834085
## 2014 0.06763540 0.06635468 0.06594641 0.06430576 0.06417480 0.06680835
## 2015 0.06739639 0.06621729 0.06617047 0.06306840 0.06436575 0.06635015
## 2016 0.06746090 0.06671203 0.06807871 0.06889244 0.06940504 0.07069003
## 2017 0.08051448 0.08890459 0.09156861 0.09167878 0.09278517 0.09728528
##             Jul        Aug        Sep        Oct        Nov        Dec
## 2008 0.08358557 0.08702735 0.08528452 0.08677071 0.09195799 0.08969532
## 2009 0.10430044 0.09711803 0.09289091 0.09454515 0.09801034 0.09318367
## 2010 0.09586616 0.09202195 0.08308172 0.07918362 0.08036242 0.07435490
## 2011 0.07040250 0.07171281 0.06758437 0.06995154 0.06758974 0.07108141
## 2012 0.06941887 0.06624647 0.06521061 0.06660914 0.06537373 0.06524977
## 2013 0.06876992 0.06727408 0.06652545 0.06751611 0.06661219 0.06669284
## 2014 0.06578615 0.06640071 0.06533016 0.06681800 0.06539313 0.06605635
## 2015 0.06597229 0.06824768 0.06673161 0.06666840 0.06701849 0.06716150
## 2016 0.07212881 0.07475795 0.07429910 0.07322169 0.07497130 0.08066490
## 2017 0.09608122 0.09662259 0.09693703 0.09732653 0.09921576 0.09929175
## [1]  19 109

## 
##  Box-Ljung test
## 
## data:  et
## X-squared = 16.223, df = 15, p-value = 0.3674

## 
##  Runs Test
## 
## data:  as.factor(sign(et))
## Standard Normal = -0.87235, p-value = 0.383
## alternative hypothesis: two.sided
## 
##  Jarque Bera Test
## 
## data:  et
## X-squared = 153.13, df = 2, p-value < 2.2e-16

Modelo 2 Univariado

En este modelo podemos evidenciar en los residuales que se alinea a los datos reales un poco más ajustados, se evidencia también una varianza constante con algunos datos que se ven atípicos pero aun así se puede inferir que hay una media cercana a cero, en los gráficos del ACF y el PACF observamos todas las barras dentro del límite, en la gráfica de normalidad evidenciamos un poco menos de datos que el Modelo 1 alejados de la línea de normalidad lo que quizás nos dice que los residuales no son normales pero se verificara con la prueba de normalidad.

##                Jan           Feb           Mar           Apr           May
## 2008  3.985057e-05  1.873778e-05  1.348531e-05  9.898033e-06  1.005088e-05
## 2009 -1.905769e-04  4.015158e-04  5.826120e-04  9.774629e-04 -6.786176e-04
## 2010 -7.206595e-04 -1.071746e-03 -9.659167e-04 -4.068845e-03 -1.773182e-03
## 2011  1.253143e-03  6.293538e-04 -2.263060e-03 -3.709297e-04 -4.289920e-04
## 2012 -3.330507e-04 -7.505815e-05  2.299711e-03  1.238067e-04 -1.344882e-03
## 2013  9.546808e-04  1.007346e-03 -5.161180e-04 -4.552068e-04 -1.108722e-03
## 2014 -1.458799e-03 -1.295386e-03  1.101271e-03  1.039733e-03  4.199716e-04
## 2015 -1.103529e-03 -7.029465e-04 -1.540560e-03  2.000581e-03  2.873764e-04
## 2016 -1.059839e-03 -2.225356e-05  1.017127e-03  1.348667e-03 -7.944143e-04
## 2017  5.607031e-03 -3.793467e-05 -2.031640e-03  2.308692e-04  1.580163e-04
##                Jun           Jul           Aug           Sep           Oct
## 2008  9.049589e-06  1.612670e-05  1.733631e-05  1.375156e-05  1.378620e-05
## 2009 -2.847666e-03 -8.593105e-03 -1.061500e-03  2.435382e-03  1.941586e-03
## 2010  8.503392e-04 -2.954228e-03 -4.309749e-03 -2.490460e-03  1.138433e-03
## 2011  1.735157e-03 -8.177125e-04 -1.192292e-03  2.067851e-03 -4.765086e-04
## 2012  2.205220e-03 -2.114532e-03  2.495608e-04  2.597434e-04  6.796311e-05
## 2013  1.899394e-03 -1.649886e-03  4.287133e-04  1.765113e-03 -6.918510e-04
## 2014  1.524350e-03 -1.163742e-03  6.054862e-04  1.877627e-03 -8.823779e-04
## 2015  2.109145e-03  1.418367e-05 -7.316782e-04  1.444711e-03 -2.047829e-04
## 2016  2.499313e-03  1.133866e-03 -5.259971e-04 -1.836983e-04  7.915561e-04
## 2017 -7.049933e-04  2.212012e-05 -4.641294e-04  4.096301e-04 -2.980505e-04
##                Nov           Dec
## 2008  1.749005e-05 -2.784715e-05
## 2009 -1.839460e-03  4.615502e-03
## 2010 -2.107102e-03  2.516164e-03
## 2011  3.154201e-04 -1.775086e-03
## 2012 -1.606878e-03  9.728565e-04
## 2013 -3.299790e-04 -1.259932e-03
## 2014 -8.948552e-04 -6.397126e-05
## 2015 -2.208924e-04 -6.599443e-04
## 2016  4.225035e-03 -1.001439e-03
## 2017  1.030297e-03 -4.379344e-04
##             Jan        Feb        Mar        Apr        May        Jun
## 2008 0.06898338 0.07018715 0.07163425 0.07146405 0.07384640 0.07459407
## 2009 0.09247035 0.09362179 0.09575146 0.09670409 0.10020131 0.09998757
## 2010 0.09967106 0.09987230 0.10050255 0.09968033 0.09644904 0.09248167
## 2011 0.07715937 0.07763947 0.07822989 0.07449967 0.07396268 0.07131269
## 2012 0.06867536 0.06823744 0.06805428 0.06848466 0.06920966 0.06732589
## 2013 0.06675997 0.06788896 0.06974996 0.06844909 0.06849543 0.06725209
## 2014 0.06757071 0.06632122 0.06528242 0.06425667 0.06480038 0.06529433
## 2015 0.06726705 0.06623840 0.06624232 0.06315656 0.06446716 0.06495179
## 2016 0.06844269 0.06750162 0.06789756 0.06779366 0.06915571 0.06966729
## 2017 0.08156192 0.08881383 0.09173603 0.09106486 0.09310621 0.09545563
##             Jul        Aug        Sep        Oct        Nov        Dec
## 2008 0.08358558 0.08702735 0.08528452 0.08677071 0.09195799 0.08969532
## 2009 0.10402446 0.09815358 0.09308057 0.09374563 0.09761134 0.09409099
## 2010 0.09453467 0.09175785 0.08377581 0.07961888 0.07945787 0.07531780
## 2011 0.07339184 0.07223482 0.06741318 0.06909304 0.06862404 0.06916815
## 2012 0.07054967 0.06822281 0.06573351 0.06609855 0.06627317 0.06481541
## 2013 0.06945291 0.06781575 0.06561583 0.06750906 0.06694234 0.06729466
## 2014 0.06714201 0.06622686 0.06474441 0.06678134 0.06628917 0.06606216
## 2015 0.06704675 0.06779261 0.06561622 0.06726571 0.06728182 0.06772087
## 2016 0.07251605 0.07438203 0.07326566 0.07400607 0.07523446 0.08015454
## 2017 0.09607516 0.09730608 0.09617005 0.09721129 0.09831211 0.09984393
## [1]  19 109

## 
##  Box-Ljung test
## 
## data:  et
## X-squared = 15.489, df = 15, p-value = 0.4168

## 
##  Runs Test
## 
## data:  as.factor(sign(et))
## Standard Normal = -0.91673, p-value = 0.3593
## alternative hypothesis: two.sided
## 
##  Jarque Bera Test
## 
## data:  et
## X-squared = 157.76, df = 2, p-value < 2.2e-16

Con las pruebas a los residuales se obtienen buenos resultados para los dos modelos, pero por BIC se decide elegir el Modelo 2, adicional ninguno paso las pruebas de normalidad, pero aun así no se descartan por esta.

Correlación Cruzada

Se aplica la función de correlación cruzada de muestra (CCF) para identificar si existen retrasos entre las variables de morosidad y desempleo.

A partir de esto se crea un modelo multivariado con morosidad y desempleo sin rezagar la variable de desempleo y una con un rezago de 1 para esta. ccfvalues<-ccf(desempleo,morosidad,20)

ccfvalues<-ccf(desempleo,morosidad,20)

ccfvalues
## 
## Autocorrelations of series 'X', by lag
## 
## -1.6667 -1.5833 -1.5000 -1.4167 -1.3333 -1.2500 -1.1667 -1.0833 -1.0000 -0.9167 
##  -0.031   0.010   0.050   0.089   0.114   0.133   0.166   0.187   0.206   0.247 
## -0.8333 -0.7500 -0.6667 -0.5833 -0.5000 -0.4167 -0.3333 -0.2500 -0.1667 -0.0833 
##   0.271   0.282   0.294   0.335   0.362   0.375   0.384   0.395   0.413   0.425 
##  0.0000  0.0833  0.1667  0.2500  0.3333  0.4167  0.5000  0.5833  0.6667  0.7500 
##   0.422   0.428   0.431   0.433   0.448   0.476   0.501   0.502   0.505   0.503 
##  0.8333  0.9167  1.0000  1.0833  1.1667  1.2500  1.3333  1.4167  1.5000  1.5833 
##   0.513   0.523   0.513   0.505   0.485   0.460   0.447   0.451   0.448   0.432 
##  1.6667 
##   0.416

Modelo 1 Multivariado

Modelo 1 (4,1,0) x (0,1,1) sin rezago: En este modelo sin rezagar la variable exógena no es significativa por lo que se ajustará el Modelo a uno con un rezago según la gráfica 6 de correlación cruzada (CCF).

modelo1m = Arima(morosidad, order = c(4,1,0),
                 season = list(order = c(0,1,1), 
                               freq = 12),
                 xreg = desempleo)
BIC(modelo1m) 
## [1] -1003.473
tt <- modelo2$coef[which(modelo2$coef!=0)]/sqrt(diag(modelo2$var.coef))
1 - pt(abs(tt),(modelo2$nobs - length(modelo2$coef[which(modelo2$coef!=0)])))
##          ar2          ar3          ar4         sma1 
## 1.892474e-02 2.393847e-03 1.092950e-02 4.672249e-07
tt <- modelo1m$coef[which(modelo1m$coef!=0)]/sqrt(diag(modelo1m$var.coef))
1 - pt(abs(tt),(modelo1m$nobs - length(modelo1m$coef[which(modelo1m$coef!=0)])))
##          ar1          ar2          ar3          ar4         sma1         xreg 
## 2.853919e-01 2.296724e-02 4.940629e-03 3.072779e-02 3.371080e-07 2.434374e-01

Modelo 2 Multivariado

Modelo 2 (4,1,0) x (0,1,1) con rezagos: En este modelo se aplica a la base 6 rezagos diferentes desde 1 hasta 6 para realizar las pruebas y en la cual aparece que la variable exógena con 6 rezagos es significativa.

Lagt = function(x, k){
  n = length(x)
  x1 = matrix(0, n, k)
  for (j in 1:k){
    for (i in (j+1):n) {
      x1[i,j] = x[i-j]
    }
  }
  return(x1)
}

xreg2 = desempleo
xlag = Lagt(xreg2, 6)




Lagtp = function(x, k){
  n = length(x)
  x1 = matrix(0, n)
  for (i in (k+1):n) {
    x1[i] = x[i-k]
  }
  return(x1)
}
xreg2 = desempleo
xlag2 = Lagtp(xreg2, 6)
modelo2m = Arima(morosidad, order = c(4,1,0),
                 season = list(order = c(0,1,1), 
                               freq = 12),
                 xreg = xlag)
BIC(modelo2m) 
## [1] -1005.093
tt <- modelo2m$coef[which(modelo2m$coef!=0)]/sqrt(diag(modelo2m$var.coef))
1 - pt(abs(tt),(modelo2m$nobs - length(modelo2m$coef[which(modelo2m$coef!=0)])))
##          ar1          ar2          ar3          ar4         sma1        xreg1 
## 4.600210e-01 6.117796e-03 6.356565e-04 1.097111e-01 9.784752e-05 4.055461e-01 
##        xreg2        xreg3        xreg4        xreg5        xreg6 
## 4.344580e-01 3.894354e-01 2.552062e-01 4.036994e-01 3.397006e-06

Ajsutes del Modelo Multivariado

Se procede a realizar el ajuste del Modelo eliminando los coeficientes no significativos

Modelo 3 (4,1,0) x (0,1,1) con rezagos ajustado: En este modelo los coeficientes son significativos y a este se le aplican las pruebas a los residuales. Los residuales se alinea a los datos reales un poco más ajustados, se evidencia también una varianza constante con algunos datos que se ven atípicos, pero aun así se puede inferir que hay una media cercana a cero, en los gráficos del ACF y el PACF observamos todas las barras dentro del límite, en la gráfica de normalidad evidenciamos un poco menos de datos que modelos anteriores alejados de la línea de normalidad lo que quizás nos dice que los residuales no son normales.

modelo3mprueba = Arima(morosidad, order = c(4,1,0),
                 season = list(order = c(0,1,1), 
                               freq = 12), fixed=c(0,NA,NA,NA,NA,0,0,0,0,0,NA),
                 xreg = xlag)
modelo3m = Arima(morosidad, order = c(4,1,0),
                 season = list(order = c(0,1,1), 
                               freq = 12), fixed=c(0,NA,NA,NA,NA,NA),
                 xreg = xlag2)
BIC(modelo3m) 
## [1] -1032.302
tt <- modelo3m$coef[which(modelo3m$coef!=0)]/sqrt(diag(modelo3m$var.coef))
1 - pt(abs(tt),(modelo3m$nobs - length(modelo3m$coef[which(modelo3m$coef!=0)])))
##          ar2          ar3          ar4         sma1         xreg 
## 5.459408e-03 1.264084e-04 1.023460e-01 3.428175e-02 2.688083e-07
##                Jan           Feb           Mar           Apr           May
## 2008  3.985056e-05  1.873777e-05  1.348529e-05  9.898002e-06  1.005083e-05
## 2009 -2.085894e-04  7.548314e-04  5.978180e-04  1.156134e-03 -1.163707e-03
## 2010 -5.104468e-04 -8.663699e-04 -1.774138e-03 -3.225383e-03 -1.193422e-03
## 2011  1.239161e-03  1.320379e-03 -2.254171e-03 -5.307653e-04 -9.539389e-04
## 2012  1.936413e-04  3.457843e-04  2.207885e-03 -9.208816e-05 -1.547691e-03
## 2013  1.125054e-03  1.061784e-03 -1.110100e-03 -1.714958e-04 -1.197705e-03
## 2014 -1.098769e-03 -1.581697e-03  1.129748e-03  1.364906e-03 -2.041889e-05
## 2015 -4.512339e-04 -1.078208e-03 -1.164845e-03  1.859216e-03  5.228265e-04
## 2016 -6.824984e-04 -9.474688e-04  7.207511e-04  1.610027e-03  1.244308e-04
## 2017  4.709068e-03 -1.738642e-04 -1.448581e-03 -3.883390e-04  1.139534e-03
##                Jun           Jul           Aug           Sep           Oct
## 2008  9.049527e-06  7.455559e-06  1.048518e-05  8.176831e-06  8.834991e-06
## 2009 -2.733940e-03 -3.168045e-03 -3.077498e-04  1.511641e-03  4.489866e-04
## 2010  7.287914e-04  3.074367e-04 -3.900477e-03 -2.848814e-03  3.301365e-04
## 2011  1.407551e-03  1.615121e-03 -1.574129e-03  2.142254e-03 -9.490255e-04
## 2012  1.512220e-03 -2.612537e-05 -3.517611e-04  1.018815e-04 -2.089034e-04
## 2013  1.911339e-03 -1.497961e-04 -2.807169e-04  1.547046e-03 -5.181883e-04
## 2014  1.505814e-03 -3.789093e-05  9.539441e-05  1.343508e-03 -3.454630e-04
## 2015  1.624796e-03  9.882124e-04 -5.731768e-04  1.097140e-03 -8.466868e-04
## 2016  2.003465e-03  1.177031e-03  1.136161e-05 -1.069059e-03  1.533079e-03
## 2017 -7.401178e-04  2.876345e-04 -3.735125e-04  5.545281e-04  5.599700e-05
##                Nov           Dec
## 2008  1.318801e-05 -3.089839e-05
## 2009 -2.800999e-03  4.562226e-03
## 2010 -2.431041e-03  2.400918e-03
## 2011 -3.917905e-04 -1.799805e-03
## 2012 -1.900348e-03  1.260549e-03
## 2013 -3.618464e-04 -1.292510e-03
## 2014 -1.224088e-03 -5.789201e-04
## 2015 -3.672542e-04 -3.101969e-04
## 2016  3.806364e-03 -1.300498e-03
## 2017  5.404992e-04 -3.338781e-04
##             Jan        Feb        Mar        Apr        May        Jun
## 2008 0.06898338 0.07018715 0.07163425 0.07146405 0.07384640 0.07459407
## 2009 0.09248836 0.09326847 0.09573625 0.09652542 0.10068639 0.09987384
## 2010 0.09946085 0.09966692 0.10131077 0.09883687 0.09586928 0.09260322
## 2011 0.07717335 0.07694845 0.07822100 0.07465951 0.07448762 0.07164030
## 2012 0.06814867 0.06781660 0.06814611 0.06870055 0.06941247 0.06801889
## 2013 0.06658960 0.06783452 0.07034394 0.06816537 0.06858441 0.06724015
## 2014 0.06721068 0.06660753 0.06525394 0.06393150 0.06524077 0.06531286
## 2015 0.06661475 0.06661366 0.06586661 0.06329792 0.06423171 0.06543613
## 2016 0.06806535 0.06842684 0.06819393 0.06753230 0.06823686 0.07016314
## 2017 0.08245989 0.08894976 0.09115297 0.09168406 0.09212469 0.09549076
##             Jul        Aug        Sep        Oct        Nov        Dec
## 2008 0.08359425 0.08703420 0.08529010 0.08677566 0.09196229 0.08969837
## 2009 0.09859940 0.09739983 0.09400431 0.09523823 0.09857287 0.09414427
## 2010 0.09127301 0.09134858 0.08413417 0.08042717 0.07978181 0.07543305
## 2011 0.07095900 0.07261666 0.06733878 0.06956556 0.06933125 0.06919287
## 2012 0.06846126 0.06882414 0.06589137 0.06637542 0.06656664 0.06452772
## 2013 0.06795282 0.06852518 0.06583390 0.06733540 0.06697421 0.06732724
## 2014 0.06601616 0.06673695 0.06527853 0.06624443 0.06661841 0.06657711
## 2015 0.06607272 0.06763411 0.06596379 0.06790762 0.06742818 0.06737113
## 2016 0.07247288 0.07384467 0.07415102 0.07326455 0.07565313 0.08045360
## 2017 0.09580965 0.09721546 0.09602515 0.09685725 0.09880191 0.09973987
## [1] 109  24

## 
##  Box-Ljung test
## 
## data:  et
## X-squared = 12.205, df = 15, p-value = 0.6634

## 
##  Runs Test
## 
## data:  as.factor(sign(et))
## Standard Normal = -1.6501, p-value = 0.09892
## alternative hypothesis: two.sided
## 
##  Jarque Bera Test
## 
## data:  et
## X-squared = 10.943, df = 2, p-value = 0.004206

Con las pruebas a los residuales se obtienen buenos resultados para el modelo 3 multivariado con 6 rezagos en la variable de desempleo, aunque no paso las pruebas de normalidad no se descarta el modelo por esta razón.

Pronostico

Se realiza la proyección de los dos Modelos seleccionados con un h=12 uno por el modelo Univariado (Modelo 2) y el otro por el modelo Multivariado (Modelo 3).

Modelo 2 Univariado

##          Point Forecast      Lo 80     Hi 80      Lo 95     Hi 95
## Jan 2018      0.1021234 0.09981010 0.1044366 0.09858554 0.1056612
## Feb 2018      0.1029480 0.09967885 0.1062172 0.09794826 0.1079478
## Mar 2018      0.1041626 0.09988992 0.1084353 0.09762811 0.1106971
## Apr 2018      0.1040970 0.09866197 0.1095321 0.09578483 0.1124092
## May 2018      0.1046516 0.09794117 0.1113621 0.09438887 0.1149144
## Jun 2018      0.1063121 0.09841285 0.1142114 0.09423122 0.1183930
## Jul 2018      0.1069950 0.09788837 0.1161017 0.09306759 0.1209225
## Aug 2018      0.1074294 0.09710865 0.1177502 0.09164516 0.1232137
## Sep 2018      0.1064461 0.09492964 0.1179625 0.08883321 0.1240590
## Oct 2018      0.1068286 0.09414437 0.1195129 0.08742972 0.1262276
## Nov 2018      0.1080460 0.09420992 0.1218820 0.08688556 0.1292064
## Dec 2018      0.1082242 0.09325957 0.1231889 0.08533776 0.1311107
## Jan 2019      0.1105692 0.09434647 0.1267919 0.08575867 0.1353797
## Feb 2019      0.1111068 0.09367060 0.1285431 0.08444041 0.1377733

Modelo 3 Multivariado

newxreg1=ts(Base_morosidad[121:134,2])
newxreg1
## Time Series:
## Start = 1 
## End = 14 
## Frequency = 1 
##        Desempleo
##  [1,] 0.11762348
##  [2,] 0.10803218
##  [3,] 0.09435967
##  [4,] 0.09462586
##  [5,] 0.09729973
##  [6,] 0.09082087
##  [7,] 0.09720666
##  [8,] 0.09156415
##  [9,] 0.09482185
## [10,] 0.09061199
## [11,] 0.08758346
## [12,] 0.09721090
## [13,] 0.12795458
## [14,] 0.11768398
pred <- predict(modelo3m, n.ahead=14, newxreg =newxreg1) # Multivariado
pred
## $pred
##            Jan       Feb       Mar       Apr       May       Jun       Jul
## 2018 0.1034385 0.1042528 0.1046222 0.1048795 0.1056469 0.1060832 0.1045371
## 2019 0.1104891 0.1108208                                                  
##            Aug       Sep       Oct       Nov       Dec
## 2018 0.1053522 0.1049461 0.1050311 0.1058712 0.1069556
## 2019                                                  
## 
## $se
##              Jan         Feb         Mar         Apr         May         Jun
## 2018 0.001616101 0.002281247 0.003024237 0.003934432 0.004825200 0.005703058
## 2019 0.011740330 0.012573484                                                
##              Jul         Aug         Sep         Oct         Nov         Dec
## 2018 0.006600820 0.007487348 0.008357442 0.009215593 0.010056368 0.010877569
## 2019
z2<-ts(Base_morosidad[2], start = c(2008,1), frequency = 12)
z3<-ts(Base_morosidad[3], start = c(2008,1), frequency = 12)

plot(forecast(modelo3m, xreg =newxreg1 ))
## Warning in forecast.forecast_ARIMA(modelo3m, xreg = newxreg1): xreg contains
## different column names from the xreg used in training. Please check that the
## regressors are in the same order.
lines(z2, col="red")
lines(z3, col="blue")

Según los resultados del Modelo 3 podemos evidenciar que este se ajusta en los primeros intervalos de medición pero a medida que trascurre el tiempo los datos se van alejando de la muestra de comprobación y el pronóstico del Modelo 2 a pesar de ser univariado presenta la misma tendencia que el Modelo 3 multivariado que cuenta con 6 rezagos en la variable de desempleo.