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.