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):
- (4,1,0) x (1,1,0)
- (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:
- (4,1,0) x (1,1,0)
- (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.