library(car)
## Loading required package: carData
library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:car':
## 
##     recode
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
Corte_transversal <- read_excel("CorteTransversal.xlsx")

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>
RegA <- lm(Desempleo~Esc_masc + Esc_fem + Pob_total + Pob_edadlaboral + PIB_pc + Precios_consumidor + Urbanizacion + Usuarios_internet, data = Corte_transversal)

summary(RegA)
## 
## Call:
## lm(formula = Desempleo ~ Esc_masc + Esc_fem + Pob_total + Pob_edadlaboral + 
##     PIB_pc + Precios_consumidor + Urbanizacion + Usuarios_internet, 
##     data = Corte_transversal)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.8984 -3.1830 -0.4817  2.0816 12.3514 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)   
## (Intercept)         7.333e+00  6.456e+00   1.136  0.26375   
## Esc_masc            2.885e+00  1.037e+00   2.782  0.00864 **
## Esc_fem            -1.973e+00  1.040e+00  -1.897  0.06608 . 
## Pob_total           1.030e-05  1.702e-04   0.061  0.95207   
## Pob_edadlaboral    -2.432e-05  2.223e-04  -0.109  0.91354   
## PIB_pc             -2.384e-05  4.005e-05  -0.595  0.55541   
## Precios_consumidor  1.251e-04  4.048e-04   0.309  0.75913   
## Urbanizacion       -3.973e-02  4.449e-02  -0.893  0.37792   
## Usuarios_internet  -7.189e-02  8.758e-02  -0.821  0.41728   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.645 on 35 degrees of freedom
## Multiple R-squared:  0.3211, Adjusted R-squared:  0.1659 
## F-statistic: 2.069 on 8 and 35 DF,  p-value: 0.06625
vif(RegA)
##           Esc_masc            Esc_fem          Pob_total    Pob_edadlaboral 
##           8.879223           9.351077         223.701030         224.019870 
##             PIB_pc Precios_consumidor       Urbanizacion  Usuarios_internet 
##           1.800254           1.091545           1.817629           2.067993

probamos si cumple con homocedasticidad o multicolinealidad

Primero multicolinealidad usando el VIF

vif(RegA)
##           Esc_masc            Esc_fem          Pob_total    Pob_edadlaboral 
##           8.879223           9.351077         223.701030         224.019870 
##             PIB_pc Precios_consumidor       Urbanizacion  Usuarios_internet 
##           1.800254           1.091545           1.817629           2.067993

Como hay multicolinealdiad con esc_masc y esc_fem vamos a eliminar ambas y en cuanto a la población vamos a quedarnos solo con la población en edad laboral y para escolaridad crearemos un promedio

Corte_transversal$Educacion <- (Corte_transversal$Esc_masc + Corte_transversal$Esc_fem)/2


RegB <- lm(Desempleo~Educacion + Pob_total + PIB_pc + Precios_consumidor + Urbanizacion + Usuarios_internet, data = Corte_transversal)


summary(RegB)
## 
## Call:
## lm(formula = Desempleo ~ Educacion + Pob_total + PIB_pc + Precios_consumidor + 
##     Urbanizacion + Usuarios_internet, data = Corte_transversal)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.9714 -3.3550 -0.2118  2.1136 12.3533 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)  
## (Intercept)         1.384e+01  6.122e+00   2.260   0.0298 *
## Educacion           9.395e-01  5.075e-01   1.851   0.0721 .
## Pob_total          -9.543e-06  1.241e-05  -0.769   0.4469  
## PIB_pc             -2.142e-05  4.083e-05  -0.525   0.6029  
## Precios_consumidor -1.427e-05  4.194e-04  -0.034   0.9730  
## Urbanizacion        5.794e-03  3.985e-02   0.145   0.8852  
## Usuarios_internet  -1.915e-01  7.573e-02  -2.529   0.0158 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.88 on 37 degrees of freedom
## Multiple R-squared:  0.2079, Adjusted R-squared:  0.07942 
## F-statistic: 1.618 on 6 and 37 DF,  p-value: 0.1696
vif(RegB)
##          Educacion          Pob_total             PIB_pc Precios_consumidor 
##           1.873739           1.078006           1.695688           1.061944 
##       Urbanizacion  Usuarios_internet 
##           1.321106           1.401221

Con esto ya no tenemos problmeas de multicolinealidad ahora vayamos a comprobar si existe homocedasticidad o si por el contrario tenemos porblemas de heterocedasticidad.

#Primero inspección visual de los errores
plot(RegA)

## Warning in sqrt(crit * p * (1 - hh)/hh): NaNs produced
## Warning in sqrt(crit * p * (1 - hh)/hh): NaNs produced

plot(RegB)

La inspección visual de la gráfica de residuos contra valores ajustados no muestra una forma de abanico claramente definida. Aunque se observa cierta dispersión desigual en algunos rangos y posibles observaciones atípicas, la evidencia visual por sí sola no permite concluir la presencia de heterocedasticidad. Por ello se realizó una prueba formal de Breusch-Pagan.

library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
bptest(RegB)
## 
##  studentized Breusch-Pagan test
## 
## data:  RegB
## BP = 12.911, df = 6, p-value = 0.04448

Como si hay evidencia estadística de heterocedasticidad los corregiremos usando los errores robsutos de white.

library(sandwich)
library(lmtest)

coeftest(RegB,
         vcov = vcovHC(RegB,
                       type = "HC1"))
## 
## t test of coefficients:
## 
##                       Estimate  Std. Error t value Pr(>|t|)  
## (Intercept)         1.3838e+01  6.5530e+00  2.1117  0.04153 *
## Educacion           9.3954e-01  5.5423e-01  1.6952  0.09843 .
## Pob_total          -9.5432e-06  5.1183e-06 -1.8645  0.07020 .
## PIB_pc             -2.1423e-05  3.9731e-05 -0.5392  0.59298  
## Precios_consumidor -1.4269e-05  1.4267e-04 -0.1000  0.92087  
## Urbanizacion        5.7945e-03  4.3461e-02  0.1333  0.89466  
## Usuarios_internet  -1.9154e-01  8.4637e-02 -2.2631  0.02959 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(RegB)
## 
## Call:
## lm(formula = Desempleo ~ Educacion + Pob_total + PIB_pc + Precios_consumidor + 
##     Urbanizacion + Usuarios_internet, data = Corte_transversal)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.9714 -3.3550 -0.2118  2.1136 12.3533 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)  
## (Intercept)         1.384e+01  6.122e+00   2.260   0.0298 *
## Educacion           9.395e-01  5.075e-01   1.851   0.0721 .
## Pob_total          -9.543e-06  1.241e-05  -0.769   0.4469  
## PIB_pc             -2.142e-05  4.083e-05  -0.525   0.6029  
## Precios_consumidor -1.427e-05  4.194e-04  -0.034   0.9730  
## Urbanizacion        5.794e-03  3.985e-02   0.145   0.8852  
## Usuarios_internet  -1.915e-01  7.573e-02  -2.529   0.0158 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.88 on 37 degrees of freedom
## Multiple R-squared:  0.2079, Adjusted R-squared:  0.07942 
## F-statistic: 1.618 on 6 and 37 DF,  p-value: 0.1696

La presencia de heterocedasticidad se evaluó mediante la prueba de Breusch-Pagan. El resultado obtuvo un estadístico BP = 12.984 y un valor p de 0.0433. Dado que el valor p es menor a 0.05, se rechaza la hipótesis nula de homocedasticidad, concluyendo que existe evidencia de heterocedasticidad en los residuos del modelo. Para corregir este problema, se estimaron errores estándar robustos tipo White (HC1), permitiendo realizar inferencias estadísticas válidas.