R Markdown

library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(car)
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
datos <- read_excel("SerieTiempo.xlsx")
datos <-  ts(datos, start = 2010, frequency = 12)

desempleo=ts(datos[,2],start=2010,frequency=12)
inpc=ts(datos[,3],start=2010,frequency=12)
inflacion_anual=ts(datos[,4],start=2010,frequency=12)
pib=ts(datos[,5],start=2010,frequency=12)
tipo_cambio=ts(datos[,6],start=2010,frequency=12)
sal_min=ts(datos[,7],start=2010,frequency=12)
cetes=ts(datos[,8],start=2010,frequency=12)
tiie=ts(datos[,9],start=2010,frequency=12)
ahorro_bruto=ts(datos[,10],start=2010,frequency=12)

Reg1 <-  lm(desempleo ~inpc + inflacion_anual + pib + tipo_cambio + sal_min + cetes + tiie + ahorro_bruto, data = datos)
summary(Reg1)
## 
## Call:
## lm(formula = desempleo ~ inpc + inflacion_anual + pib + tipo_cambio + 
##     sal_min + cetes + tiie + ahorro_bruto, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -46.962 -14.794   4.509  14.293  44.287 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      3.241e+02  4.089e+01   7.925 1.62e-12 ***
## inpc             4.694e+00  7.156e-01   6.560 1.61e-09 ***
## inflacion_anual  1.636e+00  4.865e-01   3.363 0.001048 ** 
## pib             -1.696e-05  3.049e-06  -5.562 1.76e-07 ***
## tipo_cambio     -2.998e+00  1.681e+00  -1.783 0.077245 .  
## sal_min         -1.334e+00  1.460e-01  -9.136 2.67e-15 ***
## cetes           -8.192e+00  2.558e+00  -3.202 0.001765 ** 
## tiie             8.161e+00  2.271e+00   3.594 0.000481 ***
## ahorro_bruto    -7.107e+00  1.271e+00  -5.591 1.54e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.02 on 115 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.6326, Adjusted R-squared:  0.6071 
## F-statistic: 24.75 on 8 and 115 DF,  p-value: < 2.2e-16
vif(Reg1)
##            inpc inflacion_anual             pib     tipo_cambio         sal_min 
##      144.719675        5.079442       27.969135       15.478351       25.100756 
##           cetes            tiie    ahorro_bruto 
##      175.018205      170.272440        1.761944
head(datos)
##          Trimestre Tasa_desempleo  INPC Inflacion_anual      PIB Tipo_cambio
## Jan 2010         1            110 16.97           20.43 14043942    5.992949
## Feb 2010         2            113 19.69           37.72 13287444    6.153019
## Mar 2010         3            112 20.85           43.48 13412238    6.209875
## Apr 2010         4            101 22.52           51.97 13857624    7.329705
## May 2010         5             95 24.39           43.75 14237650    7.524235
## Jun 2010         6             85 25.96           31.82 14340821    7.482277
##          Salario_min CETES TIIE Ahorro_bruto
## Jan 2010       14.95 51.04 62.1       23.896
## Feb 2010       16.74 59.38 62.1       19.133
## Mar 2010       16.74 36.41 39.4       20.411
## Apr 2010       17.30 47.80 51.5       21.226
## May 2010       18.43 28.64 31.6       22.242
## Jun 2010       20.66 28.64 31.6       21.115

Regresión mejorada

Reg2 <- lm(desempleo ~ inflacion_anual + pib + tipo_cambio + sal_min + cetes + ahorro_bruto, data = datos)
summary(Reg2)
## 
## Call:
## lm(formula = desempleo ~ inflacion_anual + pib + tipo_cambio + 
##     sal_min + cetes + ahorro_bruto, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -52.642 -17.171  -0.256  13.485  74.236 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      2.424e+02  4.649e+01   5.214 8.08e-07 ***
## inflacion_anual  1.131e+00  5.651e-01   2.002   0.0476 *  
## pib             -2.517e-07  2.085e-06  -0.121   0.9041    
## tipo_cambio      4.904e+00  1.194e+00   4.107 7.47e-05 ***
## sal_min         -4.610e-01  6.472e-02  -7.122 9.29e-11 ***
## cetes           -2.963e-02  5.031e-01  -0.059   0.9531    
## ahorro_bruto    -1.034e+01  1.361e+00  -7.602 7.99e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 25.01 on 117 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.4711, Adjusted R-squared:  0.444 
## F-statistic: 17.37 on 6 and 117 DF,  p-value: 2.73e-14

Ver si cumple los supuestos de Multicolinealidad por medio del VIF

vif(Reg2)
## inflacion_anual             pib     tipo_cambio         sal_min           cetes 
##        4.842865        9.235261        5.518423        3.484765        4.783401 
##    ahorro_bruto 
##        1.426794
Reg3 <- lm(desempleo ~ inflacion_anual + tipo_cambio + sal_min + cetes + ahorro_bruto, data = datos)
summary(Reg3)
## 
## Call:
## lm(formula = desempleo ~ inflacion_anual + tipo_cambio + sal_min + 
##     cetes + ahorro_bruto, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -52.214 -16.968  -0.268  13.710  74.324 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     238.03000   29.24427   8.139 4.60e-13 ***
## inflacion_anual   1.15328    0.53273   2.165   0.0324 *  
## tipo_cambio       4.80679    0.87709   5.480 2.44e-07 ***
## sal_min          -0.46439    0.05802  -8.004 9.38e-13 ***
## cetes            -0.02373    0.49865  -0.048   0.9621    
## ahorro_bruto    -10.31842    1.33846  -7.709 4.40e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 24.9 on 118 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.471,  Adjusted R-squared:  0.4486 
## F-statistic: 21.01 on 5 and 118 DF,  p-value: 5.639e-15
vif(Reg3)
## inflacion_anual     tipo_cambio         sal_min           cetes    ahorro_bruto 
##        4.340181        3.001760        2.823604        4.738238        1.392047

En este casi el pib esta muy inflado pero si lo eliminamos se soluciona el problema y seguimos estando dentro de rangos aceptables de vif y de variables míinimas.

Ver si cumple con el supuesto de Autocorrelación con la prueba de Durbin-Watson

library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
dwtest(Reg2)
## 
##  Durbin-Watson test
## 
## data:  Reg2
## DW = 0.9227, p-value = 3.294e-11
## alternative hypothesis: true autocorrelation is greater than 0
dwtest(Reg3)
## 
##  Durbin-Watson test
## 
## data:  Reg3
## DW = 0.92811, p-value = 6.674e-11
## alternative hypothesis: true autocorrelation is greater than 0

Ver si cumple autocorrelación con Prueba Breusch-Godfrey

bgtest(Reg2)
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  Reg2
## LM test = 40.035, df = 1, p-value = 2.494e-10
bgtest(Reg2, order = 4)
## 
##  Breusch-Godfrey test for serial correlation of order up to 4
## 
## data:  Reg2
## LM test = 72.325, df = 4, p-value = 7.329e-15
bgtest(Reg3, order = 4)
## 
##  Breusch-Godfrey test for serial correlation of order up to 4
## 
## data:  Reg3
## LM test = 68.364, df = 4, p-value = 5.026e-14

Correción de la autocorrelación

library(sandwich)
library(lmtest)

coeftest(
 Reg3,
 vcov = NeweyWest(Reg3)
)
## 
## t test of coefficients:
## 
##                   Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)     238.030002  41.005263  5.8049 5.538e-08 ***
## inflacion_anual   1.153276   0.338384  3.4082 0.0008953 ***
## tipo_cambio       4.806787   1.409410  3.4105 0.0008884 ***
## sal_min          -0.464392   0.060332 -7.6973 4.686e-12 ***
## cetes            -0.023726   0.426228 -0.0557 0.9557028    
## ahorro_bruto    -10.318423   1.891366 -5.4555 2.731e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

CETES sigue sinser significativa pro lo que podríamos borrarla a ver is mejora nuestro modelo

Reg4 <- lm(desempleo ~ inflacion_anual + tipo_cambio + sal_min + ahorro_bruto, data = datos)
summary(Reg4)
## 
## Call:
## lm(formula = desempleo ~ inflacion_anual + tipo_cambio + sal_min + 
##     ahorro_bruto, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -52.244 -16.947  -0.259  13.748  73.708 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     238.30702   28.53846   8.350 1.43e-13 ***
## inflacion_anual   1.13238    0.30025   3.771 0.000254 ***
## tipo_cambio       4.81800    0.84127   5.727 7.82e-08 ***
## sal_min          -0.46518    0.05535  -8.405 1.07e-13 ***
## ahorro_bruto    -10.33937    1.25870  -8.214 2.96e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 24.8 on 119 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.471,  Adjusted R-squared:  0.4532 
## F-statistic: 26.49 on 4 and 119 DF,  p-value: 1.019e-15

Nos quedamos con el modleo de Reg4 que tiene las mejores métricas.