cargar las bases de datos (copy paste de los primeros dos códigos)
library(readxl)
Corte_transversal <- read_excel("CorteTransversal.xlsx")
Serie_tiempo <- read_excel("SerieTiempo.xlsx")
desempleo=ts(Serie_tiempo[,2],start=2010,frequency=12)
inpc=ts(Serie_tiempo[,3],start=2010,frequency=12)
inflacion_anual=ts(Serie_tiempo[,4],start=2010,frequency=12)
pib=ts(Serie_tiempo[,5],start=2010,frequency=12)
tipo_cambio=ts(Serie_tiempo[,6],start=2010,frequency=12)
sal_min=ts(Serie_tiempo[,7],start=2010,frequency=12)
cetes=ts(Serie_tiempo[,8],start=2010,frequency=12)
tiie=ts(Serie_tiempo[,9],start=2010,frequency=12)
ahorro_bruto=ts(Serie_tiempo[,10],start=2010,frequency=12)
Crear el modelo de ecuaciones
head(Serie_tiempo)
## # A tibble: 6 × 10
## Trimestre Tasa_desempleo INPC Inflacion_anual PIB Tipo_cambio Salario_min
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1995 Q1 5.7 17.0 20.4 1.40e7 5.99 15.0
## 2 1995 Q2 6.86 19.7 37.7 1.33e7 6.15 16.7
## 3 1995 Q3 6.5 20.8 43.5 1.34e7 6.21 16.7
## 4 1995 Q4 5.2 22.5 52.0 1.39e7 7.33 17.3
## 5 1996 Q1 5.05 24.4 43.8 1.42e7 7.52 18.4
## 6 1996 Q2 4.8 26.0 31.8 1.43e7 7.48 20.7
## # ℹ 3 more variables: CETES <dbl>, TIIE <dbl>, Ahorro_bruto <dbl>
Serie_tiempo$Tasa_desempleo
## [1] "5.7" "6.86" "6.5" "5.2" "5.05" "4.8" "4.6" "4.1"
## [9] "3.9" "3.5" "3.4" "3.1" "3.15" "2.8" "3.0" "2.6"
## [17] "2.7" "2.45" "2.5" "2.2" "2.25" "2.1" "2.3" "2.15"
## [25] "2.3" "2.25" "2.5" "2.4" "2.7" "2.4" "2.9" "2.5"
## [33] "2.8" "3.0" "3.8" "3.1" "3.6" "3.4" "4.0" "3.8"
## [41] "3.8457" "3.4724" "3.768" "3.1128" "3.5255" "3.134" "3.9839" "3.5899"
## [49] "3.9466" "3.3301" "3.8408" "3.4639" "3.8842" "3.4401" "4.1239" "4.1911"
## [57] "5.0041" "5.1136" "6.1518" "5.2377" "5.3016" "5.1747" "5.5674" "5.2921"
## [65] "5.1611" "5.2382" "5.5468" "4.857" "4.9168" "4.8153" "5.1093" "4.8697"
## [73] "4.9078" "5.0146" "5.243" "4.6368" "4.8171" "4.9006" "5.2565" "4.3896"
## [81] "4.2367" "4.3479" "4.5915" "4.1579" "4.0508" "3.9226" "4.0129" "3.5312"
## [89] "3.3898" "3.4627" "3.5488" "3.3492" "3.1215" "3.3326" "3.4438" "3.2665"
## [97] "3.3531" "3.5331" "3.7343" "3.3741" "3.4316" "N/D" "5.154" "4.5449"
## [105] "4.3547" "4.206" "4.2383" "3.6598" "3.4539" "3.2319" "3.4297" "2.9863"
## [113] "2.658" "2.8139" "2.9925" "2.685" "2.5423" "2.6683" "3.0016" "2.5678"
## [121] "2.4635" "2.6599" "2.887" "2.5467" "2.5538" NA
summary(Serie_tiempo)
## Trimestre Tasa_desempleo INPC Inflacion_anual
## Length:126 Length:126 Min. : 16.97 Min. : 2.274
## Class :character Class :character 1st Qu.: 53.47 1st Qu.: 3.869
## Mode :character Mode :character Median : 73.84 Median : 4.537
## Mean : 77.27 Mean : 7.876
## 3rd Qu.:100.12 3rd Qu.: 6.588
## Max. :145.83 Max. :51.970
##
## PIB Tipo_cambio Salario_min CETES
## Min. :13287444 Min. : 5.993 Min. : 14.95 Min. : 3.000
## 1st Qu.:17874019 1st Qu.:10.196 1st Qu.: 40.19 1st Qu.: 5.362
## Median :20495873 Median :12.799 Median : 55.77 Median : 7.190
## Mean :20541691 Mean :13.679 Mean : 82.85 Mean :10.364
## 3rd Qu.:23449994 3rd Qu.:18.261 3rd Qu.: 88.36 3rd Qu.:10.010
## Max. :26135645 Max. :23.366 Max. :315.04 Max. :59.380
## NA's :1
## TIIE Ahorro_bruto
## Min. : 3.310 Min. :16.70
## 1st Qu.: 5.110 1st Qu.:19.94
## Median : 7.620 Median :21.50
## Mean :11.173 Mean :21.42
## 3rd Qu.: 9.918 3rd Qu.:22.87
## Max. :62.100 Max. :26.37
## NA's :2
Regresión Logística (Modelo Logit) = Serie de Tiempo
Serie_tiempo <- Serie_tiempo %>%
mutate(Tasa_desempleo = as.numeric(Tasa_desempleo))
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `Tasa_desempleo = as.numeric(Tasa_desempleo)`.
## Caused by warning:
## ! NAs introduced by coercion
Serie_tiempo <- Serie_tiempo %>%
mutate(
desempleo_st = case_when(
Tasa_desempleo > mean(Tasa_desempleo) ~ 1,
Tasa_desempleo < mean(Tasa_desempleo) ~ 0
)
)
Serie_tiempo$desempleo_alto <- ifelse(desempleo > mean(desempleo, na.rm = TRUE), 1, 0)
head(Serie_tiempo)
## # A tibble: 6 × 12
## Trimestre Tasa_desempleo INPC Inflacion_anual PIB Tipo_cambio Salario_min
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1995 Q1 5.7 17.0 20.4 1.40e7 5.99 15.0
## 2 1995 Q2 6.86 19.7 37.7 1.33e7 6.15 16.7
## 3 1995 Q3 6.5 20.8 43.5 1.34e7 6.21 16.7
## 4 1995 Q4 5.2 22.5 52.0 1.39e7 7.33 17.3
## 5 1996 Q1 5.05 24.4 43.8 1.42e7 7.52 18.4
## 6 1996 Q2 4.8 26.0 31.8 1.43e7 7.48 20.7
## # ℹ 5 more variables: CETES <dbl>, TIIE <dbl>, Ahorro_bruto <dbl>,
## # desempleo_st <dbl>, desempleo_alto <ts[,1]>
modelo_logistico <- glm(desempleo_alto ~ inflacion_anual + tipo_cambio + sal_min + ahorro_bruto, data = Serie_tiempo, family = binomial)
summary(modelo_logistico)
##
## Call:
## glm(formula = desempleo_alto ~ inflacion_anual + tipo_cambio +
## sal_min + ahorro_bruto, family = binomial, data = Serie_tiempo)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 14.886061 3.328669 4.472 7.75e-06 ***
## inflacion_anual 0.057261 0.037585 1.524 0.12763
## tipo_cambio 0.279179 0.094785 2.945 0.00323 **
## sal_min -0.036116 0.008966 -4.028 5.62e-05 ***
## ahorro_bruto -0.764225 0.153811 -4.969 6.74e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 171.87 on 123 degrees of freedom
## Residual deviance: 120.50 on 119 degrees of freedom
## (2 observations deleted due to missingness)
## AIC: 130.5
##
## Number of Fisher Scoring iterations: 5
La variable dependiente ahora se convierte en una variable binaria, para esto creamos una nueva columna desempleo o no desempleo.
Regresión Logística (Modelo Logit) = Corte Transversal
head(Corte_transversal)
## # A tibble: 6 × 10
## `Países/ variables` Esc_masc Esc_fem Pob_total Pob_edadlaboral PIB_pc
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Anguila 10.5 10.2 14.8 10.4 25130.
## 2 Antigua y Barbuda 10.6 10.3 94.6 72.3 19337.
## 3 Argentina 10.9 11.4 46004. 30698. 14647.
## 4 Aruba 8.4 8.21 108. 70.7 33471.
## 5 Bahamas 12.7 12.8 405. 284. 35202.
## 6 Barbados 9.9 10.5 283. 185. 23520.
## # ℹ 4 more variables: Precios_consumidor <dbl>, Urbanizacion <dbl>,
## # Usuarios_internet <dbl>, Desempleo <dbl>
#Convertir la varable dependiente a binaria
Corte_transversal <- Corte_transversal %>%
mutate(
desempleo_binario = case_when(
Desempleo > mean(Desempleo) ~ 1,
Desempleo < mean(Desempleo) ~ 0
)
)
Corte_transversal$Educacion <- (Corte_transversal$Esc_masc + Corte_transversal$Esc_fem)/2
head(Corte_transversal)
## # A tibble: 6 × 12
## `Países/ variables` Esc_masc Esc_fem Pob_total Pob_edadlaboral PIB_pc
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Anguila 10.5 10.2 14.8 10.4 25130.
## 2 Antigua y Barbuda 10.6 10.3 94.6 72.3 19337.
## 3 Argentina 10.9 11.4 46004. 30698. 14647.
## 4 Aruba 8.4 8.21 108. 70.7 33471.
## 5 Bahamas 12.7 12.8 405. 284. 35202.
## 6 Barbados 9.9 10.5 283. 185. 23520.
## # ℹ 6 more variables: Precios_consumidor <dbl>, Urbanizacion <dbl>,
## # Usuarios_internet <dbl>, Desempleo <dbl>, desempleo_binario <dbl>,
## # Educacion <dbl>
#Hacer la regresión
modelo_logistico_cortetransversal <- glm(desempleo_binario~Educacion + Pob_total + PIB_pc + Precios_consumidor + Urbanizacion + Usuarios_internet, data = Corte_transversal, family = binomial)
summary(modelo_logistico_cortetransversal)
##
## Call:
## glm(formula = desempleo_binario ~ Educacion + Pob_total + PIB_pc +
## Precios_consumidor + Urbanizacion + Usuarios_internet, family = binomial,
## data = Corte_transversal)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.809e+00 2.885e+00 0.627 0.5306
## Educacion 5.456e-01 2.832e-01 1.926 0.0540 .
## Pob_total -1.493e-05 2.085e-05 -0.716 0.4739
## PIB_pc -2.544e-05 2.505e-05 -1.016 0.3097
## Precios_consumidor -1.094e-03 1.086e-03 -1.007 0.3140
## Urbanizacion -8.508e-04 1.941e-02 -0.044 0.9650
## Usuarios_internet -8.464e-02 4.247e-02 -1.993 0.0463 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 58.704 on 43 degrees of freedom
## Residual deviance: 46.009 on 37 degrees of freedom
## AIC: 60.009
##
## Number of Fisher Scoring iterations: 6