---
title: "Fijación ordinaria de comisiones máximas del sistema de tarjetas de pago 2021"
author: "División Económica y División Sistemas de Pago, BCCR"
date: "Enero 2022"
bibliography: references.bib
output:
  html_document:
    toc: true
    toc_float: false
    collapsed: false
    smooth_scroll: false
    theme: unite
    highlight: tango
    number_sections: true
    df_print: kable
    fig_height: 5
    fig_width: 7
---

```{r setup, include=FALSE, warning=FALSE, message=FALSE}
knitr::opts_chunk$set(echo = TRUE, warning = FALSE, include = TRUE)
#setwd()
library(openxlsx) #Permite la lectura de archivos tipo "xlsx"
library(stargazer)#Para mejor apariencia de tablas
library(sandwich)#Para matriz de varianzas y covarianzas robusta
library(lmtest)#Para pruebas de heterocedasticidad y autocorrelación
library(glmulti)#Para selección de variables
library(moments)#Para pruebas de normalidad de los residuos
library(skedastic)#Para pruebas de heterocedasticidad
library(AER)#Pruebas sobre endogeneidad y estimación IV
library(truncreg)#Para regresión truncada
library(car)#Para condición de multicolinealidad
library(strucchange)#Para prueba estabilidad
```

```{r librerías, include=TRUE, warning=FALSE, message=FALSE, echo=TRUE, eval=FALSE}
library(openxlsx) #Permite la lectura de archivos tipo "xlsx"
library(stargazer)#Para mejor apariencia de tablas
library(sandwich)#Para matriz de varianzas y covarianzas robusta
library(lmtest)#Para pruebas de heterocedasticidad y autocorrelación
library(glmulti)#Para selección de variables
library(moments)#Para pruebas de normalidad de los residuos
library(skedastic)#Para pruebas de heterocedasticidad
library(AER)#Pruebas sobre endogeneidad y estimación IV
library(truncreg)#Para regresión truncada
library(car)#Para condición de multicolinealidad
library(strucchange)#Para prueba estabilidad
```

# Introducción

<div style="text-align: justify">
El presente documento permite replicar las estimaciones en el documento "Fijación ordinaria de comisiones máximas del sistema de tarjetas de pago 2021.” Asimismo, incorpora observaciones recibidas en el proceso de consulta pública. Además del modelo de regresión lineal y sus pruebas estadísticas, se incluye:

1. Uso de modelos truncados, que incorporen explícitamente que la tasa de comisión resultante no sea negativa o sea lo suficientemente baja para provocar pérdidas al negocio.

2. Estimación obtenida mediante variables instrumentales.

3. Resultados al aplicar una transformación logarítmica a la variable dependiente.

4. Estimación al omitir el Espacio Económico Europeo (EEE).

5. Estimación al restringir la muestra únicamente al caso de países regulados.

6. Modelos de aprendizaje estadístico.

La descripción de los datos utilizados es la siguiente:

</div>
```{r datos, include=TRUE}
datos<-read.xlsx("Base_datos_adquirencia_intercambio.xlsx", sheet =  1, colNames = TRUE)
attach(datos)

#Se describen los datos
str(datos)
summary(datos)

misc<-datos[,c(1,5,6,35)]
misc<-misc[!duplicated(misc[,1]),]
#Se elimina Costa Rica
misc<-misc[misc$Codigo_Pais!="CRI",]

#Tabla OCDE
tabla_ocde<-as.data.frame(cbind( c(0,1, "Total"), 
c(sum(misc$OCDE==0), sum(misc$OCDE==1), 
nrow(misc)), 
c(100*sum(misc$OCDE==0)/nrow(misc),       100*sum(misc$OCDE==1)/nrow(misc),
  100*sum(misc$OCDE==0)/nrow(misc)+       100*sum(misc$OCDE==1)/nrow(misc)),
c(100*sum(misc$OCDE==0)/nrow(misc),
  100*sum(misc$OCDE==0)/nrow(misc)+       100*sum(misc$OCDE==1)/nrow(misc), "") ) )

names(tabla_ocde)<-c("País pertenece a la OCDE", "Frecuencia", "Porcentaje", "Acumulado")

#Tabla intercambio
tabla_int<-as.data.frame(cbind( c(0,1, "Total"), 
c(sum(misc$Regulacion_intercambio==0), sum(misc$Regulacion_intercambio==1), 
nrow(misc)), 
c(100*sum(misc$Regulacion_intercambio==0)/nrow(misc),       100*sum(misc$Regulacion_intercambio==1)/nrow(misc),
  100*sum(misc$Regulacion_intercambio==0)/nrow(misc)+       100*sum(misc$Regulacion_intercambio==1)/nrow(misc)),
c(100*sum(misc$Regulacion_intercambio==0)/nrow(misc),
  100*sum(misc$Regulacion_intercambio==0)/nrow(misc)+       100*sum(misc$Regulacion_intercambio==1)/nrow(misc), "") ) )

names(tabla_int)<-c("Regulación en intercambio", "Frecuencia", "Porcentaje", "Acumulado")

#Tabla adquirencia
tabla_adq<-as.data.frame(cbind( c(0,1, "Total"), 
c(sum(misc$Regulacion_adquirencia==0), sum(misc$Regulacion_adquirencia==1), 
nrow(misc)), 
c(100*sum(misc$Regulacion_adquirencia==0)/nrow(misc),       100*sum(misc$Regulacion_adquirencia==1)/nrow(misc),
  100*sum(misc$Regulacion_adquirencia==0)/nrow(misc)+       100*sum(misc$Regulacion_adquirencia==1)/nrow(misc)),
c(100*sum(misc$Regulacion_adquirencia==0)/nrow(misc),
  100*sum(misc$Regulacion_adquirencia==0)/nrow(misc)+       100*sum(misc$Regulacion_adquirencia==1)/nrow(misc), "") ) )

names(tabla_adq)<-c("Regulación en adquirencia", "Frecuencia", "Porcentaje", "Acumulado")

tabla_ocde
tabla_int
tabla_adq

```

# Regresiones tasa de intercambio

## Modelos base, AICc y BIC

<div style="text-align: justify">
La cantidad de países con información de la tasa de intercambio en la muestra es la siguiente:
</div>

```{r datos intercambio, include=TRUE}

misc<-datos[,c(1,3)]
misc<-na.omit(misc)
misc<-misc[!duplicated(misc[,1]),]
#Se elimina Costa Rica
misc<-misc[misc$Codigo_Pais!="CRI",]

#Cantidad de países con información de la tasa de intercambio en la muestra
nrow(misc)

```

<div style="text-align: justify">
Se llevan a cabo múltiples especificaciones de regresión lineal para determinar la tasa de intercambio para Costa Rica. Se realizan estimaciones con y sin todas las variables (controles) incluidas en los datos. Adicionalmente, se utilizan criterios de información para seleccionar los controles a partir de una comparación entre la bondad de ajuste y la complejidad del modelo. En particular, estos criterios de información son el Criterio de Información de Akaike Corregido (AICc) para muestra pequeña y el Criterio de Información Bayesiano (BIC). También se incluyen versiones sin controles, con todos los controles, con una transformación logarítmica de la variable dependiente, omitiendo de la muestra el EEE, y restringiendo la muestra a los países que regulan la tasa de intercambio.
</div>

```{r regresiones intercambio, include=TRUE, results='asis'}

####################################
#Con toda la muestra sin logaritmo

#Regresión sin controles
modelo_int_sin_cont<-lm(Intercambio ~ Regulacion_intercambio, datos)

modelo_int_sin_cont_corr_hc<-coeftest(modelo_int_sin_cont, vcov. = vcovHC(modelo_int_sin_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_sin_cont_corr_hac<-coeftest(modelo_int_sin_cont, vcov. = vcovHAC(modelo_int_sin_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_sin_cont, modelo_int_sin_cont_corr_hc, modelo_int_sin_cont_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio sin controles", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_int_sin_cont_sin_reg<-predict(modelo_int_sin_cont, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_sin_cont_con_reg<-predict(modelo_int_sin_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Regresión con todos los controles
modelo_int_con_cont<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos)

modelo_int_con_cont_corr_hc<-coeftest(modelo_int_con_cont, vcov. = vcovHC(modelo_int_con_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_corr_hac<-coeftest(modelo_int_con_cont, vcov. = vcovHAC(modelo_int_con_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont, modelo_int_con_cont_corr_hc, modelo_int_con_cont_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio con todos los controles", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_int_con_cont_sin_reg<-predict(modelo_int_con_cont, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_con_cont_con_reg<-predict(modelo_int_con_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Regresión con todos los controles más efectos fijos de tiempo
modelo_int_con_cont_ef<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos)

modelo_int_con_cont_ef_corr_hc<-coeftest(modelo_int_con_cont_ef, vcov. = vcovHC(modelo_int_con_cont_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_ef_corr_hac<-coeftest(modelo_int_con_cont_ef, vcov. = vcovHAC(modelo_int_con_cont_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_ef, modelo_int_con_cont_ef_corr_hc, modelo_int_con_cont_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio con controles y efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_int_con_cont_ef_sin_reg<-predict(modelo_int_con_cont_ef, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_con_cont_ef_con_reg<-predict(modelo_int_con_cont_ef, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña)
#Se elimina la tasa de adquirencia en los datos para evitar sus NAs
datos_int<-na.omit(datos[,-4])

modelo_int_con_cont_aicc<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int)

controles<- cbind(datos_int$Regulacion_intercambio, datos_int$Cajero_Autom, datos_int$Credito, datos_int$Crimen, datos_int$Cuenta, datos_int$Debito, datos_int$Densidad_Pob, datos_int$Densidad_Neg, datos_int$PIB_pc_PPP, datos_int$IDH, datos_int$Prest_viv, datos_int$ICH, datos_int$Internet, datos_int$Europa, datos_int$Asia_Este, datos_int$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_int_con_cont_aicc)

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 9
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 6
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 3
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 12
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 7
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 7
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 7
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles1<-controles

#variables a usar
variables_controles

modelo_int_con_cont_aicc<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa + Am_lat, datos_int)

modelo_int_con_cont_aicc_corr_hc<-coeftest(modelo_int_con_cont_aicc, vcov. = vcovHC(modelo_int_con_cont_aicc, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_aicc_corr_hac<-coeftest(modelo_int_con_cont_aicc, vcov. = vcovHAC(modelo_int_con_cont_aicc, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_aicc, modelo_int_con_cont_aicc_corr_hc, modelo_int_con_cont_aicc_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según AICc", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC
modelo_int_con_cont_bic<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int)

controles<- cbind(datos_int$Regulacion_intercambio, datos_int$Cajero_Autom, datos_int$Credito, datos_int$Crimen, datos_int$Cuenta, datos_int$Debito, datos_int$Densidad_Pob, datos_int$Densidad_Neg, datos_int$PIB_pc_PPP, datos_int$IDH, datos_int$Prest_viv, datos_int$ICH, datos_int$Internet, datos_int$Europa, datos_int$Asia_Este, datos_int$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_int_con_cont_bic)

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 9
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 6
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 3
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 12
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 7
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 7
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 6
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 8
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 5
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 9
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#Ya no se eliminan columnas
controles2<-controles

#variables a usar
variables_controles

modelo_int_con_cont_bic<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Crimen + Cuenta + ICH + Internet + Europa + Am_lat, datos_int)

modelo_int_con_cont_bic_corr_hc<-coeftest(modelo_int_con_cont_bic, vcov. = vcovHC(modelo_int_con_cont_bic, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_bic_corr_hac<-coeftest(modelo_int_con_cont_bic, vcov. = vcovHAC(modelo_int_con_cont_bic, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_bic, modelo_int_con_cont_bic_corr_hc, modelo_int_con_cont_bic_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según BIC", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña), más efectos fijos de tiempo
modelo_int_con_cont_aicc_ef<-lm(Intercambio ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int)

controles<- cbind(datos_int$Regulacion_intercambio, datos_int$Año_2010, datos_int$Año_2011, datos_int$Año_2012, datos_int$Año_2013, datos_int$Año_2014, datos_int$Año_2015, datos_int$Año_2016, datos_int$Año_2017, datos_int$Año_2018, datos_int$Año_2019, datos_int$Año_2020, datos_int$Año_2021, datos_int$Cajero_Autom, datos_int$Credito, datos_int$Crimen, datos_int$Cuenta, datos_int$Debito, datos_int$Densidad_Pob, datos_int$Densidad_Neg, datos_int$PIB_pc_PPP, datos_int$IDH, datos_int$Prest_viv, datos_int$ICH, datos_int$Internet, datos_int$Europa, datos_int$Asia_Este, datos_int$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_int_con_cont_aicc_ef)

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 22
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 18
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 15
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 23
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 19
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 7
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles3<-controles

#variables a usar
variables_controles

modelo_int_con_cont_aicc_ef<-lm(Intercambio ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa + Am_lat, datos_int)

modelo_int_con_cont_aicc_ef_corr_hc<-coeftest(modelo_int_con_cont_aicc_ef, vcov. = vcovHC(modelo_int_con_cont_aicc_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_aicc_ef_corr_hac<-coeftest(modelo_int_con_cont_aicc_ef, vcov. = vcovHAC(modelo_int_con_cont_aicc_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_aicc_ef, modelo_int_con_cont_aicc_ef_corr_hc, modelo_int_con_cont_aicc_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según AICc con efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC, más efectos fijos de tiempo
modelo_int_con_cont_bic_ef<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_int)

controles<- cbind(datos_int$Regulacion_intercambio, datos_int$Año_2010, datos_int$Año_2011, datos_int$Año_2012, datos_int$Año_2013, datos_int$Año_2014, datos_int$Año_2015, datos_int$Año_2016, datos_int$Año_2017, datos_int$Año_2018, datos_int$Año_2019, datos_int$Año_2020, datos_int$Año_2021, datos_int$Cajero_Autom, datos_int$Credito, datos_int$Crimen, datos_int$Cuenta, datos_int$Debito, datos_int$Densidad_Pob, datos_int$Densidad_Neg, datos_int$PIB_pc_PPP, datos_int$IDH, datos_int$Prest_viv, datos_int$ICH, datos_int$Internet, datos_int$Europa, datos_int$Asia_Este, datos_int$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_int_con_cont_bic_ef)

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 22
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 18
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 15
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 23
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 19
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 22
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 8
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#No se eliminan más columnas
controles4<-controles

#Variables a usar
variables_controles

modelo_int_con_cont_bic_ef<-lm(Intercambio ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa, datos_int)

modelo_int_con_cont_bic_ef_corr_hc<-coeftest(modelo_int_con_cont_bic_ef, vcov. = vcovHC(modelo_int_con_cont_bic_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_bic_ef_corr_hac<-coeftest(modelo_int_con_cont_bic_ef, vcov. = vcovHAC(modelo_int_con_cont_bic_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_bic_ef, modelo_int_con_cont_bic_ef_corr_hc, modelo_int_con_cont_bic_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según BIC con efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")
```

## Modelos de regresión truncados

<div style="text-align: justify">
Una crítica a los modelos de regresión lineal anteriores es que no toman en consideración el posible truncamiento de la variable de respuesta. Una variable es truncada cuando no puede observarse su valor después de cierto umbral en otra variable que la define (llamada variable latente). En el caso de las comisiones de intercambio y adquirencia, no es posible observar valores negativos. Igualmente, no debería ser posible observar tasas por debajo del costo de operación. Por ello, se realiza el ejercicio de estimar modelos con un truncamiento de tasas de intercambio en 0 y 0.28 (mínimo valor en la muestra, que corresponde a España).
</div>

```{r regresiones truncadas intercambio, include=TRUE, warning=FALSE}
#Se realiza modelos truncados

#Intercambio

#AICc
#Truncamiento en 0

modelo_truncado_int_0_aicc<-truncreg(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa + Am_lat, data = datos_int, point = 0, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_int_0_aicc)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_int_trunc_0_aicc_sin_reg<-predict(modelo_truncado_int_0_aicc, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_trunc_0_aicc_con_reg<-predict(modelo_truncado_int_0_aicc, newdata = data_CR, type = c("response"))[54]

#Truncamiento en 0.28 tasa intercambio mínima en la muestra de España

modelo_truncado_int_0.28_aicc<-truncreg(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa + Am_lat, data = datos_int, point = 0.28, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_int_0.28_aicc)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_int_trunc_0.28_aicc_sin_reg<-predict(modelo_truncado_int_0.28_aicc, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_trunc_0.28_aicc_con_reg<-predict(modelo_truncado_int_0.28_aicc, newdata = data_CR, type = c("response"))[54]

#BIC
#Truncamiento en 0

modelo_truncado_int_0_bic<-truncreg(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Crimen + Cuenta + ICH + Internet + Europa + Am_lat, data = datos_int, point = 0, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_int_0_bic)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_int_trunc_0_bic_sin_reg<-predict(modelo_truncado_int_0_bic, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_trunc_0_bic_con_reg<-predict(modelo_truncado_int_0_bic, newdata = data_CR, type = c("response"))[54]

#Truncamiento en 0.28 tasa intercambio mínima en la muestra de España

modelo_truncado_int_0.28_bic<-truncreg(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Crimen + Cuenta + ICH + Internet + Europa + Am_lat, data = datos_int, point = 0.28, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_int_0.28_bic)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_int_trunc_0.28_bic_sin_reg<-predict(modelo_truncado_int_0.28_bic, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_trunc_0.28_bic_con_reg<-predict(modelo_truncado_int_0.28_bic, newdata = data_CR, type = c("response"))[54]

#AICc con efectos fijos de tiempo
#Truncamiento en 0

modelo_truncado_int_0_aicc_ef<-truncreg(Intercambio ~ Regulacion_intercambio + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa + Am_lat, data = datos_int, point = 0, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_int_0_aicc_ef)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_int_trunc_0_aicc_ef_sin_reg<-predict(modelo_truncado_int_0_aicc_ef, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_trunc_0_aicc_ef_con_reg<-predict(modelo_truncado_int_0_aicc_ef, newdata = data_CR, type = c("response"))[54]

#Truncamiento en 0.28 tasa intercambio mínima en la muestra de España

modelo_truncado_int_0.28_aicc_ef<-truncreg(Intercambio ~ Regulacion_intercambio + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa + Am_lat, data = datos_int, point = 0.28, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_int_0.28_aicc_ef)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_int_trunc_0.28_aicc_ef_sin_reg<-predict(modelo_truncado_int_0.28_aicc_ef, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_trunc_0.28_aicc_ef_con_reg<-predict(modelo_truncado_int_0.28_aicc_ef, newdata = data_CR, type = c("response"))[54]

#BIC con efectos fijos de tiempo
#Truncamiento en 0

modelo_truncado_int_0_bic_ef<-truncreg(Intercambio ~ Regulacion_intercambio + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa, data = datos_int, point = 0, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_int_0_bic_ef)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_int_trunc_0_bic_ef_sin_reg<-predict(modelo_truncado_int_0_bic_ef, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_trunc_0_bic_ef_con_reg<-predict(modelo_truncado_int_0_bic_ef, newdata = data_CR, type = c("response"))[54]

#Truncamiento en 0.28 tasa intercambio mínima en la muestra de España

modelo_truncado_int_0.28_bic_ef<-truncreg(Intercambio ~ Regulacion_intercambio + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Densidad_Neg + ICH + Internet + Europa, data = datos_int, point = 0.28, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_int_0.28_bic_ef)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_int_trunc_0.28_bic_ef_sin_reg<-predict(modelo_truncado_int_0.28_bic_ef, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_trunc_0.28_bic_ef_con_reg<-predict(modelo_truncado_int_0.28_bic_ef, newdata = data_CR, type = c("response"))[54]

pred_int_trunc_0_todos_sin_reg<-mean(c(as.numeric(pred_int_trunc_0_aicc_sin_reg), as.numeric(pred_int_trunc_0_bic_sin_reg), as.numeric(pred_int_trunc_0_aicc_ef_sin_reg), as.numeric(pred_int_trunc_0_bic_ef_sin_reg)))

pred_int_trunc_0_todos_con_reg<-mean(c(as.numeric(pred_int_trunc_0_aicc_con_reg), as.numeric(pred_int_trunc_0_bic_con_reg), as.numeric(pred_int_trunc_0_aicc_ef_con_reg), as.numeric(pred_int_trunc_0_bic_ef_con_reg)))

pred_int_trunc_0.28_todos_sin_reg<-mean(c(as.numeric(pred_int_trunc_0.28_aicc_sin_reg), as.numeric(pred_int_trunc_0.28_bic_sin_reg), as.numeric(pred_int_trunc_0.28_aicc_ef_sin_reg), as.numeric(pred_int_trunc_0.28_bic_ef_sin_reg)))

pred_int_trunc_0.28_todos_con_reg<-mean(c(as.numeric(pred_int_trunc_0.28_aicc_con_reg), as.numeric(pred_int_trunc_0.28_bic_con_reg), as.numeric(pred_int_trunc_0.28_aicc_ef_con_reg), as.numeric(pred_int_trunc_0.28_bic_ef_con_reg)))

```

## Transformación logarítmica de la variable dependiente

```{r regresiones intercambio logaritmo, include=TRUE, results='asis'}
####################################
#Con toda la muestra con logaritmo

#Regresión sin controles
modelo_log_int_sin_cont<-lm(log(Intercambio) ~ Regulacion_intercambio, datos)

modelo_log_int_sin_cont_corr_hc<-coeftest(modelo_log_int_sin_cont, vcov. = vcovHC(modelo_log_int_sin_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_int_sin_cont_corr_hac<-coeftest(modelo_log_int_sin_cont, vcov. = vcovHAC(modelo_log_int_sin_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_int_sin_cont, modelo_log_int_sin_cont_corr_hc, modelo_log_int_sin_cont_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de intercambio sin controles", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_log_int_sin_cont_sin_reg<-exp(predict(modelo_log_int_sin_cont, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54])
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_log_int_sin_cont_con_reg<-exp(predict(modelo_log_int_sin_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54])

#Regresión con todos los controles
modelo_log_int_con_cont<-lm(log(Intercambio) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos)

modelo_log_int_con_cont_corr_hc<-coeftest(modelo_log_int_con_cont, vcov. = vcovHC(modelo_log_int_con_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_int_con_cont_corr_hac<-coeftest(modelo_log_int_con_cont, vcov. = vcovHAC(modelo_log_int_con_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_int_con_cont, modelo_log_int_con_cont_corr_hc, modelo_log_int_con_cont_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de intercambio con todos los controles", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_log_int_con_cont_sin_reg<-exp(predict(modelo_log_int_con_cont, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54])
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_log_int_con_cont_con_reg<-exp(predict(modelo_log_int_con_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54])

#Regresión con todos los controles más efectos fijos de tiempo
modelo_log_int_con_cont_ef<-lm(log(Intercambio) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos)

modelo_log_int_con_cont_ef_corr_hc<-coeftest(modelo_log_int_con_cont_ef, vcov. = vcovHC(modelo_log_int_con_cont_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_int_con_cont_ef_corr_hac<-coeftest(modelo_log_int_con_cont_ef, vcov. = vcovHAC(modelo_log_int_con_cont_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_int_con_cont_ef, modelo_log_int_con_cont_ef_corr_hc, modelo_log_int_con_cont_ef_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de intercambio con controles y efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_log_int_con_cont_ef_sin_reg<-exp(predict(modelo_log_int_con_cont_ef, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54])
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_log_int_con_cont_ef_con_reg<-exp(predict(modelo_log_int_con_cont_ef, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54])

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña)
#Se elimina la tasa de adquirencia en los datos para evitar sus NAs
datos_int<-na.omit(datos[,-4])

modelo_log_int_con_cont_aicc<-lm(log(Intercambio) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int)

controles<- cbind(datos_int$Regulacion_intercambio, datos_int$Cajero_Autom, datos_int$Credito, datos_int$Crimen, datos_int$Cuenta, datos_int$Debito, datos_int$Densidad_Pob, datos_int$Densidad_Neg, datos_int$PIB_pc_PPP, datos_int$IDH, datos_int$Prest_viv, datos_int$ICH, datos_int$Internet, datos_int$Europa, datos_int$Asia_Este, datos_int$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_log_int_con_cont_aicc)

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 6
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 9
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 12
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 7
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles1<-controles

#variables a usar
variables_controles

modelo_log_int_con_cont_aicc<-lm(log(Intercambio) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Densidad_Pob + Prest_viv + ICH + Internet + Europa + Am_lat, datos_int)

modelo_log_int_con_cont_aicc_corr_hc<-coeftest(modelo_log_int_con_cont_aicc, vcov. = vcovHC(modelo_log_int_con_cont_aicc, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_int_con_cont_aicc_corr_hac<-coeftest(modelo_log_int_con_cont_aicc, vcov. = vcovHAC(modelo_log_int_con_cont_aicc, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_int_con_cont_aicc, modelo_log_int_con_cont_aicc_corr_hc, modelo_log_int_con_cont_aicc_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de intercambio según AICc", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC
modelo_log_int_con_cont_bic<-lm(log(Intercambio) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int)

controles<- cbind(datos_int$Regulacion_intercambio, datos_int$Cajero_Autom, datos_int$Credito, datos_int$Crimen, datos_int$Cuenta, datos_int$Debito, datos_int$Densidad_Pob, datos_int$Densidad_Neg, datos_int$PIB_pc_PPP, datos_int$IDH, datos_int$Prest_viv, datos_int$ICH, datos_int$Internet, datos_int$Europa, datos_int$Asia_Este, datos_int$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_log_int_con_cont_bic)

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 6
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 9
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 12
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 7
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 2
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 8
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 3
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 9
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 6
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 10
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i)], datos_int))  
}

min(BIC)<BIC[1]
#Ya no se eliminan columnas
controles2<-controles

#variables a usar
variables_controles

modelo_log_int_con_cont_bic<-lm(log(Intercambio) ~ Regulacion_intercambio + Credito + Cuenta + Densidad_Pob + Prest_viv + Europa + Am_lat, datos_int)

modelo_log_int_con_cont_bic_corr_hc<-coeftest(modelo_log_int_con_cont_bic, vcov. = vcovHC(modelo_log_int_con_cont_bic, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_int_con_cont_bic_corr_hac<-coeftest(modelo_log_int_con_cont_bic, vcov. = vcovHAC(modelo_log_int_con_cont_bic, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_int_con_cont_bic, modelo_log_int_con_cont_bic_corr_hc, modelo_log_int_con_cont_bic_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de intercambio según BIC", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña), más efectos fijos de tiempo
modelo_log_int_con_cont_aicc_ef<-lm(log(Intercambio) ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int)

controles<- cbind(datos_int$Regulacion_intercambio, datos_int$Año_2010, datos_int$Año_2011, datos_int$Año_2012, datos_int$Año_2013, datos_int$Año_2014, datos_int$Año_2015, datos_int$Año_2016, datos_int$Año_2017, datos_int$Año_2018, datos_int$Año_2019, datos_int$Año_2020, datos_int$Año_2021, datos_int$Cajero_Autom, datos_int$Credito, datos_int$Crimen, datos_int$Cuenta, datos_int$Debito, datos_int$Densidad_Pob, datos_int$Densidad_Neg, datos_int$PIB_pc_PPP, datos_int$IDH, datos_int$Prest_viv, datos_int$ICH, datos_int$Internet, datos_int$Europa, datos_int$Asia_Este, datos_int$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_log_int_con_cont_aicc_ef)

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 18
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 21
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 24
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 19
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles3<-controles

#variables a usar
variables_controles

modelo_log_int_con_cont_aicc_ef<-lm(log(Intercambio) ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Credito + Crimen + Cuenta + Densidad_Pob + Prest_viv + ICH + Internet + Europa + Am_lat, datos_int)

modelo_log_int_con_cont_aicc_ef_corr_hc<-coeftest(modelo_log_int_con_cont_aicc_ef, vcov. = vcovHC(modelo_log_int_con_cont_aicc_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_int_con_cont_aicc_ef_corr_hac<-coeftest(modelo_log_int_con_cont_aicc_ef, vcov. = vcovHAC(modelo_log_int_con_cont_aicc_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_int_con_cont_aicc_ef, modelo_log_int_con_cont_aicc_ef_corr_hc, modelo_log_int_con_cont_aicc_ef_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de intercambio según AICc con efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC, más efectos fijos de tiempo
modelo_log_int_con_cont_bic_ef<-lm(log(Intercambio) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_int)

controles<- cbind(datos_int$Regulacion_intercambio, datos_int$Año_2010, datos_int$Año_2011, datos_int$Año_2012, datos_int$Año_2013, datos_int$Año_2014, datos_int$Año_2015, datos_int$Año_2016, datos_int$Año_2017, datos_int$Año_2018, datos_int$Año_2019, datos_int$Año_2020, datos_int$Año_2021, datos_int$Cajero_Autom, datos_int$Credito, datos_int$Crimen, datos_int$Cuenta, datos_int$Debito, datos_int$Densidad_Pob, datos_int$Densidad_Neg, datos_int$PIB_pc_PPP, datos_int$IDH, datos_int$Prest_viv, datos_int$ICH, datos_int$Internet, datos_int$Europa, datos_int$Asia_Este, datos_int$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_log_int_con_cont_bic_ef)

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 18
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 21
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 24
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 19
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 14
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(log(Intercambio) ~ controles, datos_int))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Intercambio) ~ controles[,-c(i+12)], datos_int))  
}

min(BIC)<BIC[1]
#No se eliminan más columnas
controles4<-controles

#Variables a usar
variables_controles

modelo_log_int_con_cont_bic_ef<-lm(log(Intercambio) ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Credito + Crimen + Cuenta + Densidad_Pob + Prest_viv + ICH + Internet + Europa + Am_lat, datos_int)

modelo_log_int_con_cont_bic_ef_corr_hc<-coeftest(modelo_log_int_con_cont_bic_ef, vcov. = vcovHC(modelo_log_int_con_cont_bic_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_int_con_cont_bic_ef_corr_hac<-coeftest(modelo_log_int_con_cont_bic_ef, vcov. = vcovHAC(modelo_log_int_con_cont_bic_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_int_con_cont_bic_ef, modelo_log_int_con_cont_bic_ef_corr_hc, modelo_log_int_con_cont_bic_ef_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de intercambio según BIC con efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")
```

## Omitir al Espacio Económico Europeo (EEE) en la estimación

```{r regresiones intercambio sin EEE, include=TRUE, results='asis'}

####################################
#Se filtran los datos para excluir países del EEE
datos_sin_EEE<-datos[datos$EEE != 1,]

#Con toda la muestra sin logaritmo

#Regresión sin controles
modelo_int_sin_cont_sin_EEE<-lm(Intercambio ~ Regulacion_intercambio, datos_sin_EEE)

modelo_int_sin_cont_sin_EEE_corr_hc<-coeftest(modelo_int_sin_cont_sin_EEE, vcov. = vcovHC(modelo_int_sin_cont_sin_EEE, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_sin_cont_sin_EEE_corr_hac<-coeftest(modelo_int_sin_cont_sin_EEE, vcov. = vcovHAC(modelo_int_sin_cont_sin_EEE, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_sin_cont_sin_EEE, modelo_int_sin_cont_sin_EEE_corr_hc, modelo_int_sin_cont_sin_EEE_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio sin controles y sin EEE", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_int_sin_cont_sin_EEE_sin_reg<-predict(modelo_int_sin_cont_sin_EEE, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_sin_cont_sin_EEE_con_reg<-predict(modelo_int_sin_cont_sin_EEE, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Regresión con todos los controles
modelo_int_con_cont_sin_EEE<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_sin_EEE)

modelo_int_con_cont_sin_EEE_corr_hc<-coeftest(modelo_int_con_cont_sin_EEE, vcov. = vcovHC(modelo_int_con_cont_sin_EEE, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_sin_EEE_corr_hac<-coeftest(modelo_int_con_cont_sin_EEE, vcov. = vcovHAC(modelo_int_con_cont_sin_EEE, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_sin_EEE, modelo_int_con_cont_sin_EEE_corr_hc, modelo_int_con_cont_sin_EEE_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio con todos los controles sin EEE", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_int_con_cont_sin_EEE_sin_reg<-predict(modelo_int_con_cont_sin_EEE, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_con_cont_sin_EEE_con_reg<-predict(modelo_int_con_cont_sin_EEE, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Regresión con todos los controles más efectos fijos de tiempo
modelo_int_con_cont_sin_EEE_ef<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_sin_EEE)

modelo_int_con_cont_sin_EEE_ef_corr_hc<-coeftest(modelo_int_con_cont_sin_EEE_ef, vcov. = vcovHC(modelo_int_con_cont_sin_EEE_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_sin_EEE_ef_corr_hac<-coeftest(modelo_int_con_cont_sin_EEE_ef, vcov. = vcovHAC(modelo_int_con_cont_sin_EEE_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_sin_EEE_ef, modelo_int_con_cont_sin_EEE_ef_corr_hc, modelo_int_con_cont_sin_EEE_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio con controles y efectos fijos de tiempo sin EEE", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_int_con_cont_sin_EEE_ef_sin_reg<-predict(modelo_int_con_cont_sin_EEE_ef, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_con_cont_sin_EEE_ef_con_reg<-predict(modelo_int_con_cont_sin_EEE_ef, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña)
#Se elimina la tasa de adquirencia en los datos para evitar sus NAs
datos_int_sin_EEE<-na.omit(datos_sin_EEE[,-4])

modelo_int_con_cont_sin_EEE_aicc<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int_sin_EEE)

controles<- cbind(datos_int_sin_EEE$Regulacion_intercambio, datos_int_sin_EEE$Cajero_Autom, datos_int_sin_EEE$Credito, datos_int_sin_EEE$Crimen, datos_int_sin_EEE$Cuenta, datos_int_sin_EEE$Debito, datos_int_sin_EEE$Densidad_Pob, datos_int_sin_EEE$Densidad_Neg, datos_int_sin_EEE$PIB_pc_PPP, datos_int_sin_EEE$IDH, datos_int_sin_EEE$Prest_viv, datos_int_sin_EEE$ICH, datos_int_sin_EEE$Internet, datos_int_sin_EEE$Europa, datos_int_sin_EEE$Asia_Este, datos_int_sin_EEE$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_int_con_cont_sin_EEE_aicc)

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 9
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 9
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 6
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 3
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 12
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 6
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 7
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 8
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 9
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 9
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles1<-controles

#variables a usar
variables_controles

modelo_int_con_cont_sin_EEE_aicc<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Prest_viv + ICH + Europa, datos_int_sin_EEE)

modelo_int_con_cont_sin_EEE_aicc_corr_hc<-coeftest(modelo_int_con_cont_sin_EEE_aicc, vcov. = vcovHC(modelo_int_con_cont_sin_EEE_aicc, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_sin_EEE_aicc_corr_hac<-coeftest(modelo_int_con_cont_sin_EEE_aicc, vcov. = vcovHAC(modelo_int_con_cont_sin_EEE_aicc, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_sin_EEE_aicc, modelo_int_con_cont_sin_EEE_aicc_corr_hc, modelo_int_con_cont_sin_EEE_aicc_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según AICc sin EEE", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC
modelo_int_con_cont_sin_EEE_bic<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int_sin_EEE)

controles<- cbind(datos_int_sin_EEE$Regulacion_intercambio, datos_int_sin_EEE$Cajero_Autom, datos_int_sin_EEE$Credito, datos_int_sin_EEE$Crimen, datos_int_sin_EEE$Cuenta, datos_int_sin_EEE$Debito, datos_int_sin_EEE$Densidad_Pob, datos_int_sin_EEE$Densidad_Neg, datos_int_sin_EEE$PIB_pc_PPP, datos_int_sin_EEE$IDH, datos_int_sin_EEE$Prest_viv, datos_int_sin_EEE$ICH, datos_int_sin_EEE$Internet, datos_int_sin_EEE$Europa, datos_int_sin_EEE$Asia_Este, datos_int_sin_EEE$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_int_con_cont_sin_EEE_bic)

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 9
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 9
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 6
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 3
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 12
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 6
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 8
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 9
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 9
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#Ya no se eliminan columnas
controles2<-controles

#variables a usar
variables_controles

modelo_int_con_cont_sin_EEE_bic<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Prest_viv + ICH + Europa, datos_int_sin_EEE)

modelo_int_con_cont_sin_EEE_bic_corr_hc<-coeftest(modelo_int_con_cont_sin_EEE_bic, vcov. = vcovHC(modelo_int_con_cont_sin_EEE_bic, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_sin_EEE_bic_corr_hac<-coeftest(modelo_int_con_cont_sin_EEE_bic, vcov. = vcovHAC(modelo_int_con_cont_sin_EEE_bic, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_sin_EEE_bic, modelo_int_con_cont_sin_EEE_bic_corr_hc, modelo_int_con_cont_sin_EEE_bic_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según BIC sin EEE", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña), más efectos fijos de tiempo
modelo_int_con_cont_sin_EEE_aicc_ef<-lm(Intercambio ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int_sin_EEE)

controles<- cbind(datos_int_sin_EEE$Regulacion_intercambio, datos_int_sin_EEE$Año_2010, datos_int_sin_EEE$Año_2011, datos_int_sin_EEE$Año_2012, datos_int_sin_EEE$Año_2013, datos_int_sin_EEE$Año_2014, datos_int_sin_EEE$Año_2015, datos_int_sin_EEE$Año_2016, datos_int_sin_EEE$Año_2017, datos_int_sin_EEE$Año_2018, datos_int_sin_EEE$Año_2019, datos_int_sin_EEE$Año_2020, datos_int_sin_EEE$Año_2021, datos_int_sin_EEE$Cajero_Autom, datos_int_sin_EEE$Credito, datos_int_sin_EEE$Crimen, datos_int_sin_EEE$Cuenta, datos_int_sin_EEE$Debito, datos_int_sin_EEE$Densidad_Pob, datos_int_sin_EEE$Densidad_Neg, datos_int_sin_EEE$PIB_pc_PPP, datos_int_sin_EEE$IDH, datos_int_sin_EEE$Prest_viv, datos_int_sin_EEE$ICH, datos_int_sin_EEE$Internet, datos_int_sin_EEE$Europa, datos_int_sin_EEE$Asia_Este, datos_int_sin_EEE$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_int_con_cont_sin_EEE_aicc_ef)

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 28
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 18
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 15
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 18
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 7
AICC<-c()
AICC[1]<-aicc(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles3<-controles

#variables a usar
variables_controles

modelo_int_con_cont_sin_EEE_aicc_ef<-lm(Intercambio ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Prest_viv + ICH + Internet + Europa + Asia_Este, datos_int_sin_EEE)

modelo_int_con_cont_sin_EEE_aicc_ef_corr_hc<-coeftest(modelo_int_con_cont_sin_EEE_aicc_ef, vcov. = vcovHC(modelo_int_con_cont_sin_EEE_aicc_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_sin_EEE_aicc_ef_corr_hac<-coeftest(modelo_int_con_cont_sin_EEE_aicc_ef, vcov. = vcovHAC(modelo_int_con_cont_sin_EEE_aicc_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_sin_EEE_aicc_ef, modelo_int_con_cont_sin_EEE_aicc_ef_corr_hc, modelo_int_con_cont_sin_EEE_aicc_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según AICc con efectos fijos de tiempo sin EEE", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC, más efectos fijos de tiempo
modelo_int_con_cont_sin_EEE_bic_ef<-lm(Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_int_sin_EEE)

controles<- cbind(datos_int_sin_EEE$Regulacion_intercambio, datos_int_sin_EEE$Año_2010, datos_int_sin_EEE$Año_2011, datos_int_sin_EEE$Año_2012, datos_int_sin_EEE$Año_2013, datos_int_sin_EEE$Año_2014, datos_int_sin_EEE$Año_2015, datos_int_sin_EEE$Año_2016, datos_int_sin_EEE$Año_2017, datos_int_sin_EEE$Año_2018, datos_int_sin_EEE$Año_2019, datos_int_sin_EEE$Año_2020, datos_int_sin_EEE$Año_2021, datos_int_sin_EEE$Cajero_Autom, datos_int_sin_EEE$Credito, datos_int_sin_EEE$Crimen, datos_int_sin_EEE$Cuenta, datos_int_sin_EEE$Debito, datos_int_sin_EEE$Densidad_Pob, datos_int_sin_EEE$Densidad_Neg, datos_int_sin_EEE$PIB_pc_PPP, datos_int_sin_EEE$IDH, datos_int_sin_EEE$Prest_viv, datos_int_sin_EEE$ICH, datos_int_sin_EEE$Internet, datos_int_sin_EEE$Europa, datos_int_sin_EEE$Asia_Este, datos_int_sin_EEE$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_int_con_cont_sin_EEE_bic_ef)

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 28
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 18
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 15
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 18
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(Intercambio ~ controles, datos_int_sin_EEE))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_sin_EEE))  
}

min(BIC)<BIC[1]
#No se eliminan más columnas
controles4<-controles

#Variables a usar
variables_controles

modelo_int_con_cont_sin_EEE_bic_ef<-lm(Intercambio ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Crimen + Cuenta + Densidad_Pob + Prest_viv + ICH + Internet + Europa + Asia_Este, datos_int_sin_EEE)

modelo_int_con_cont_sin_EEE_bic_ef_corr_hc<-coeftest(modelo_int_con_cont_sin_EEE_bic_ef, vcov. = vcovHC(modelo_int_con_cont_sin_EEE_bic_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_con_cont_sin_EEE_bic_ef_corr_hac<-coeftest(modelo_int_con_cont_sin_EEE_bic_ef, vcov. = vcovHAC(modelo_int_con_cont_sin_EEE_bic_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_con_cont_sin_EEE_bic_ef, modelo_int_con_cont_sin_EEE_bic_ef_corr_hc, modelo_int_con_cont_sin_EEE_bic_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según BIC con efectos fijos de tiempo sin EEE", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")
```

## Restringir la muestra a los países regulados

```{r regresiones intercambio regulados, include=TRUE, results='asis'}
####################################
#Con solo países regulados en intercambio sin logaritmo

datos_int_reg<-datos_int[datos_int$Regulacion_intercambio==1,]

#Regresión sin controles no se hace acá

#Regresión con todos los controles
modelo_int_reg_con_cont<-lm(Intercambio ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int_reg)

modelo_int_reg_con_cont_corr_hc<-coeftest(modelo_int_reg_con_cont, vcov. = vcovHC(modelo_int_reg_con_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_reg_con_cont_corr_hac<-coeftest(modelo_int_reg_con_cont, vcov. = vcovHAC(modelo_int_reg_con_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_reg_con_cont, modelo_int_reg_con_cont_corr_hc, modelo_int_reg_con_cont_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio con todos los controles, solo muestra con países regulados", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_reg_con_cont<-predict(modelo_int_reg_con_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Regresión con todos los controles más efectos fijos de tiempo
modelo_int_reg_con_cont_ef<-lm(Intercambio ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_int_reg)

modelo_int_reg_con_cont_ef_corr_hc<-coeftest(modelo_int_reg_con_cont_ef, vcov. = vcovHC(modelo_int_reg_con_cont_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_reg_con_cont_ef_corr_hac<-coeftest(modelo_int_reg_con_cont_ef, vcov. = vcovHAC(modelo_int_reg_con_cont_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_reg_con_cont_ef, modelo_int_reg_con_cont_ef_corr_hc, modelo_int_reg_con_cont_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio con controles y efectos fijos de tiempo, solo muestra con países regulados", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_int_reg_con_cont_ef<-predict(modelo_int_reg_con_cont_ef, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña)
#Se elimina la tasa de adquirencia en los datos para evitar sus NAs

modelo_int_reg_con_cont_aicc<-lm(Intercambio ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int_reg)

controles<- cbind(datos_int_reg$Cajero_Autom, datos_int_reg$Credito, datos_int_reg$Crimen, datos_int_reg$Cuenta, datos_int_reg$Debito, datos_int_reg$Densidad_Pob, datos_int_reg$Densidad_Neg, datos_int_reg$PIB_pc_PPP, datos_int_reg$IDH, datos_int_reg$Prest_viv, datos_int_reg$ICH, datos_int_reg$Internet, datos_int_reg$Europa, datos_int_reg$Asia_Este, datos_int_reg$Am_lat)

variables_controles<-c("Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC1<-aicc(modelo_int_reg_con_cont_aicc)

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 2
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 1
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 3
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 13
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 4
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 12
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 5
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 7
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 6
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 2
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 7
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(AICC)<AICC1
#Ya no se eliminan columnas
controles1<-controles

#variables a usar
variables_controles

modelo_int_reg_con_cont_aicc<-lm(Intercambio ~ Credito + Cuenta + Debito + Densidad_Pob + Densidad_Neg + Prest_viv + ICH + Internet + Europa, datos_int_reg)

modelo_int_reg_con_cont_aicc_corr_hc<-coeftest(modelo_int_reg_con_cont_aicc, vcov. = vcovHC(modelo_int_reg_con_cont_aicc, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_reg_con_cont_aicc_corr_hac<-coeftest(modelo_int_reg_con_cont_aicc, vcov. = vcovHAC(modelo_int_reg_con_cont_aicc, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_reg_con_cont_aicc, modelo_int_reg_con_cont_aicc_corr_hc, modelo_int_reg_con_cont_aicc_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según AICc, solo países regulados en la muestra", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC
modelo_int_reg_con_cont_bic<-lm(Intercambio ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int_reg)

controles<- cbind(datos_int_reg$Cajero_Autom, datos_int_reg$Credito, datos_int_reg$Crimen, datos_int_reg$Cuenta, datos_int_reg$Debito, datos_int_reg$Densidad_Pob, datos_int_reg$Densidad_Neg, datos_int_reg$PIB_pc_PPP, datos_int_reg$IDH, datos_int_reg$Prest_viv, datos_int_reg$ICH, datos_int_reg$Internet, datos_int_reg$Europa, datos_int_reg$Asia_Este, datos_int_reg$Am_lat)

variables_controles<-c("Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC1<-BIC(modelo_int_reg_con_cont_bic)

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 2
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 1
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 3
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 13
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 4
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 12
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 5
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 7
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 6
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 2
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 7
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 5
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 8
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 7
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 9
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i)], datos_int_reg))  
}

min(BIC)<BIC1
#Ya no se eliminan columnas
controles2<-controles

#variables a usar
variables_controles

modelo_int_reg_con_cont_bic<-lm(Intercambio ~ Credito + Cuenta + Debito + Densidad_Pob + Prest_viv + ICH + Europa, datos_int_reg)

modelo_int_reg_con_cont_bic_corr_hc<-coeftest(modelo_int_reg_con_cont_bic, vcov. = vcovHC(modelo_int_reg_con_cont_bic, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_reg_con_cont_bic_corr_hac<-coeftest(modelo_int_reg_con_cont_bic, vcov. = vcovHAC(modelo_int_reg_con_cont_bic, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_reg_con_cont_bic, modelo_int_reg_con_cont_bic_corr_hc, modelo_int_reg_con_cont_bic_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según BIC, solo países regulados en la muestra", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña), más efectos fijos de tiempo
modelo_int_reg_con_cont_aicc_ef<-lm(Intercambio ~ Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_int_reg)

controles<- cbind(datos_int_reg$Año_2010, datos_int_reg$Año_2011, datos_int_reg$Año_2012, datos_int_reg$Año_2013, datos_int_reg$Año_2014, datos_int_reg$Año_2015, datos_int_reg$Año_2016, datos_int_reg$Año_2017, datos_int_reg$Año_2018, datos_int_reg$Año_2019, datos_int_reg$Año_2020, datos_int_reg$Año_2021, datos_int_reg$Cajero_Autom, datos_int_reg$Credito, datos_int_reg$Crimen, datos_int_reg$Cuenta, datos_int_reg$Debito, datos_int_reg$Densidad_Pob, datos_int_reg$Densidad_Neg, datos_int_reg$PIB_pc_PPP, datos_int_reg$IDH, datos_int_reg$Prest_viv, datos_int_reg$ICH, datos_int_reg$Internet, datos_int_reg$Europa, datos_int_reg$Asia_Este, datos_int_reg$Am_lat)

variables_controles<-c("Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC1<-aicc(modelo_int_reg_con_cont_aicc_ef)

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 2
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 13
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 3
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 25
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 4
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 24
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 5
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 19
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 6
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 14
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 7
AICC<-c()
AICC1<-aicc(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(AICC)<AICC1
#Ya no se eliminan columnas
controles3<-controles

#variables a usar
variables_controles

modelo_int_reg_con_cont_aicc_ef<-lm(Intercambio ~ Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Credito + Cuenta + Debito + Densidad_Pob + Densidad_Neg + Prest_viv + ICH + Internet + Europa, datos_int_reg)

modelo_int_reg_con_cont_aicc_ef_corr_hc<-coeftest(modelo_int_reg_con_cont_aicc_ef, vcov. = vcovHC(modelo_int_reg_con_cont_aicc_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_reg_con_cont_aicc_ef_corr_hac<-coeftest(modelo_int_reg_con_cont_aicc_ef, vcov. = vcovHAC(modelo_int_reg_con_cont_aicc_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_reg_con_cont_aicc_ef, modelo_int_reg_con_cont_aicc_ef_corr_hc, modelo_int_reg_con_cont_aicc_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según AICc con efectos fijos de tiempo, solo países regulados en la muestra", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC, más efectos fijos de tiempo
modelo_int_reg_con_cont_bic_ef<-lm(Intercambio ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_int_reg)

controles<- cbind(datos_int_reg$Año_2010, datos_int_reg$Año_2011, datos_int_reg$Año_2012, datos_int_reg$Año_2013, datos_int_reg$Año_2014, datos_int_reg$Año_2015, datos_int_reg$Año_2016, datos_int_reg$Año_2017, datos_int_reg$Año_2018, datos_int_reg$Año_2019, datos_int_reg$Año_2020, datos_int_reg$Año_2021, datos_int_reg$Cajero_Autom, datos_int_reg$Credito, datos_int_reg$Crimen, datos_int_reg$Cuenta, datos_int_reg$Debito, datos_int_reg$Densidad_Pob, datos_int_reg$Densidad_Neg, datos_int_reg$PIB_pc_PPP, datos_int_reg$IDH, datos_int_reg$Prest_viv, datos_int_reg$ICH, datos_int_reg$Internet, datos_int_reg$Europa, datos_int_reg$Asia_Este, datos_int_reg$Am_lat)

variables_controles<-c("Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC1<-BIC(modelo_int_reg_con_cont_bic_ef)

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 2
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 13
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 3
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 25
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 4
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 24
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 5
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 19
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 5
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 14
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 6
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 17
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 7
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 19
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 8
BIC<-c()
BIC1<-BIC(lm(Intercambio ~ controles, datos_int_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Intercambio ~ controles[,-c(i+12)], datos_int_reg))  
}

min(BIC)<BIC1
#No se eliminan más columnas
controles4<-controles

#Variables a usar
variables_controles

modelo_int_reg_con_cont_bic_ef<-lm(Intercambio ~ Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Credito + Cuenta + Debito + Densidad_Pob + Prest_viv + ICH + Europa, datos_int_reg)

modelo_int_reg_con_cont_bic_ef_corr_hc<-coeftest(modelo_int_reg_con_cont_bic_ef, vcov. = vcovHC(modelo_int_reg_con_cont_bic_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_int_reg_con_cont_bic_ef_corr_hac<-coeftest(modelo_int_reg_con_cont_bic_ef, vcov. = vcovHAC(modelo_int_reg_con_cont_bic_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_int_reg_con_cont_bic_ef, modelo_int_reg_con_cont_bic_ef_corr_hc, modelo_int_reg_con_cont_bic_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de intercambio según BIC con efectos fijos de tiempo, solo países regulados en la muestra", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa intercambio", "Tasa intercambio", "Tasa intercambio"), dep.var.caption = "Variable dependiente")

```

<div style="text-align: justify">
Luego de la etapa de modelación, se realiza un pronóstico para conocer la potencial tasa de intercambio para Costa Rica. 
</div>

## Predicción de las comisiones de intercambio

```{r pronosticos tasa intercambio, include=TRUE}
#Pronósticos de la tasa de intercambio

##########################################
#Pronósticos sin logaritmo toda la muestra

#Predicción con dicotómica sin regulación
pred1_int_sin_reg <- 1*modelo_int_con_cont_aicc$coefficients[1]+
modelo_int_con_cont_aicc$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_int_con_cont_aicc$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_aicc$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_aicc$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_int_con_cont_aicc$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"] +
modelo_int_con_cont_aicc$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred2_int_sin_reg<-1*modelo_int_con_cont_bic$coefficients[1]+
modelo_int_con_cont_bic$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_int_con_cont_bic$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_bic$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_bic$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_bic$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"] +
modelo_int_con_cont_bic$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred3_int_sin_reg<-1*modelo_int_con_cont_aicc_ef$coefficients[1]+
modelo_int_con_cont_aicc_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_con_cont_aicc_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_aicc_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_aicc_ef$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_int_con_cont_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"] +
modelo_int_con_cont_aicc_ef$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred4_int_sin_reg<-1*modelo_int_con_cont_bic_ef$coefficients[1]+
modelo_int_con_cont_bic_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_con_cont_bic_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_bic_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_bic_ef$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_int_con_cont_bic_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"]

pred_int_sin_reg<-mean(c(as.numeric(pred1_int_sin_reg), as.numeric(pred2_int_sin_reg), as.numeric(pred3_int_sin_reg), as.numeric(pred4_int_sin_reg)))

#Predicción con dicotómica con regulación
pred1_int_con_reg <- 1*modelo_int_con_cont_aicc$coefficients[1]+
modelo_int_con_cont_aicc$coefficients["Regulacion_intercambio"] * 1 +
modelo_int_con_cont_aicc$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_aicc$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_aicc$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_int_con_cont_aicc$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"] +
modelo_int_con_cont_aicc$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred2_int_con_reg<-1*modelo_int_con_cont_bic$coefficients[1]+
modelo_int_con_cont_bic$coefficients["Regulacion_intercambio"] * 1 +
modelo_int_con_cont_bic$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_bic$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_bic$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_bic$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"] +
modelo_int_con_cont_bic$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred3_int_con_reg<-1*modelo_int_con_cont_aicc_ef$coefficients[1]+
modelo_int_con_cont_aicc_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_int_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_con_cont_aicc_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_aicc_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_aicc_ef$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_int_con_cont_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"] +
modelo_int_con_cont_aicc_ef$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred4_int_con_reg<-1*modelo_int_con_cont_bic_ef$coefficients[1]+
modelo_int_con_cont_bic_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_int_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_con_cont_bic_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_bic_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_bic_ef$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_int_con_cont_bic_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"]

pred_int_con_reg<-mean(c(as.numeric(pred1_int_con_reg), as.numeric(pred2_int_con_reg), as.numeric(pred3_int_con_reg), as.numeric(pred4_int_con_reg)))

##########################################
#Pronósticos con logaritmo toda la muestra

#Predicción con dicotómica sin regulación
pred1_log_int_sin_reg <- exp( 1*modelo_log_int_con_cont_aicc$coefficients[1]+
modelo_log_int_con_cont_aicc$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_log_int_con_cont_aicc$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_log_int_con_cont_aicc$coefficients["Credito"] * datos[54,"Credito"] +
modelo_log_int_con_cont_aicc$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_log_int_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_int_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_int_con_cont_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_int_con_cont_aicc$coefficients["ICH"] * datos[54,"ICH"] +
modelo_log_int_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_int_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"] +
modelo_log_int_con_cont_aicc$coefficients["Am_lat"] * datos[54,"Am_lat"])

pred2_log_int_sin_reg<- exp( 1*modelo_log_int_con_cont_bic$coefficients[1]+
modelo_log_int_con_cont_bic$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_log_int_con_cont_bic$coefficients["Credito"] * datos[54,"Credito"] +
modelo_log_int_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_int_con_cont_bic$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_int_con_cont_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_int_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"] +
modelo_log_int_con_cont_bic$coefficients["Am_lat"] * datos[54,"Am_lat"])

pred3_log_int_sin_reg<- exp( 1*modelo_log_int_con_cont_aicc_ef$coefficients[1]+
modelo_log_int_con_cont_aicc_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Credito"] * datos[54,"Credito"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_int_con_cont_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Am_lat"] * datos[54,"Am_lat"])

pred4_log_int_sin_reg<- exp( 1*modelo_log_int_con_cont_bic_ef$coefficients[1]+
modelo_log_int_con_cont_bic_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_log_int_con_cont_bic_ef$coefficients["Credito"] * datos[54,"Credito"] +
modelo_log_int_con_cont_bic_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_log_int_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_int_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_int_con_cont_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_int_con_cont_bic_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_log_int_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_int_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"] + 
modelo_log_int_con_cont_bic_ef$coefficients["Am_lat"] * datos[54,"Am_lat"])

pred_log_int_sin_reg<-mean(c(as.numeric(pred1_log_int_sin_reg), as.numeric(pred2_log_int_sin_reg), as.numeric(pred3_log_int_sin_reg), as.numeric(pred4_log_int_sin_reg)))

#Predicción con dicotómica con regulación
pred1_log_int_con_reg <- exp( 1*modelo_log_int_con_cont_aicc$coefficients[1]+
modelo_log_int_con_cont_aicc$coefficients["Regulacion_intercambio"] * 1 +
modelo_log_int_con_cont_aicc$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_log_int_con_cont_aicc$coefficients["Credito"] * datos[54,"Credito"] +
modelo_log_int_con_cont_aicc$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_log_int_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_int_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_int_con_cont_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_int_con_cont_aicc$coefficients["ICH"] * datos[54,"ICH"] +
modelo_log_int_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_int_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"] +
modelo_log_int_con_cont_aicc$coefficients["Am_lat"] * datos[54,"Am_lat"])

pred2_log_int_con_reg<- exp( 1*modelo_log_int_con_cont_bic$coefficients[1]+
modelo_log_int_con_cont_bic$coefficients["Regulacion_intercambio"] * 1 +
modelo_log_int_con_cont_bic$coefficients["Credito"] * datos[54,"Credito"] +
modelo_log_int_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_int_con_cont_bic$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_int_con_cont_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_int_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"] +
modelo_log_int_con_cont_bic$coefficients["Am_lat"] * datos[54,"Am_lat"])

pred3_log_int_con_reg<- exp( 1*modelo_log_int_con_cont_aicc_ef$coefficients[1]+
modelo_log_int_con_cont_aicc_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Credito"] * datos[54,"Credito"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_int_con_cont_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"] +
modelo_log_int_con_cont_aicc_ef$coefficients["Am_lat"] * datos[54,"Am_lat"])

pred4_log_int_con_reg<- exp( 1*modelo_log_int_con_cont_bic_ef$coefficients[1]+
modelo_log_int_con_cont_bic_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_log_int_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_log_int_con_cont_bic_ef$coefficients["Credito"] * datos[54,"Credito"] +
modelo_log_int_con_cont_bic_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_log_int_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_int_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_int_con_cont_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_int_con_cont_bic_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_log_int_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_int_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"] + 
modelo_log_int_con_cont_bic_ef$coefficients["Am_lat"] * datos[54,"Am_lat"])

pred_log_int_con_reg<-mean(c(as.numeric(pred1_log_int_con_reg), as.numeric(pred2_log_int_con_reg), as.numeric(pred3_log_int_con_reg), as.numeric(pred4_log_int_con_reg)))

##########################################
#Pronósticos sin logaritmo solo países regulados en la muestra

pred1_int_reg <- 1*modelo_int_reg_con_cont_aicc$coefficients[1]+
modelo_int_reg_con_cont_aicc$coefficients["Credito"] * datos[54,"Credito"] +
modelo_int_reg_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_reg_con_cont_aicc$coefficients["Debito"] * datos[54,"Debito"] +
modelo_int_reg_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_reg_con_cont_aicc$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_int_reg_con_cont_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_reg_con_cont_aicc$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_reg_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_reg_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"]

pred2_int_reg<-1*modelo_int_reg_con_cont_bic$coefficients[1]+
modelo_int_reg_con_cont_bic$coefficients["Credito"] * datos[54,"Credito"] +
modelo_int_reg_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_reg_con_cont_bic$coefficients["Debito"] * datos[54,"Debito"] +
modelo_int_reg_con_cont_bic$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_reg_con_cont_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_reg_con_cont_bic$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_reg_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"] 

pred3_int_reg<-1*modelo_int_reg_con_cont_aicc_ef$coefficients[1]+
modelo_int_reg_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Credito"] * datos[54,"Credito"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Debito"] * datos[54,"Debito"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_reg_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"]

pred4_int_reg<-1*modelo_int_reg_con_cont_bic_ef$coefficients[1]+
modelo_int_reg_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Credito"] * datos[54,"Credito"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Debito"] * datos[54,"Debito"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_reg_con_cont_bic_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_reg_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"]

pred_int_reg<-mean(c(as.numeric(pred1_int_reg), as.numeric(pred2_int_reg), as.numeric(pred3_int_reg), as.numeric(pred4_int_reg)))

##########################################
#Pronósticos sin logaritmo toda la muestra sin EEE

#Predicción con dicotómica sin regulación
pred1_int_sin_EEE_sin_reg <- 1*modelo_int_con_cont_sin_EEE_aicc$coefficients[1]+
modelo_int_con_cont_sin_EEE_aicc$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Europa"] * datos[54,"Europa"]

pred2_int_sin_EEE_sin_reg<-1*modelo_int_con_cont_sin_EEE_bic$coefficients[1]+
modelo_int_con_cont_sin_EEE_bic$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Europa"] * datos[54,"Europa"]

pred3_int_sin_EEE_sin_reg<-1*modelo_int_con_cont_sin_EEE_aicc_ef$coefficients[1]+
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Europa"] * datos[54,"Europa"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Asia_Este"] * datos[54,"Asia_Este"]

pred4_int_sin_EEE_sin_reg<-1*modelo_int_con_cont_sin_EEE_bic_ef$coefficients[1]+
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Europa"] * datos[54,"Europa"] + 
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Asia_Este"] * datos[54,"Asia_Este"]

pred_int_sin_EEE_sin_reg<-mean(c(as.numeric(pred1_int_sin_EEE_sin_reg), as.numeric(pred2_int_sin_EEE_sin_reg), as.numeric(pred3_int_sin_EEE_sin_reg), as.numeric(pred4_int_sin_EEE_sin_reg)))

#Predicción con dicotómica con regulación
pred1_int_sin_EEE_con_reg <- 1*modelo_int_con_cont_sin_EEE_aicc$coefficients[1]+
modelo_int_con_cont_sin_EEE_aicc$coefficients["Regulacion_intercambio"] * 1 +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_sin_EEE_aicc$coefficients["Europa"] * datos[54,"Europa"]

pred2_int_sin_EEE_con_reg<-1*modelo_int_con_cont_sin_EEE_bic$coefficients[1]+
modelo_int_con_cont_sin_EEE_bic$coefficients["Regulacion_intercambio"] * 1 +
modelo_int_con_cont_sin_EEE_bic$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_sin_EEE_bic$coefficients["Europa"] * datos[54,"Europa"]

pred3_int_sin_EEE_con_reg<-1*modelo_int_con_cont_sin_EEE_aicc_ef$coefficients[1]+
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Europa"] * datos[54,"Europa"] +
modelo_int_con_cont_sin_EEE_aicc_ef$coefficients["Asia_Este"] * datos[54,"Asia_Este"]

pred4_int_sin_EEE_con_reg<-1*modelo_int_con_cont_sin_EEE_bic_ef$coefficients[1]+
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Europa"] * datos[54,"Europa"] + 
modelo_int_con_cont_sin_EEE_bic_ef$coefficients["Asia_Este"] * datos[54,"Asia_Este"]

pred_int_sin_EEE_con_reg<-mean(c(as.numeric(pred1_int_sin_EEE_con_reg), as.numeric(pred2_int_sin_EEE_con_reg), as.numeric(pred3_int_sin_EEE_con_reg), as.numeric(pred4_int_sin_EEE_con_reg)))

####################################
#Tabla pronósticos

pronosticos_int<-as.data.frame(cbind(c( pred_int_sin_cont_sin_reg, pred_int_con_cont_sin_reg, pred_int_con_cont_ef_sin_reg, pred1_int_sin_reg, pred2_int_sin_reg, pred3_int_sin_reg, pred4_int_sin_reg, pred_int_sin_reg), c( pred_int_sin_cont_con_reg, pred_int_con_cont_con_reg, pred_int_con_cont_ef_con_reg, pred1_int_con_reg, pred2_int_con_reg, pred3_int_con_reg, pred4_int_con_reg, pred_int_con_reg) ))

rownames(pronosticos_int)<-c("Modelo sin controles", "Modelo con controles sin efectos fijos de tiempo", "Modelo con controles con efectos fijos de tiempo", "Modelo AICc sin efectos fijos de tiempo", "Modelo BIC sin efectos fijos de tiempo", "Modelo AICc con efectos fijos de tiempo", "Modelo BIC con efectos fijos de tiempo", "Promedio modelos AICc y BIC")
names(pronosticos_int)<-c("Sin dicotómica de regulación","Con dicotómica de regulación")

pronosticos_int

#Tabla pronósticos alternativos con log

pronosticos_int_alt_log<-as.data.frame(cbind(c( pred_log_int_sin_cont_sin_reg, pred_log_int_con_cont_sin_reg, pred_log_int_con_cont_ef_sin_reg, pred1_log_int_sin_reg, pred2_log_int_sin_reg, pred3_log_int_sin_reg, pred4_log_int_sin_reg, pred_log_int_sin_reg), c( pred_log_int_sin_cont_con_reg, pred_log_int_con_cont_con_reg, pred_log_int_con_cont_ef_con_reg, pred1_log_int_con_reg, pred2_log_int_con_reg, pred3_log_int_con_reg, pred4_log_int_con_reg, pred_log_int_con_reg) ))

rownames(pronosticos_int_alt_log)<-c("Modelo sin controles", "Modelo con controles sin efectos fijos de tiempo", "Modelo con controles con efectos fijos de tiempo", "Modelo AICc sin efectos fijos de tiempo", "Modelo BIC sin efectos fijos de tiempo", "Modelo AICc con efectos fijos de tiempo", "Modelo BIC con efectos fijos de tiempo", "Promedio modelos AICc y BIC")
names(pronosticos_int_alt_log)<-c("Sin dicotómica de regulación","Con dicotómica de regulación")

pronosticos_int_alt_log

#Tabla pronósticos alternativos solo muestra regulados

pronosticos_int_alt_reg<-as.data.frame(cbind(
c( pred_int_reg_con_cont, pred_int_reg_con_cont_ef, pred1_int_reg, pred2_int_reg, pred3_int_reg, pred4_int_reg, pred_int_reg) ) )

rownames(pronosticos_int_alt_reg)<-c("Modelo con controles sin efectos fijos de tiempo", "Modelo con controles con efectos fijos de tiempo", "Modelo AICc sin efectos fijos de tiempo", "Modelo BIC sin efectos fijos de tiempo", "Modelo AICc con efectos fijos de tiempo", "Modelo BIC con efectos fijos de tiempo", "Promedio modelos AICc y BIC")
names(pronosticos_int_alt_reg)<-c("Pronóstico con solo muestra  de países regulados")

pronosticos_int_alt_reg

#Tabla pronósticos sin EEE

pronosticos_int_sin_EEE<-as.data.frame(cbind(c( pred_int_sin_cont_sin_EEE_sin_reg, pred_int_con_cont_sin_EEE_sin_reg, pred_int_con_cont_sin_EEE_ef_sin_reg, pred1_int_sin_EEE_sin_reg, pred2_int_sin_EEE_sin_reg, pred3_int_sin_EEE_sin_reg, pred4_int_sin_EEE_sin_reg, pred_int_sin_EEE_sin_reg), c( pred_int_sin_cont_sin_EEE_con_reg, pred_int_con_cont_sin_EEE_con_reg, pred_int_con_cont_sin_EEE_ef_con_reg, pred1_int_sin_EEE_con_reg, pred2_int_sin_EEE_con_reg, pred3_int_sin_EEE_con_reg, pred4_int_sin_EEE_con_reg, pred_int_sin_EEE_con_reg) ))

rownames(pronosticos_int_sin_EEE)<-c("Modelo sin controles sin EEE", "Modelo con controles sin efectos fijos de tiempo sin EEE", "Modelo con controles con efectos fijos de tiempo sin EEE", "Modelo AICc sin efectos fijos de tiempo sin EEE", "Modelo BIC sin efectos fijos de tiempo sin EEE", "Modelo AICc con efectos fijos de tiempo sin EEE", "Modelo BIC con efectos fijos de tiempo sin EEE", "Promedio modelos AICc y BIC sin EEE")
names(pronosticos_int_sin_EEE)<-c("Sin dicotómica de regulación","Con dicotómica de regulación")

pronosticos_int_sin_EEE

```

## Regresión con variables instrumentales

```{r regresiones IV intercambio, include=TRUE}
#Se estima el MC2E con la función ivreg
modelo_iv_int<-ivreg(formula = Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + Europa + Asia_Este + Am_lat | Regulacion_intercambio + Crimen + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat , data = datos)
#IVs: Crimen, IDH, ICH, Internet, Prest_viv
summary(modelo_iv_int, diagnostics = TRUE)
#Errores estándar robustos
coeftest(modelo_iv_int, vcov.=vcovHAC(modelo_iv_int))

#Se estima el MC2E con la función ivreg
modelo_iv_int_ef<-ivreg(formula = Intercambio ~ Regulacion_intercambio + Cajero_Autom + Credito + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + Europa + Asia_Este + Am_lat + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 | Regulacion_intercambio + Crimen + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020, data = datos)
#IVs: Crimen, IDH, ICH, Internet, Prest_viv
summary(modelo_iv_int_ef, diagnostics = TRUE)
#Errores estándar robustos
coeftest(modelo_iv_int_ef, vcov.=vcovHAC(modelo_iv_int_ef))

#Predicciones modelos IV intercambio
#Sin regulación
pred_iv_int_sin_reg <- coef(modelo_iv_int)[1] * 1 + coef(modelo_iv_int)["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
  coef(modelo_iv_int)["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
  coef(modelo_iv_int)["Credito"] * datos[54,"Credito"] +
  coef(modelo_iv_int)["Cuenta"] * datos[54,"Cuenta"] +
  coef(modelo_iv_int)["Debito"] * datos[54,"Debito"] +
  coef(modelo_iv_int)["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
  coef(modelo_iv_int)["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
  coef(modelo_iv_int)["PIB_pc_PPP"] * datos[54,"PIB_pc_PPP"] +
  coef(modelo_iv_int)["Europa"] * datos[54,"Europa"] +
  coef(modelo_iv_int)["Asia_Este"] * datos[54,"Asia_Este"] +
  coef(modelo_iv_int)["Am_lat"] * datos[54,"Am_lat"]

pred_iv_int_ef_sin_reg <- coef(modelo_iv_int_ef)[1] * 1 + coef(modelo_iv_int_ef)["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
  coef(modelo_iv_int_ef)["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
  coef(modelo_iv_int_ef)["Credito"] * datos[54,"Credito"] +
  coef(modelo_iv_int_ef)["Cuenta"] * datos[54,"Cuenta"] +
  coef(modelo_iv_int_ef)["Debito"] * datos[54,"Debito"] +
  coef(modelo_iv_int_ef)["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
  coef(modelo_iv_int_ef)["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
  coef(modelo_iv_int_ef)["PIB_pc_PPP"] * datos[54,"PIB_pc_PPP"] +
  coef(modelo_iv_int_ef)["Europa"] * datos[54,"Europa"] +
  coef(modelo_iv_int_ef)["Asia_Este"] * datos[54,"Asia_Este"] +
  coef(modelo_iv_int_ef)["Am_lat"] * datos[54,"Am_lat"] +
  coef(modelo_iv_int_ef)["Año_2016"] * datos[54,"Año_2016"] +
  coef(modelo_iv_int_ef)["Año_2017"] * datos[54,"Año_2017"] +
  coef(modelo_iv_int_ef)["Año_2018"] * datos[54,"Año_2018"] +
  coef(modelo_iv_int_ef)["Año_2019"] * datos[54,"Año_2019"] +
  coef(modelo_iv_int_ef)["Año_2020"] * datos[54,"Año_2020"]

#Con regulación
pred_iv_int_con_reg <- coef(modelo_iv_int)[1] * 1 + coef(modelo_iv_int)["Regulacion_intercambio"] * 1 +
  coef(modelo_iv_int)["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
  coef(modelo_iv_int)["Credito"] * datos[54,"Credito"] +
  coef(modelo_iv_int)["Cuenta"] * datos[54,"Cuenta"] +
  coef(modelo_iv_int)["Debito"] * datos[54,"Debito"] +
  coef(modelo_iv_int)["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
  coef(modelo_iv_int)["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
  coef(modelo_iv_int)["PIB_pc_PPP"] * datos[54,"PIB_pc_PPP"] +
  coef(modelo_iv_int)["Europa"] * datos[54,"Europa"] +
  coef(modelo_iv_int)["Asia_Este"] * datos[54,"Asia_Este"] +
  coef(modelo_iv_int)["Am_lat"] * datos[54,"Am_lat"]

pred_iv_int_ef_con_reg <- coef(modelo_iv_int_ef)[1] * 1 + coef(modelo_iv_int_ef)["Regulacion_intercambio"] * 1 +
  coef(modelo_iv_int_ef)["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
  coef(modelo_iv_int_ef)["Credito"] * datos[54,"Credito"] +
  coef(modelo_iv_int_ef)["Cuenta"] * datos[54,"Cuenta"] +
  coef(modelo_iv_int_ef)["Debito"] * datos[54,"Debito"] +
  coef(modelo_iv_int_ef)["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
  coef(modelo_iv_int_ef)["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
  coef(modelo_iv_int_ef)["PIB_pc_PPP"] * datos[54,"PIB_pc_PPP"] +
  coef(modelo_iv_int_ef)["Europa"] * datos[54,"Europa"] +
  coef(modelo_iv_int_ef)["Asia_Este"] * datos[54,"Asia_Este"] +
  coef(modelo_iv_int_ef)["Am_lat"] * datos[54,"Am_lat"] +
  coef(modelo_iv_int_ef)["Año_2016"] * datos[54,"Año_2016"] +
  coef(modelo_iv_int_ef)["Año_2017"] * datos[54,"Año_2017"] +
  coef(modelo_iv_int_ef)["Año_2018"] * datos[54,"Año_2018"] +
  coef(modelo_iv_int_ef)["Año_2019"] * datos[54,"Año_2019"] +
  coef(modelo_iv_int_ef)["Año_2020"] * datos[54,"Año_2020"]

pred_iv_int_sin_reg
pred_iv_int_con_reg

pred_iv_int_ef_sin_reg
pred_iv_int_ef_con_reg
```

## Pruebas estadísticas a regresiones tasa de intercambio

<div style="text-align: justify">
Nota: en este código los valores de probabilidad de la prueba de normalidad de Jarque-Bera se obtienen a partir de la distribución chi-cuadrada. Por su parte, los valores de probabilidad de la respectiva prueba publicados en el Cuadro 10 del Anexo 11 del Alcance N° 5 a La Gaceta N° 8 del viernes 14 de enero de 2022, se estiman a partir de una simulación de Monte Carlo. Sin embargo, la conclusión sobre la normalidad de los residuos se mantiene.
</div>

### Modelo sin controles.

```{r pruebas regresiones intercambio0, include=TRUE}

#modelo_int_sin_cont

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_int_sin_cont<-resid(modelo_int_sin_cont)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_int_sin_cont)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values no tiene sentido sin controles
#vif(modelo_int_sin_cont)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_int_sin_cont, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal.
#resettest(modelo_int_sin_cont, power = 2:3, type = c("fitted"), data = datos)#No se realiza porque solo tiene una dummy

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_int_sin_cont, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_int_sin_cont, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_int_sin_cont, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_int_sin_cont, data = datos, type = "Rec-CUSUM", h = 0.01))

```

### Modelo con controles.

```{r pruebas regresiones intercambio1, include=TRUE}

#modelo_int_con_cont

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_int_con_cont<-resid(modelo_int_con_cont)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_int_con_cont)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values
vif(modelo_int_con_cont)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_int_con_cont, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
resettest(modelo_int_con_cont, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#Corregido por heterocedasticidad

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_int_con_cont, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_int_con_cont, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont, data = datos, type = "Rec-CUSUM", h = 0.01))

```

### Modelo con controles con efectos fijos de tiempo

```{r pruebas regresiones intercambio2, include=TRUE}


#modelo_int_con_cont_ef

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_int_con_cont_ef<-resid(modelo_int_con_cont_ef)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_int_con_cont_ef)

#Se obtiene el resultado del índice de condición de multicolinealidad no aplica para dummies extra
#create vector of VIF values
#vif(modelo_int_con_cont_ef)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_int_con_cont_ef, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_int_con_cont_ef, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_int_con_cont_ef, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_ef, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_int_con_cont_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_ef, data = datos, type = "Rec-CUSUM", h = 0.01))

```

### Modelo AICc sin efectos fijos de tiempo

```{r pruebas regresiones intercambio3, include=TRUE}


#modelo_int_con_cont_aicc

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_int_con_cont_aicc<-resid(modelo_int_con_cont_aicc)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_int_con_cont_aicc)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values
vif(modelo_int_con_cont_aicc)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_int_con_cont_aicc, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
resettest(modelo_int_con_cont_aicc, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#Corregido por heterocedasticidad)

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_int_con_cont_aicc, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_aicc, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_int_con_cont_aicc, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_aicc, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo AICc con efectos fijos de tiempo

```{r pruebas regresiones intercambio4, include=TRUE}

#modelo_int_con_cont_aicc_ef

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_int_con_cont_aicc_ef<-resid(modelo_int_con_cont_aicc_ef)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_int_con_cont_aicc_ef)

#Se obtiene el resultado del índice de condición de multicolinealidad no aplica para dummies extra
#create vector of VIF values
#vif(modelo_int_con_cont_aicc_ef)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_int_con_cont_aicc_ef, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_int_con_cont_aicc_ef, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se realiza porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_int_con_cont_aicc_ef, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_aicc_ef, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_int_con_cont_aicc_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_aicc_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo BIC sin efectos fijos de tiempo

```{r pruebas regresiones intercambio5, include=TRUE}

#modelo_int_con_cont_bic

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_int_con_cont_bic<-resid(modelo_int_con_cont_bic)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_int_con_cont_bic)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values
vif(modelo_int_con_cont_bic)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_int_con_cont_bic, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
resettest(modelo_int_con_cont_bic, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#Corregido por heterocedasticidad)

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_int_con_cont_bic, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_bic, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_int_con_cont_bic, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_bic, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo BIC con efectos fijos de tiempo

```{r pruebas regresiones intercambio6, include=TRUE}

#modelo_int_con_cont_bic_ef

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_int_con_cont_bic_ef<-resid(modelo_int_con_cont_bic_ef)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_int_con_cont_bic_ef)

#Se obtiene el resultado del índice de condición de multicolinealidad no aplica para dummies extra
#create vector of VIF values
#vif(modelo_int_con_cont_bic_ef)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_int_con_cont_bic_ef, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_int_con_cont_bic_ef, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se realiza porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_int_con_cont_bic_ef, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_bic_ef, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_int_con_cont_bic_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_int_con_cont_bic_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo con variables instrumentales sin efectos fijos de tiempo

```{r pruebas regresiones intercambio7, include=TRUE}

#modelo_iv_int

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_iv_int<-resid(modelo_iv_int)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_iv_int)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values
vif(modelo_iv_int)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad (no aplica para IVreg). Se usaron errores estándar robustos anteriormente
#white_lm(modelo_iv_int, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
resettest(modelo_iv_int, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#Corregido por heterocedasticidad)

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_iv_int, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_iv_int, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_iv_int, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_iv_int, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo con variables instrumentales con efectos fijos de tiempo

```{r pruebas regresiones intercambio8, include=TRUE}

#modelo_iv_int_ef

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_iv_int_ef<-resid(modelo_iv_int_ef)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_iv_int_ef)

#Se obtiene el resultado del índice de condición de multicolinealidad no aplica a dummies extra
#create vector of VIF values
#vif(modelo_iv_int_ef)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad no aplica a IVreg. Se usaron errores estándar robustos anteriormente
#white_lm(modelo_iv_int_ef, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_iv_int_ef, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se realiza porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_iv_int_ef, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_iv_int_ef, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_iv_int_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_iv_int_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
```



# Regresiones tasa de adquirencia

De manera similar al caso de la comisión de intercambio, se llevan a cabo múltiples especificaciones de regresión lineal para determinar la tasa de adquirencia para Costa Rica. Se realizan estimaciones con y sin todas las variables (controles) incluidas en los datos. Adicionalmente, se utilizan criterios de información para seleccionar los controles a partir de una comparación entre la bondad de ajuste y la complejidad del modelo. En particular, estos criterios de información son el Criterio de Información de Akaike Corregido (AICc) para muestra pequeña y el Criterio de Información Bayesiano (BIC). También se incluyen versiones sin controles, con todos los controles, con una transformación logarítmica de la variable dependiente, y restringiendo la muestra a los países que regulan la tasa de intercambio.

## Modelos base, AICc y BIC

```{r datos adquirencia, include=TRUE}

misc<-datos[,c(1,4)]
misc<-na.omit(misc)
misc<-misc[!duplicated(misc[,1]),]
#Se elimina Costa Rica
misc<-misc[misc$Codigo_Pais!="CRI",]

#Cantidad de países con información de la tasa de adquirencia en la muestra
nrow(misc)
```


```{r regresiones adquirencia, include=TRUE, results='asis'}

####################################
#Con toda la muestra sin logaritmo

#Regresión sin controles
modelo_adq_sin_cont<-lm(Adquirencia ~ Regulacion_intercambio, datos)

modelo_adq_sin_cont_corr_hc<-coeftest(modelo_adq_sin_cont, vcov. = vcovHC(modelo_adq_sin_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_sin_cont_corr_hac<-coeftest(modelo_adq_sin_cont, vcov. = vcovHAC(modelo_adq_sin_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_sin_cont, modelo_adq_sin_cont_corr_hc, modelo_adq_sin_cont_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia sin controles", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_adq_sin_cont_sin_reg<-predict(modelo_adq_sin_cont, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_sin_cont_con_reg<-predict(modelo_adq_sin_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Regresión con todos los controles
modelo_adq_con_cont<-lm(Adquirencia ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos)

modelo_adq_con_cont_corr_hc<-coeftest(modelo_adq_con_cont, vcov. = vcovHC(modelo_adq_con_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_con_cont_corr_hac<-coeftest(modelo_adq_con_cont, vcov. = vcovHAC(modelo_adq_con_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_con_cont, modelo_adq_con_cont_corr_hc, modelo_adq_con_cont_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia con todos los controles", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_adq_con_cont_sin_reg<-predict(modelo_adq_con_cont, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_con_cont_con_reg<-predict(modelo_adq_con_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Regresión con todos los controles más efectos fijos de tiempo
modelo_adq_con_cont_ef<-lm(Adquirencia ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos)

modelo_adq_con_cont_ef_corr_hc<-coeftest(modelo_adq_con_cont_ef, vcov. = vcovHC(modelo_adq_con_cont_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_con_cont_ef_corr_hac<-coeftest(modelo_adq_con_cont_ef, vcov. = vcovHAC(modelo_adq_con_cont_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_con_cont_ef, modelo_adq_con_cont_ef_corr_hc, modelo_adq_con_cont_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia con controles y efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_adq_con_cont_ef_sin_reg<-predict(modelo_adq_con_cont_ef, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_con_cont_ef_con_reg<-predict(modelo_adq_con_cont_ef, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña)
#Se elimina la variable intercambio de los datos para evitar sus NAs
datos_adq<-na.omit(datos[,-3])

modelo_adq_con_cont_aicc<-lm(Adquirencia ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq)

controles<- cbind(datos_adq$Regulacion_intercambio, datos_adq$Cajero_Autom, datos_adq$Credito, datos_adq$Crimen, datos_adq$Cuenta, datos_adq$Debito, datos_adq$Densidad_Pob, datos_adq$Densidad_Neg, datos_adq$PIB_pc_PPP, datos_adq$IDH, datos_adq$Prest_viv, datos_adq$ICH, datos_adq$Internet, datos_adq$Europa, datos_adq$Asia_Este, datos_adq$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_adq_con_cont_aicc)

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 4
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 3
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 4
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 6
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 6
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 7
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 7
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 2
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 8
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 9
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 9
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 10
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 4
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 11
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles1<-controles

#variables a usar
variables_controles

modelo_adq_con_cont_aicc<-lm(Adquirencia ~ Regulacion_intercambio + Cuenta + Densidad_Pob + Prest_viv + Internet + Europa, datos_adq)

modelo_adq_con_cont_aicc_corr_hc<-coeftest(modelo_adq_con_cont_aicc, vcov. = vcovHC(modelo_adq_con_cont_aicc, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_con_cont_aicc_corr_hac<-coeftest(modelo_adq_con_cont_aicc, vcov. = vcovHAC(modelo_adq_con_cont_aicc, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_con_cont_aicc, modelo_adq_con_cont_aicc_corr_hc, modelo_adq_con_cont_aicc_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia según AICc", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC
modelo_adq_con_cont_bic<-lm(Adquirencia ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq)

controles<- cbind(datos_adq$Regulacion_intercambio, datos_adq$Cajero_Autom, datos_adq$Credito, datos_adq$Crimen, datos_adq$Cuenta, datos_adq$Debito, datos_adq$Densidad_Pob, datos_adq$Densidad_Neg, datos_adq$PIB_pc_PPP, datos_adq$IDH, datos_adq$Prest_viv, datos_adq$ICH, datos_adq$Internet, datos_adq$Europa, datos_adq$Asia_Este, datos_adq$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_adq_con_cont_bic)

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 4
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 3
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 4
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 6
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 6
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 7
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 2
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 8
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 9
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 9
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 10
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 4
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 11
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 3
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 12
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#Ya no se eliminan columnas
controles2<-controles

#variables a usar
variables_controles

modelo_adq_con_cont_bic<-lm(Adquirencia ~ Regulacion_intercambio + Cuenta + Prest_viv + Internet + Europa, datos_adq)

modelo_adq_con_cont_bic_corr_hc<-coeftest(modelo_adq_con_cont_bic, vcov. = vcovHC(modelo_adq_con_cont_bic, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_con_cont_bic_corr_hac<-coeftest(modelo_adq_con_cont_bic, vcov. = vcovHAC(modelo_adq_con_cont_bic, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_con_cont_bic, modelo_adq_con_cont_bic_corr_hc, modelo_adq_con_cont_bic_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia según BIC", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña), más efectos fijos de tiempo
modelo_adq_con_cont_aicc_ef<-lm(Adquirencia ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq)

controles<- cbind(datos_adq$Regulacion_intercambio, datos_adq$Año_2010, datos_adq$Año_2011, datos_adq$Año_2012, datos_adq$Año_2013, datos_adq$Año_2014, datos_adq$Año_2015, datos_adq$Año_2016, datos_adq$Año_2017, datos_adq$Año_2018, datos_adq$Año_2019, datos_adq$Año_2020, datos_adq$Año_2021, datos_adq$Cajero_Autom, datos_adq$Credito, datos_adq$Crimen, datos_adq$Cuenta, datos_adq$Debito, datos_adq$Densidad_Pob, datos_adq$Densidad_Neg, datos_adq$PIB_pc_PPP, datos_adq$IDH, datos_adq$Prest_viv, datos_adq$ICH, datos_adq$Internet, datos_adq$Europa, datos_adq$Asia_Este, datos_adq$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_adq_con_cont_aicc_ef)

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 15
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 17
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 15
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 17
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 17
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 22
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 7
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 22
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 8
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 17
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 9
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 14
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 10
AICC<-c()
AICC[1]<-aicc(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles3<-controles

#variables a usar
variables_controles

modelo_adq_con_cont_aicc_ef<-lm(Adquirencia ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cuenta + Densidad_Pob + Prest_viv + ICH + Internet + Europa, datos_adq)

modelo_adq_con_cont_aicc_ef_corr_hc<-coeftest(modelo_adq_con_cont_aicc_ef, vcov. = vcovHC(modelo_adq_con_cont_aicc_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_con_cont_aicc_ef_corr_hac<-coeftest(modelo_adq_con_cont_aicc_ef, vcov. = vcovHAC(modelo_adq_con_cont_aicc_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_con_cont_aicc_ef, modelo_adq_con_cont_aicc_ef_corr_hc, modelo_adq_con_cont_aicc_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia según AICc con efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC, más efectos fijos de tiempo
modelo_adq_con_cont_bic_ef<-lm(Adquirencia ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_adq)

controles<- cbind(datos_adq$Regulacion_intercambio, datos_adq$Año_2010, datos_adq$Año_2011, datos_adq$Año_2012, datos_adq$Año_2013, datos_adq$Año_2014, datos_adq$Año_2015, datos_adq$Año_2016, datos_adq$Año_2017, datos_adq$Año_2018, datos_adq$Año_2019, datos_adq$Año_2020, datos_adq$Año_2021, datos_adq$Cajero_Autom, datos_adq$Credito, datos_adq$Crimen, datos_adq$Cuenta, datos_adq$Debito, datos_adq$Densidad_Pob, datos_adq$Densidad_Neg, datos_adq$PIB_pc_PPP, datos_adq$IDH, datos_adq$Prest_viv, datos_adq$ICH, datos_adq$Internet, datos_adq$Europa, datos_adq$Asia_Este, datos_adq$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_adq_con_cont_bic_ef)

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 15
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 17
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 15
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 17
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 17
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 22
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 22
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 8
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 17
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 9
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 14
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 10
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 17
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 11
BIC<-c()
BIC[1]<-BIC(lm(Adquirencia ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#No se eliminan más columnas
controles4<-controles

#variables a usar
variables_controles

modelo_adq_con_cont_bic_ef<-lm(Adquirencia ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cuenta + Densidad_Pob + Prest_viv + Internet + Europa, datos_adq)

modelo_adq_con_cont_bic_ef_corr_hc<-coeftest(modelo_adq_con_cont_bic_ef, vcov. = vcovHC(modelo_adq_con_cont_bic_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_con_cont_bic_ef_corr_hac<-coeftest(modelo_adq_con_cont_bic_ef, vcov. = vcovHAC(modelo_adq_con_cont_bic_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_con_cont_bic_ef, modelo_adq_con_cont_bic_ef_corr_hc, modelo_adq_con_cont_bic_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia según BIC con efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")
```

## Regresiones con truncamiento tasa de adquirencia

<div style="text-align: justify">
Al igual que con la tasa de intercambio, para la tasa de adquirencia existe el problema del truncamiento de los datos. Por ello, también se estiman modelos con truncamiento. Se usarán valores mínimos de 0 y 0.36 (tasa de adquirencia mínima en la muestra, dada en España).
</div>

```{r regresiones truncadas adquirencia, include=TRUE, warning=FALSE}
#Se realiza modelos truncados

#Adquirencia 

#AICc
#Truncamiento en 0

modelo_truncado_adq_0_aicc<-truncreg(Adquirencia ~ Regulacion_intercambio + Cuenta + Densidad_Pob + Prest_viv + Internet + Europa, data = datos_adq, point = 0, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_adq_0_aicc)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_adq_trunc_0_aicc_sin_reg<-predict(modelo_truncado_adq_0_aicc, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_trunc_0_aicc_con_reg<-predict(modelo_truncado_adq_0_aicc, newdata = data_CR, type = c("response"))[54]

#Truncamiento en 0.36 tasa adquirencia mínima en la muestra de España

modelo_truncado_adq_0.36_aicc<-truncreg(Adquirencia ~ Regulacion_intercambio + Cuenta + Densidad_Pob + Prest_viv + Internet + Europa, data = datos_adq, point = 0.36, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_adq_0.36_aicc)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_adq_trunc_0.36_aicc_sin_reg<-predict(modelo_truncado_adq_0.36_aicc, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_trunc_0.36_aicc_con_reg<-predict(modelo_truncado_adq_0.36_aicc, newdata = data_CR, type = c("response"))[54]

#BIC
#Truncamiento en 0

modelo_truncado_adq_0_bic<-truncreg(Adquirencia ~ Regulacion_intercambio + Cuenta + Prest_viv + Internet + Europa, data = datos_adq, point = 0, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_adq_0_bic)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_adq_trunc_0_bic_sin_reg<-predict(modelo_truncado_adq_0_bic, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_trunc_0_bic_con_reg<-predict(modelo_truncado_adq_0_bic, newdata = data_CR, type = c("response"))[54]

#Truncamiento en 0.36 tasa adquirencia mínima en la muestra de España

modelo_truncado_adq_0.36_bic<-truncreg(Adquirencia ~ Regulacion_intercambio + Cuenta + Prest_viv + Internet + Europa, data = datos_adq, point = 0.36, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_adq_0.36_bic)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_adq_trunc_0.36_bic_sin_reg<-predict(modelo_truncado_adq_0.36_bic, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_trunc_0.36_bic_con_reg<-predict(modelo_truncado_adq_0.36_bic, newdata = data_CR, type = c("response"))[54]

#AICc con efectos fijos de tiempo
#Truncamiento en 0

modelo_truncado_adq_0_aicc_ef<-truncreg(Adquirencia ~ Regulacion_intercambio + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Cuenta + Densidad_Pob + Prest_viv + ICH + Internet + Europa, data = datos_adq, point = 0, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_adq_0_aicc_ef)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_adq_trunc_0_aicc_ef_sin_reg<-predict(modelo_truncado_adq_0_aicc_ef, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_trunc_0_aicc_ef_con_reg<-predict(modelo_truncado_adq_0_aicc_ef, newdata = data_CR, type = c("response"))[54]

#Truncamiento en 0.36 tasa adquirencia mínima en la muestra de España

modelo_truncado_adq_0.36_aicc_ef<-truncreg(Adquirencia ~ Regulacion_intercambio + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Cuenta + Densidad_Pob + Prest_viv + ICH + Internet + Europa, data = datos_adq, point = 0.36, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_adq_0.36_aicc_ef)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_adq_trunc_0.36_aicc_ef_sin_reg<-predict(modelo_truncado_adq_0.36_aicc_ef, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_trunc_0.36_aicc_ef_con_reg<-predict(modelo_truncado_adq_0.36_aicc_ef, newdata = data_CR, type = c("response"))[54]

#BIC con efectos fijos de tiempo
#Truncamiento en 0

modelo_truncado_adq_0_bic_ef<-truncreg(Adquirencia ~ Regulacion_intercambio + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Cuenta +Densidad_Pob + Prest_viv + Internet + Europa, data = datos_adq, point = 0, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_adq_0_bic_ef)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_adq_trunc_0_bic_ef_sin_reg<-predict(modelo_truncado_adq_0_bic_ef, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_trunc_0_bic_ef_con_reg<-predict(modelo_truncado_adq_0_bic_ef, newdata = data_CR, type = c("response"))[54]

#Truncamiento en 0.36 tasa adquirencia mínima en la muestra de España

modelo_truncado_adq_0.36_bic_ef<-truncreg(Adquirencia ~ Regulacion_intercambio + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Cuenta + Densidad_Pob + Prest_viv + Internet + Europa, data = datos_adq, point = 0.36, direction = "left", model = TRUE, y = FALSE, x = FALSE, scaled = TRUE)

summary(modelo_truncado_adq_0.36_bic_ef)

#Pronóstico para CR
#Se toma la fila 32 que corresponde a la 54 (CRI) en datos!!
#Sin regulación
pred_adq_trunc_0.36_bic_ef_sin_reg<-predict(modelo_truncado_adq_0.36_bic_ef, newdata = datos, type = c("response"))[54]
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_trunc_0.36_bic_ef_con_reg<-predict(modelo_truncado_adq_0.36_bic_ef, newdata = data_CR, type = c("response"))[54]

pred_adq_trunc_0_todos_sin_reg<-mean(c(as.numeric(pred_adq_trunc_0_aicc_sin_reg), as.numeric(pred_adq_trunc_0_bic_sin_reg), as.numeric(pred_adq_trunc_0_aicc_ef_sin_reg), as.numeric(pred_adq_trunc_0_bic_ef_sin_reg)))

pred_adq_trunc_0_todos_con_reg<-mean(c(as.numeric(pred_adq_trunc_0_aicc_con_reg), as.numeric(pred_adq_trunc_0_bic_con_reg), as.numeric(pred_adq_trunc_0_aicc_ef_con_reg), as.numeric(pred_adq_trunc_0_bic_ef_con_reg)))

pred_adq_trunc_0.36_todos_sin_reg<-mean(c(as.numeric(pred_adq_trunc_0.36_aicc_sin_reg), as.numeric(pred_adq_trunc_0.36_bic_sin_reg), as.numeric(pred_adq_trunc_0.36_aicc_ef_sin_reg), as.numeric(pred_adq_trunc_0.36_bic_ef_sin_reg)))

pred_adq_trunc_0.36_todos_con_reg<-mean(c(as.numeric(pred_adq_trunc_0.36_aicc_con_reg), as.numeric(pred_adq_trunc_0.36_bic_con_reg), as.numeric(pred_adq_trunc_0.36_aicc_ef_con_reg), as.numeric(pred_adq_trunc_0.36_bic_ef_con_reg)))

```

## Transformación logarítmica de la variable dependiente

```{r regresiones adquirencia log, include=TRUE, results='asis'}
####################################
#Con toda la muestra con logaritmo

#Regresión sin controles
modelo_log_adq_sin_cont<-lm(log(Adquirencia) ~ Regulacion_intercambio, datos)

modelo_log_adq_sin_cont_corr_hc<-coeftest(modelo_log_adq_sin_cont, vcov. = vcovHC(modelo_log_adq_sin_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_adq_sin_cont_corr_hac<-coeftest(modelo_log_adq_sin_cont, vcov. = vcovHAC(modelo_log_adq_sin_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_adq_sin_cont, modelo_log_adq_sin_cont_corr_hc, modelo_log_adq_sin_cont_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de adquirencia sin controles", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_log_adq_sin_cont_sin_reg<-exp(predict(modelo_log_adq_sin_cont, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54])
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_log_adq_sin_cont_con_reg<-exp(predict(modelo_log_adq_sin_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54])

#Regresión con todos los controles
modelo_log_adq_con_cont<-lm(log(Adquirencia) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos)

modelo_log_adq_con_cont_corr_hc<-coeftest(modelo_log_adq_con_cont, vcov. = vcovHC(modelo_log_adq_con_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_adq_con_cont_corr_hac<-coeftest(modelo_log_adq_con_cont, vcov. = vcovHAC(modelo_log_adq_con_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_adq_con_cont, modelo_log_adq_con_cont_corr_hc, modelo_log_adq_con_cont_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de adquirencia con todos los controles", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_log_adq_con_cont_sin_reg<-exp(predict(modelo_log_adq_con_cont, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54])
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_log_adq_con_cont_con_reg<-exp(predict(modelo_log_adq_con_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54])

#Regresión con todos los controles más efectos fijos de tiempo
modelo_log_adq_con_cont_ef<-lm(log(Adquirencia) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos)

modelo_log_adq_con_cont_ef_corr_hc<-coeftest(modelo_log_adq_con_cont_ef, vcov. = vcovHC(modelo_log_adq_con_cont_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_adq_con_cont_ef_corr_hac<-coeftest(modelo_log_adq_con_cont_ef, vcov. = vcovHAC(modelo_log_adq_con_cont_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_adq_con_cont_ef, modelo_log_adq_con_cont_ef_corr_hc, modelo_log_adq_con_cont_ef_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de adquirencia con controles y efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Sin regulación
pred_log_adq_con_cont_ef_sin_reg<-exp(predict(modelo_log_adq_con_cont_ef, newdata = datos, interval = "prediction", level = 0.95, type = "response")[54])
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_log_adq_con_cont_ef_con_reg<-exp(predict(modelo_log_adq_con_cont_ef, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54])

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña)
#Se elimina la tasa de adquirencia en los datos para evitar sus NAs
datos_adq<-na.omit(datos[,-3])

modelo_log_adq_con_cont_aicc<-lm(log(Adquirencia) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq)

controles<- cbind(datos_adq$Regulacion_intercambio, datos_adq$Cajero_Autom, datos_adq$Credito, datos_adq$Crimen, datos_adq$Cuenta, datos_adq$Debito, datos_adq$Densidad_Pob, datos_adq$Densidad_Neg, datos_adq$PIB_pc_PPP, datos_adq$IDH, datos_adq$Prest_viv, datos_adq$ICH, datos_adq$Internet, datos_adq$Europa, datos_adq$Asia_Este, datos_adq$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_log_adq_con_cont_aicc)

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 2
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 10
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 5
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 2
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 2
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 7
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 5
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 8
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 9
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 10
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles1<-controles

#variables a usar
variables_controles

modelo_log_adq_con_cont_aicc<-lm(log(Adquirencia) ~ Regulacion_intercambio + Cuenta + Densidad_Pob + Densidad_Neg + Prest_viv + Internet + Europa, datos_adq)

modelo_log_adq_con_cont_aicc_corr_hc<-coeftest(modelo_log_adq_con_cont_aicc, vcov. = vcovHC(modelo_log_adq_con_cont_aicc, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_adq_con_cont_aicc_corr_hac<-coeftest(modelo_log_adq_con_cont_aicc, vcov. = vcovHAC(modelo_log_adq_con_cont_aicc, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_adq_con_cont_aicc, modelo_log_adq_con_cont_aicc_corr_hc, modelo_log_adq_con_cont_aicc_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de adquirencia según AICc", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC
modelo_log_adq_con_cont_bic<-lm(log(Adquirencia) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq)

controles<- cbind(datos_adq$Regulacion_intercambio, datos_adq$Cajero_Autom, datos_adq$Credito, datos_adq$Crimen, datos_adq$Cuenta, datos_adq$Debito, datos_adq$Densidad_Pob, datos_adq$Densidad_Neg, datos_adq$PIB_pc_PPP, datos_adq$IDH, datos_adq$Prest_viv, datos_adq$ICH, datos_adq$Internet, datos_adq$Europa, datos_adq$Asia_Este, datos_adq$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_log_adq_con_cont_bic)

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 2
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 10
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 5
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 2
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 2
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 5
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 8
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 9
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 10
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:ncol(controles)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i)], datos_adq))  
}

min(BIC)<BIC[1]
#Ya no se eliminan columnas
controles2<-controles

#variables a usar
variables_controles

modelo_log_adq_con_cont_bic<-lm(log(Adquirencia) ~ Regulacion_intercambio + Cuenta + Densidad_Pob + Densidad_Neg + Prest_viv + Internet + Europa, datos_adq)

modelo_log_adq_con_cont_bic_corr_hc<-coeftest(modelo_log_adq_con_cont_bic, vcov. = vcovHC(modelo_log_adq_con_cont_bic, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_adq_con_cont_bic_corr_hac<-coeftest(modelo_log_adq_con_cont_bic, vcov. = vcovHAC(modelo_log_adq_con_cont_bic, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_adq_con_cont_bic, modelo_log_adq_con_cont_bic_corr_hc, modelo_log_adq_con_cont_bic_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de adquirencia según BIC", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña), más efectos fijos de tiempo
modelo_log_adq_con_cont_aicc_ef<-lm(log(Adquirencia) ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq)

controles<- cbind(datos_adq$Regulacion_intercambio, datos_adq$Año_2010, datos_adq$Año_2011, datos_adq$Año_2012, datos_adq$Año_2013, datos_adq$Año_2014, datos_adq$Año_2015, datos_adq$Año_2016, datos_adq$Año_2017, datos_adq$Año_2018, datos_adq$Año_2019, datos_adq$Año_2020, datos_adq$Año_2021, datos_adq$Cajero_Autom, datos_adq$Credito, datos_adq$Crimen, datos_adq$Cuenta, datos_adq$Debito, datos_adq$Densidad_Pob, datos_adq$Densidad_Neg, datos_adq$PIB_pc_PPP, datos_adq$IDH, datos_adq$Prest_viv, datos_adq$ICH, datos_adq$Internet, datos_adq$Europa, datos_adq$Asia_Este, datos_adq$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC[1]<-aicc(modelo_log_adq_con_cont_aicc_ef)

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 14
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 2
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 17
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 3
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 19
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 4
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 14
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 5
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 6
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 14
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 7
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 17
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 8
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 9
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 10
AICC<-c()
AICC[1]<-aicc(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  AICC[i]<-aicc(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(AICC)<AICC[1]
#Ya no se eliminan columnas
controles3<-controles

#variables a usar
variables_controles

modelo_log_adq_con_cont_aicc_ef<-lm(log(Adquirencia) ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cuenta + Densidad_Pob + Densidad_Neg + Prest_viv + Internet + Europa, datos_adq)

modelo_log_adq_con_cont_aicc_ef_corr_hc<-coeftest(modelo_log_adq_con_cont_aicc_ef, vcov. = vcovHC(modelo_log_adq_con_cont_aicc_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_adq_con_cont_aicc_ef_corr_hac<-coeftest(modelo_log_adq_con_cont_aicc_ef, vcov. = vcovHAC(modelo_log_adq_con_cont_aicc_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_adq_con_cont_aicc_ef, modelo_log_adq_con_cont_aicc_ef_corr_hc, modelo_log_adq_con_cont_aicc_ef_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de adquirencia según AICc con efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC, más efectos fijos de tiempo
modelo_log_adq_con_cont_bic_ef<-lm(log(Adquirencia) ~ Regulacion_intercambio + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_adq)

controles<- cbind(datos_adq$Regulacion_intercambio, datos_adq$Año_2010, datos_adq$Año_2011, datos_adq$Año_2012, datos_adq$Año_2013, datos_adq$Año_2014, datos_adq$Año_2015, datos_adq$Año_2016, datos_adq$Año_2017, datos_adq$Año_2018, datos_adq$Año_2019, datos_adq$Año_2020, datos_adq$Año_2021, datos_adq$Cajero_Autom, datos_adq$Credito, datos_adq$Crimen, datos_adq$Cuenta, datos_adq$Debito, datos_adq$Densidad_Pob, datos_adq$Densidad_Neg, datos_adq$PIB_pc_PPP, datos_adq$IDH, datos_adq$Prest_viv, datos_adq$ICH, datos_adq$Internet, datos_adq$Europa, datos_adq$Asia_Este, datos_adq$Am_lat)

variables_controles<-c("Regulacion_intercambio", "Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC[1]<-BIC(modelo_log_adq_con_cont_bic_ef)

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 14
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 2
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 17
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 3
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 19
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 4
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 14
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 5
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 6
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 14
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 7
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 17
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 8
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 9
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 10
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#El BIC es menor al eliminar la columna 16
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 11
BIC<-c()
BIC[1]<-BIC(lm(log(Adquirencia) ~ controles, datos_adq))

for (i in 2:(ncol(controles)-11)) {
  BIC[i]<-BIC(lm(log(Adquirencia) ~ controles[,-c(i+12)], datos_adq))  
}

min(BIC)<BIC[1]
#No se eliminan más columnas
controles4<-controles

#Variables a usar
variables_controles

modelo_log_adq_con_cont_bic_ef<-lm(log(Adquirencia) ~ Regulacion_intercambio + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cuenta + Densidad_Pob + Prest_viv + Internet + Europa, datos_adq)

modelo_log_adq_con_cont_bic_ef_corr_hc<-coeftest(modelo_log_adq_con_cont_bic_ef, vcov. = vcovHC(modelo_log_adq_con_cont_bic_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_log_adq_con_cont_bic_ef_corr_hac<-coeftest(modelo_log_adq_con_cont_bic_ef, vcov. = vcovHAC(modelo_log_adq_con_cont_bic_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_log_adq_con_cont_bic_ef, modelo_log_adq_con_cont_bic_ef_corr_hc, modelo_log_adq_con_cont_bic_ef_corr_hac, type = "html", title = "Regresión sobre el logaritmo de la tasa de adquirencia según BIC con efectos fijos de tiempo", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")
```

## Restringir la muestra a los países regulados

```{r regresiones adquirencia solo regulados, include=TRUE, results='asis'}
####################################
#Con solo países regulados en intercambio sin logaritmo

datos_adq_reg<-datos_adq[datos_adq$Regulacion_intercambio==1,]

#Regresión sin controles no se hace acá

#Regresión con todos los controles
modelo_adq_reg_con_cont<-lm(Adquirencia ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq_reg)

modelo_adq_reg_con_cont_corr_hc<-coeftest(modelo_adq_reg_con_cont, vcov. = vcovHC(modelo_adq_reg_con_cont, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_reg_con_cont_corr_hac<-coeftest(modelo_adq_reg_con_cont, vcov. = vcovHAC(modelo_adq_reg_con_cont, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_reg_con_cont, modelo_adq_reg_con_cont_corr_hc, modelo_adq_reg_con_cont_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia con todos los controles, solo muestra con países regulados", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_reg_con_cont<-predict(modelo_adq_reg_con_cont, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Regresión con todos los controles más efectos fijos de tiempo
modelo_adq_reg_con_cont_ef<-lm(Adquirencia ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_adq_reg)

modelo_adq_reg_con_cont_ef_corr_hc<-coeftest(modelo_adq_reg_con_cont_ef, vcov. = vcovHC(modelo_adq_reg_con_cont_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_reg_con_cont_ef_corr_hac<-coeftest(modelo_adq_reg_con_cont_ef, vcov. = vcovHAC(modelo_adq_reg_con_cont_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_reg_con_cont_ef, modelo_adq_reg_con_cont_ef_corr_hc, modelo_adq_reg_con_cont_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia con controles y efectos fijos de tiempo, solo muestra con países regulados", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Pronóstico para CR
#Con regulación
data_CR<-datos
data_CR[54,5]<-1
pred_adq_reg_con_cont_ef<-predict(modelo_adq_reg_con_cont_ef, newdata = data_CR, interval = "prediction", level = 0.95, type = "response")[54]

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña)
#Se elimina la tasa de adquirencia en los datos para evitar sus NAs

modelo_adq_reg_con_cont_aicc<-lm(Adquirencia ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq_reg)

controles<- cbind(datos_adq_reg$Cajero_Autom, datos_adq_reg$Credito, datos_adq_reg$Crimen, datos_adq_reg$Cuenta, datos_adq_reg$Debito, datos_adq_reg$Densidad_Pob, datos_adq_reg$Densidad_Neg, datos_adq_reg$PIB_pc_PPP, datos_adq_reg$IDH, datos_adq_reg$Prest_viv, datos_adq_reg$ICH, datos_adq_reg$Internet, datos_adq_reg$Europa, datos_adq_reg$Asia_Este, datos_adq_reg$Am_lat)

variables_controles<-c("Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC1<-aicc(modelo_adq_reg_con_cont_aicc)

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 2
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 10
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 3
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 8
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 4
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 2
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 5
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 1
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 6
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 5
controles<-controles[,-which.min(AICC)]
variables_controles<-variables_controles[-which.min(AICC)]

#Paso 7
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(AICC)<AICC1
#Ya no se eliminan columnas
controles1<-controles

#variables a usar
variables_controles

modelo_adq_reg_con_cont_aicc<-lm(Adquirencia ~ Crimen + Cuenta + Debito + Densidad_Pob + Prest_viv + Internet + Europa + Asia_Este + Am_lat, datos_adq_reg)

modelo_adq_reg_con_cont_aicc_corr_hc<-coeftest(modelo_adq_reg_con_cont_aicc, vcov. = vcovHC(modelo_adq_reg_con_cont_aicc, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_reg_con_cont_aicc_corr_hac<-coeftest(modelo_adq_reg_con_cont_aicc, vcov. = vcovHAC(modelo_adq_reg_con_cont_aicc, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_reg_con_cont_aicc, modelo_adq_reg_con_cont_aicc_corr_hc, modelo_adq_reg_con_cont_aicc_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia según AICc, solo países regulados en la muestra", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC
modelo_adq_reg_con_cont_bic<-lm(Adquirencia ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq_reg)

controles<- cbind(datos_adq_reg$Cajero_Autom, datos_adq_reg$Credito, datos_adq_reg$Crimen, datos_adq_reg$Cuenta, datos_adq_reg$Debito, datos_adq_reg$Densidad_Pob, datos_adq_reg$Densidad_Neg, datos_adq_reg$PIB_pc_PPP, datos_adq_reg$IDH, datos_adq_reg$Prest_viv, datos_adq_reg$ICH, datos_adq_reg$Internet, datos_adq_reg$Europa, datos_adq_reg$Asia_Este, datos_adq_reg$Am_lat)

variables_controles<-c("Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC1<-BIC(modelo_adq_reg_con_cont_bic)

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 2
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 10
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 3
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 8
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 4
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 2
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 5
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 1
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 6
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 5
controles<-controles[,-which.min(BIC)]
variables_controles<-variables_controles[-which.min(BIC)]

#Paso 7
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:ncol(controles)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i)], datos_adq_reg))  
}

min(BIC)<BIC1
#Ya no se eliminan columnas
controles2<-controles

#variables a usar
variables_controles

modelo_adq_reg_con_cont_bic<-lm(Adquirencia ~ Crimen + Cuenta + Debito + Densidad_Pob + Prest_viv + Internet + Europa + Asia_Este + Am_lat, datos_adq_reg)

modelo_adq_reg_con_cont_bic_corr_hc<-coeftest(modelo_adq_reg_con_cont_bic, vcov. = vcovHC(modelo_adq_reg_con_cont_bic, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_reg_con_cont_bic_corr_hac<-coeftest(modelo_adq_reg_con_cont_bic, vcov. = vcovHAC(modelo_adq_reg_con_cont_bic, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_reg_con_cont_bic, modelo_adq_reg_con_cont_bic_corr_hc, modelo_adq_reg_con_cont_bic_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia según BIC, solo países regulados en la muestra", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el AICc (corrige por tamaño de muestra pequeña), más efectos fijos de tiempo
modelo_adq_reg_con_cont_aicc_ef<-lm(Adquirencia ~ Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat, datos_adq_reg)

controles<- cbind(datos_adq_reg$Año_2010, datos_adq_reg$Año_2011, datos_adq_reg$Año_2012, datos_adq_reg$Año_2013, datos_adq_reg$Año_2014, datos_adq_reg$Año_2015, datos_adq_reg$Año_2016, datos_adq_reg$Año_2017, datos_adq_reg$Año_2018, datos_adq_reg$Año_2019, datos_adq_reg$Año_2020, datos_adq_reg$Año_2021, datos_adq_reg$Cajero_Autom, datos_adq_reg$Credito, datos_adq_reg$Crimen, datos_adq_reg$Cuenta, datos_adq_reg$Debito, datos_adq_reg$Densidad_Pob, datos_adq_reg$Densidad_Neg, datos_adq_reg$PIB_pc_PPP, datos_adq_reg$IDH, datos_adq_reg$Prest_viv, datos_adq_reg$ICH, datos_adq_reg$Internet, datos_adq_reg$Europa, datos_adq_reg$Asia_Este, datos_adq_reg$Am_lat)

variables_controles<-c("Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
AICC<-c()
AICC1<-aicc(modelo_adq_reg_con_cont_aicc_ef)

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 21
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 2
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 20
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 3
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 21
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 4
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 19
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 5
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 13
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 6
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(AICC)<AICC1
#El AICc es menor al eliminar la columna 13
controles<-controles[,-(which.min(AICC)+12)]
variables_controles<-variables_controles[-(which.min(AICC)+12)]

#Paso 7
AICC<-c()
AICC1<-aicc(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  AICC[i]<-aicc(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(AICC)<AICC1
#Ya no se eliminan columnas
controles3<-controles

#variables a usar
variables_controles

modelo_adq_reg_con_cont_aicc_ef<-lm(Adquirencia ~ Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Crimen + Cuenta + Debito + Densidad_Pob + Prest_viv + Internet + Europa + Asia_Este + Am_lat, datos_adq_reg)

modelo_adq_reg_con_cont_aicc_ef_corr_hc<-coeftest(modelo_adq_reg_con_cont_aicc_ef, vcov. = vcovHC(modelo_adq_reg_con_cont_aicc_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_reg_con_cont_aicc_ef_corr_hac<-coeftest(modelo_adq_reg_con_cont_aicc_ef, vcov. = vcovHAC(modelo_adq_reg_con_cont_aicc_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_reg_con_cont_aicc_ef, modelo_adq_reg_con_cont_aicc_ef_corr_hc, modelo_adq_reg_con_cont_aicc_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia según AICc con efectos fijos de tiempo, solo países regulados en la muestra", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

#Seleccionar el modelo utilizando el BIC, más efectos fijos de tiempo
modelo_adq_reg_con_cont_bic_ef<-lm(Adquirencia ~ Cajero_Autom + Credito + Crimen + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021, datos_adq_reg)

controles<- cbind(datos_adq_reg$Año_2010, datos_adq_reg$Año_2011, datos_adq_reg$Año_2012, datos_adq_reg$Año_2013, datos_adq_reg$Año_2014, datos_adq_reg$Año_2015, datos_adq_reg$Año_2016, datos_adq_reg$Año_2017, datos_adq_reg$Año_2018, datos_adq_reg$Año_2019, datos_adq_reg$Año_2020, datos_adq_reg$Año_2021, datos_adq_reg$Cajero_Autom, datos_adq_reg$Credito, datos_adq_reg$Crimen, datos_adq_reg$Cuenta, datos_adq_reg$Debito, datos_adq_reg$Densidad_Pob, datos_adq_reg$Densidad_Neg, datos_adq_reg$PIB_pc_PPP, datos_adq_reg$IDH, datos_adq_reg$Prest_viv, datos_adq_reg$ICH, datos_adq_reg$Internet, datos_adq_reg$Europa, datos_adq_reg$Asia_Este, datos_adq_reg$Am_lat)

variables_controles<-c("Año_2010", "Año_2011", "Año_2012", "Año_2013", "Año_2014", "Año_2015", "Año_2016", "Año_2017", "Año_2018", "Año_2019", "Año_2020", "Año_2021","Cajero_Autom", "Credito", "Crimen", "Cuenta", "Debito", "Densidad_Pob", "Densidad_Neg", "PIB_pc_PPP", "IDH", "Prest_viv", "ICH", "Internet", "Europa", "Asia_Este", "Am_lat")

#Paso 1
BIC<-c()
BIC1<-BIC(modelo_adq_reg_con_cont_bic_ef)

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 21
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 2
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 20
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 3
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 21
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 4
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 19
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 5
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 13
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 6
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(BIC)<BIC1
#El BIC es menor al eliminar la columna 13
controles<-controles[,-(which.min(BIC)+12)]
variables_controles<-variables_controles[-(which.min(BIC)+12)]

#Paso 7
BIC<-c()
BIC1<-BIC(lm(Adquirencia ~ controles, datos_adq_reg))

for (i in 1:(ncol(controles)-12)) {
  BIC[i]<-BIC(lm(Adquirencia ~ controles[,-c(i+12)], datos_adq_reg))  
}

min(BIC)<BIC1
#No se eliminan más columnas
controles4<-controles

#Variables a usar
variables_controles

modelo_adq_reg_con_cont_bic_ef<-lm(Adquirencia ~ Año_2010 + Año_2011 + Año_2012 + Año_2013 + Año_2014 + Año_2015 + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 + Año_2021 + Crimen + Cuenta + Debito + Densidad_Pob + Prest_viv + Internet + Europa + Asia_Este + Am_lat, datos_adq_reg)

modelo_adq_reg_con_cont_bic_ef_corr_hc<-coeftest(modelo_adq_reg_con_cont_bic_ef, vcov. = vcovHC(modelo_adq_reg_con_cont_bic_ef, "HC1", adjust = TRUE, sandwich = TRUE))

modelo_adq_reg_con_cont_bic_ef_corr_hac<-coeftest(modelo_adq_reg_con_cont_bic_ef, vcov. = vcovHAC(modelo_adq_reg_con_cont_bic_ef, adjust = TRUE, sandwich = TRUE))

stargazer(modelo_adq_reg_con_cont_bic_ef, modelo_adq_reg_con_cont_bic_ef_corr_hc, modelo_adq_reg_con_cont_bic_ef_corr_hac, type = "html", title = "Regresión sobre la tasa de adquirencia según BIC con efectos fijos de tiempo, solo países regulados en la muestra", 
          column.labels = c("MCO","MCO HC", "MCO HAC"), model.names = F, dep.var.labels = c("Tasa adquirencia", "Tasa adquirencia", "Tasa adquirencia"), dep.var.caption = "Variable dependiente")

```

## Pronósticos de las comisiones de adquirencia

```{r pronosticos tasa adquirencia, include=TRUE}

#Pronósticos de la tasa de Adquirencia

##########################################
#Pronósticos sin logaritmo toda la muestra

#Predicción con dicotómica sin regulación
pred1_adq_sin_reg <- 1*modelo_adq_con_cont_aicc$coefficients[1]+
modelo_adq_con_cont_aicc$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_adq_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_con_cont_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"]

pred2_adq_sin_reg<-1*modelo_adq_con_cont_bic$coefficients[1]+
modelo_adq_con_cont_bic$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_adq_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_con_cont_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_con_cont_bic$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"]

pred3_adq_sin_reg<-1*modelo_adq_con_cont_aicc_ef$coefficients[1]+
modelo_adq_con_cont_aicc_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_adq_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_con_cont_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_con_cont_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_adq_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"]

pred4_adq_sin_reg<-1*modelo_adq_con_cont_bic_ef$coefficients[1]+
modelo_adq_con_cont_bic_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_adq_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_con_cont_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"]

pred_adq_sin_reg<-mean(c(as.numeric(pred1_adq_sin_reg), as.numeric(pred2_adq_sin_reg), as.numeric(pred3_adq_sin_reg), as.numeric(pred4_adq_sin_reg)))

#Predicción con dicotómica con regulación
pred1_adq_con_reg <- 1*modelo_adq_con_cont_aicc$coefficients[1]+
modelo_adq_con_cont_aicc$coefficients["Regulacion_intercambio"] * 1 +
modelo_adq_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_con_cont_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"]

pred2_adq_con_reg<-1*modelo_adq_con_cont_bic$coefficients[1]+
modelo_adq_con_cont_bic$coefficients["Regulacion_intercambio"] * 1 +
modelo_adq_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_con_cont_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_con_cont_bic$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"]

pred3_adq_con_reg<-1*modelo_adq_con_cont_aicc_ef$coefficients[1]+
modelo_adq_con_cont_aicc_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_adq_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_adq_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_con_cont_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_con_cont_aicc_ef$coefficients["ICH"] * datos[54,"ICH"] +
modelo_adq_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"]

pred4_adq_con_reg<-1*modelo_adq_con_cont_bic_ef$coefficients[1]+
modelo_adq_con_cont_bic_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_adq_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_adq_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_adq_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_con_cont_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"]

pred_adq_con_reg<-mean(c(as.numeric(pred1_adq_con_reg), as.numeric(pred2_adq_con_reg), as.numeric(pred3_adq_con_reg), as.numeric(pred4_adq_con_reg)))

##########################################
#Pronósticos con logaritmo toda la muestra

#Predicción con dicotómica sin regulación
pred1_log_adq_sin_reg <- exp( 1*modelo_log_adq_con_cont_aicc$coefficients[1]+
modelo_log_adq_con_cont_aicc$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_log_adq_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_adq_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_adq_con_cont_aicc$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_log_adq_con_cont_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_adq_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_adq_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"])

pred2_log_adq_sin_reg<- exp( 1*modelo_log_adq_con_cont_bic$coefficients[1]+
modelo_log_adq_con_cont_bic$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_log_adq_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_adq_con_cont_bic$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_adq_con_cont_bic$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_log_adq_con_cont_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_adq_con_cont_bic$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_adq_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"])

pred3_log_adq_sin_reg<- exp( 1*modelo_log_adq_con_cont_aicc_ef$coefficients[1]+
modelo_log_adq_con_cont_aicc_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"])

pred4_log_adq_sin_reg<- exp( 1*modelo_log_adq_con_cont_bic_ef$coefficients[1]+
modelo_log_adq_con_cont_bic_ef$coefficients["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"])

pred_log_adq_sin_reg<-mean(c(as.numeric(pred1_log_adq_sin_reg), as.numeric(pred2_log_adq_sin_reg), as.numeric(pred3_log_adq_sin_reg), as.numeric(pred4_log_adq_sin_reg)))

#Predicción con dicotómica con regulación
pred1_log_adq_con_reg <- exp( 1*modelo_log_adq_con_cont_aicc$coefficients[1]+
modelo_log_adq_con_cont_aicc$coefficients["Regulacion_intercambio"] * 1 +
modelo_log_adq_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_adq_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_adq_con_cont_aicc$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_log_adq_con_cont_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_adq_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_adq_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"])

pred2_log_adq_con_reg<- exp( 1*modelo_log_adq_con_cont_bic$coefficients[1]+
modelo_log_adq_con_cont_bic$coefficients["Regulacion_intercambio"] * 1 +
modelo_log_adq_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_adq_con_cont_bic$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_adq_con_cont_bic$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_log_adq_con_cont_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_adq_con_cont_bic$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_adq_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"])

pred3_log_adq_con_reg<- exp( 1*modelo_log_adq_con_cont_aicc_ef$coefficients[1]+
modelo_log_adq_con_cont_aicc_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_adq_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"])

pred4_log_adq_con_reg<- exp( 1*modelo_log_adq_con_cont_bic_ef$coefficients[1]+
modelo_log_adq_con_cont_bic_ef$coefficients["Regulacion_intercambio"] * 1 +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_log_adq_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"])

pred_log_adq_con_reg<-mean(c(as.numeric(pred1_log_adq_con_reg), as.numeric(pred2_log_adq_con_reg), as.numeric(pred3_log_adq_con_reg), as.numeric(pred4_log_adq_con_reg)))

##########################################
#Pronósticos sin logaritmo solo países regulados en la muestra

pred1_adq_reg <- 1*modelo_adq_reg_con_cont_aicc$coefficients[1]+
modelo_adq_reg_con_cont_aicc$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_adq_reg_con_cont_aicc$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_reg_con_cont_aicc$coefficients["Debito"] * datos[54,"Debito"] +
modelo_adq_reg_con_cont_aicc$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_reg_con_cont_aicc$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_reg_con_cont_aicc$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_reg_con_cont_aicc$coefficients["Europa"] * datos[54,"Europa"] +
modelo_adq_reg_con_cont_aicc$coefficients["Asia_Este"] * datos[54,"Asia_Este"] + 
modelo_adq_reg_con_cont_aicc$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred2_adq_reg<-1*modelo_adq_reg_con_cont_bic$coefficients[1]+
modelo_adq_reg_con_cont_bic$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_adq_reg_con_cont_bic$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_reg_con_cont_bic$coefficients["Debito"] * datos[54,"Debito"] +
modelo_adq_reg_con_cont_bic$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_reg_con_cont_bic$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_reg_con_cont_bic$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_reg_con_cont_bic$coefficients["Europa"] * datos[54,"Europa"] +
modelo_adq_reg_con_cont_bic$coefficients["Asia_Este"] * datos[54,"Asia_Este"] + 
modelo_adq_reg_con_cont_bic$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred3_adq_reg<-1*modelo_adq_reg_con_cont_aicc_ef$coefficients[1]+
modelo_adq_reg_con_cont_aicc_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Debito"] * datos[54,"Debito"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Europa"] * datos[54,"Europa"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Asia_Este"] * datos[54,"Asia_Este"] +
modelo_adq_reg_con_cont_aicc_ef$coefficients["Am_lat"] * datos[54,"Am_lat"]

pred4_adq_reg<-1*modelo_adq_reg_con_cont_bic_ef$coefficients[1]+
modelo_adq_reg_con_cont_bic_ef$coefficients["Año_2016"] * datos[54,"Año_2016"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Año_2017"] * datos[54,"Año_2017"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Año_2018"] * datos[54,"Año_2018"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Año_2019"] * datos[54,"Año_2019"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Año_2020"] * datos[54,"Año_2020"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Crimen"] * datos[54,"Crimen"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Cuenta"] * datos[54,"Cuenta"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Debito"] * datos[54,"Debito"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Prest_viv"] * datos[54,"Prest_viv"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Internet"] * datos[54,"Internet"] +
modelo_adq_reg_con_cont_bic_ef$coefficients["Asia_Este"] * datos[54,"Asia_Este"] + 
modelo_adq_reg_con_cont_bic_ef$coefficients["Am_lat"] * datos[54,"Am_lat"] + 
modelo_adq_reg_con_cont_bic_ef$coefficients["Europa"] * datos[54,"Europa"]

pred_adq_reg<-mean(c(as.numeric(pred1_adq_reg), as.numeric(pred2_adq_reg), as.numeric(pred3_adq_reg), as.numeric(pred4_adq_reg)))

####################################
#Tabla pronósticos

pronosticos_adq<-as.data.frame(cbind(c( pred_adq_sin_cont_sin_reg, pred_adq_con_cont_sin_reg, pred_adq_con_cont_ef_sin_reg, pred1_adq_sin_reg, pred2_adq_sin_reg, pred3_adq_sin_reg, pred4_adq_sin_reg, pred_adq_sin_reg), c( pred_adq_sin_cont_con_reg, pred_adq_con_cont_con_reg, pred_adq_con_cont_ef_con_reg, pred1_adq_con_reg, pred2_adq_con_reg, pred3_adq_con_reg, pred4_adq_con_reg, pred_adq_con_reg) ))

rownames(pronosticos_adq)<-c("Modelo sin controles", "Modelo con controles sin efectos fijos de tiempo", "Modelo con controles con efectos fijos de tiempo", "Modelo AICc sin efectos fijos de tiempo", "Modelo BIC sin efectos fijos de tiempo", "Modelo AICc con efectos fijos de tiempo", "Modelo BIC con efectos fijos de tiempo", "Promedio modelos AICc y BIC")
names(pronosticos_adq)<-c("Sin dicotómica de regulación","Con dicotómica de regulación")

pronosticos_adq

#Tabla pronósticos alternativos con log

pronosticos_adq_alt_log<-as.data.frame(cbind(c( pred_log_adq_sin_cont_sin_reg, pred_log_adq_con_cont_sin_reg, pred_log_adq_con_cont_ef_sin_reg, pred1_log_adq_sin_reg, pred2_log_adq_sin_reg, pred3_log_adq_sin_reg, pred4_log_adq_sin_reg, pred_log_adq_sin_reg), c( pred_log_adq_sin_cont_con_reg, pred_log_adq_con_cont_con_reg, pred_log_adq_con_cont_ef_con_reg, pred1_log_adq_con_reg, pred2_log_adq_con_reg, pred3_log_adq_con_reg, pred4_log_adq_con_reg, pred_log_adq_con_reg) ))

rownames(pronosticos_adq_alt_log)<-c("Modelo sin controles", "Modelo con controles sin efectos fijos de tiempo", "Modelo con controles con efectos fijos de tiempo", "Modelo AICc sin efectos fijos de tiempo", "Modelo BIC sin efectos fijos de tiempo", "Modelo AICc con efectos fijos de tiempo", "Modelo BIC con efectos fijos de tiempo", "Promedio modelos AICc y BIC")
names(pronosticos_adq_alt_log)<-c("Sin dicotómica de regulación","Con dicotómica de regulación")

pronosticos_adq_alt_log

#Tabla pronósticos alternativos solo muestra regulados

pronosticos_adq_alt_reg<-as.data.frame(cbind(
c( pred_adq_reg_con_cont, pred_adq_reg_con_cont_ef, pred1_adq_reg, pred2_adq_reg, pred3_adq_reg, pred4_adq_reg, pred_adq_reg) ) )

rownames(pronosticos_adq_alt_reg)<-c("Modelo con controles sin efectos fijos de tiempo", "Modelo con controles con efectos fijos de tiempo", "Modelo AICc sin efectos fijos de tiempo", "Modelo BIC sin efectos fijos de tiempo", "Modelo AICc con efectos fijos de tiempo", "Modelo BIC con efectos fijos de tiempo", "Promedio modelos AICc y BIC")
names(pronosticos_adq_alt_reg)<-c("Pronóstico con solo muestra  de países regulados")

pronosticos_adq_alt_reg

```

## Regresión con variables instrumentales

```{r regresiones IV adquirencia, include=TRUE}

#Se estima el MC2E con la función ivreg
modelo_iv_adq<-ivreg(formula = Adquirencia ~ Regulacion_intercambio + Cajero_Autom + Credito + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + Europa + Asia_Este + Am_lat | Regulacion_intercambio + Crimen + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat , data = datos)
#IVs: Crimen, IDH, ICH, Internet, Prest_viv
summary(modelo_iv_adq, diagnostics = TRUE)
#Errores estándar robustos
coeftest(modelo_iv_adq, vcov.=vcovHAC(modelo_iv_adq))

#Se estima el MC2E con la función ivreg
modelo_iv_adq_ef<-ivreg(formula = Adquirencia ~ Regulacion_intercambio + Cajero_Autom + Credito + Cuenta + Debito + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + Europa + Asia_Este + Am_lat + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020 | Regulacion_intercambio + Crimen + Densidad_Pob + Densidad_Neg + PIB_pc_PPP + IDH + Prest_viv + ICH + Internet + Europa + Asia_Este + Am_lat + Año_2016 + Año_2017 + Año_2018 + Año_2019 + Año_2020, data = datos)
#IVs: Crimen, IDH, ICH, Internet, Prest_viv
summary(modelo_iv_adq_ef, diagnostics = TRUE)
#Errores estándar robustos
coeftest(modelo_iv_adq_ef, vcov.=vcovHAC(modelo_iv_adq_ef))

#Pronósticos para Costa Rica
#Sin regulación
pred_iv_adq_sin_reg <- coef(modelo_iv_adq)[1] * 1 + coef(modelo_iv_adq)["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
  coef(modelo_iv_adq)["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
  coef(modelo_iv_adq)["Credito"] * datos[54,"Credito"] +
  coef(modelo_iv_adq)["Cuenta"] * datos[54,"Cuenta"] +
  coef(modelo_iv_adq)["Debito"] * datos[54,"Debito"] +
  coef(modelo_iv_adq)["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
  coef(modelo_iv_adq)["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
  coef(modelo_iv_adq)["PIB_pc_PPP"] * datos[54,"PIB_pc_PPP"] +
  coef(modelo_iv_adq)["Europa"] * datos[54,"Europa"] +
  coef(modelo_iv_adq)["Asia_Este"] * datos[54,"Asia_Este"] +
  coef(modelo_iv_adq)["Am_lat"] * datos[54,"Am_lat"]

pred_iv_adq_ef_sin_reg <- coef(modelo_iv_adq_ef)[1] * 1 + coef(modelo_iv_adq_ef)["Regulacion_intercambio"] * datos[54,"Regulacion_intercambio"] +
  coef(modelo_iv_adq_ef)["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
  coef(modelo_iv_adq_ef)["Credito"] * datos[54,"Credito"] +
  coef(modelo_iv_adq_ef)["Cuenta"] * datos[54,"Cuenta"] +
  coef(modelo_iv_adq_ef)["Debito"] * datos[54,"Debito"] +
  coef(modelo_iv_adq_ef)["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
  coef(modelo_iv_adq_ef)["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
  coef(modelo_iv_adq_ef)["PIB_pc_PPP"] * datos[54,"PIB_pc_PPP"] +
  coef(modelo_iv_adq_ef)["Europa"] * datos[54,"Europa"] +
  coef(modelo_iv_adq_ef)["Asia_Este"] * datos[54,"Asia_Este"] +
  coef(modelo_iv_adq_ef)["Am_lat"] * datos[54,"Am_lat"] +
  coef(modelo_iv_adq_ef)["Año_2016"] * datos[54,"Año_2016"] +
  coef(modelo_iv_adq_ef)["Año_2017"] * datos[54,"Año_2017"] +
  coef(modelo_iv_adq_ef)["Año_2018"] * datos[54,"Año_2018"] +
  coef(modelo_iv_adq_ef)["Año_2019"] * datos[54,"Año_2019"] +
  coef(modelo_iv_adq_ef)["Año_2020"] * datos[54,"Año_2020"]

#Con regulación
pred_iv_adq_con_reg <- coef(modelo_iv_adq)[1] * 1 + coef(modelo_iv_adq)["Regulacion_intercambio"] * 1 +
  coef(modelo_iv_adq)["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
  coef(modelo_iv_adq)["Credito"] * datos[54,"Credito"] +
  coef(modelo_iv_adq)["Cuenta"] * datos[54,"Cuenta"] +
  coef(modelo_iv_adq)["Debito"] * datos[54,"Debito"] +
  coef(modelo_iv_adq)["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
  coef(modelo_iv_adq)["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
  coef(modelo_iv_adq)["PIB_pc_PPP"] * datos[54,"PIB_pc_PPP"] +
  coef(modelo_iv_adq)["Europa"] * datos[54,"Europa"] +
  coef(modelo_iv_adq)["Asia_Este"] * datos[54,"Asia_Este"] +
  coef(modelo_iv_adq)["Am_lat"] * datos[54,"Am_lat"]

pred_iv_adq_ef_con_reg <- coef(modelo_iv_adq_ef)[1] * 1 + coef(modelo_iv_adq_ef)["Regulacion_intercambio"] * 1 +
  coef(modelo_iv_adq_ef)["Cajero_Autom"] * datos[54,"Cajero_Autom"] +
  coef(modelo_iv_adq_ef)["Credito"] * datos[54,"Credito"] +
  coef(modelo_iv_adq_ef)["Cuenta"] * datos[54,"Cuenta"] +
  coef(modelo_iv_adq_ef)["Debito"] * datos[54,"Debito"] +
  coef(modelo_iv_adq_ef)["Densidad_Pob"] * datos[54,"Densidad_Pob"] +
  coef(modelo_iv_adq_ef)["Densidad_Neg"] * datos[54,"Densidad_Neg"] +
  coef(modelo_iv_adq_ef)["PIB_pc_PPP"] * datos[54,"PIB_pc_PPP"] +
  coef(modelo_iv_adq_ef)["Europa"] * datos[54,"Europa"] +
  coef(modelo_iv_adq_ef)["Asia_Este"] * datos[54,"Asia_Este"] +
  coef(modelo_iv_adq_ef)["Am_lat"] * datos[54,"Am_lat"] +
  coef(modelo_iv_adq_ef)["Año_2016"] * datos[54,"Año_2016"] +
  coef(modelo_iv_adq_ef)["Año_2017"] * datos[54,"Año_2017"] +
  coef(modelo_iv_adq_ef)["Año_2018"] * datos[54,"Año_2018"] +
  coef(modelo_iv_adq_ef)["Año_2019"] * datos[54,"Año_2019"] +
  coef(modelo_iv_adq_ef)["Año_2020"] * datos[54,"Año_2020"]


pred_iv_adq_sin_reg
pred_iv_adq_con_reg

pred_iv_adq_ef_sin_reg
pred_iv_adq_ef_con_reg
```

## Pruebas estadísticas a regresiones tasa de adquirencia

<div style="text-align: justify">
Nota: en este código los valores de probabilidad de la prueba de normalidad de Jarque-Bera se obtienen a partir de la distribución chi-cuadrada. Por su parte, los valores de probabilidad de la respectiva prueba publicados en el Cuadro 10 del Anexo 11 del Alcance N° 5 a La Gaceta N° 8 del viernes 14 de enero de 2022, se estiman a partir de una simulación de Monte Carlo. Sin embargo, la conclusión sobre la normalidad de los residuos se mantiene.
</div>

### Modelo sin controles.

```{r pruebas regresiones adquirencia0, include=TRUE}

#modelo_adq_sin_cont

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_adq_sin_cont<-resid(modelo_adq_sin_cont)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_adq_sin_cont)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values no tiene sentido sin controles
#vif(modelo_adq_sin_cont)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_adq_sin_cont, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_adq_sin_cont, power = 2:3, type = c("fitted"), data = datos)#No se realiza porque solo incluye una dummy

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_adq_sin_cont, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_adq_sin_cont, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_adq_sin_cont, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_adq_sin_cont, data = datos, type = "Rec-CUSUM", h = 0.01))

```

### Modelo con controles

```{r pruebas regresiones adquirencia1, include=TRUE}

#modelo_adq_con_cont

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_adq_con_cont<-resid(modelo_adq_con_cont)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_adq_con_cont)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values
vif(modelo_adq_con_cont)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_adq_con_cont, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
resettest(modelo_adq_con_cont, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#Corregido por heterocedasticidad)

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_adq_con_cont, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_adq_con_cont, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont, data = datos, type = "Rec-CUSUM", h = 0.01))

```

### Modelo con controles con efectos fijos de tiempo

```{r pruebas regresiones adquirencia2, include=TRUE}


#modelo_adq_con_cont_ef

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_adq_con_cont_ef<-resid(modelo_adq_con_cont_ef)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_adq_con_cont_ef)

#Se obtiene el resultado del índice de condición de multicolinealidad no aplica para las dummies extra
#create vector of VIF values
#vif(modelo_adq_con_cont_ef)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_adq_con_cont_ef, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_adq_con_cont_ef, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se realiza porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_adq_con_cont_ef, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_ef, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_adq_con_cont_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_ef, data = datos, type = "Rec-CUSUM", h = 0.01))

```

### Modelo AICc sin efectos fijos de tiempo

```{r pruebas regresiones adquirencia3, include=TRUE}


#modelo_adq_con_cont_aicc

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_adq_con_cont_aicc<-resid(modelo_adq_con_cont_aicc)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_adq_con_cont_aicc)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values
vif(modelo_adq_con_cont_aicc)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_adq_con_cont_aicc, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
resettest(modelo_adq_con_cont_aicc, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#Corregido por heterocedasticidad)

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_adq_con_cont_aicc, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_aicc, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_adq_con_cont_aicc, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_aicc, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo AICc con efectos fijos de tiempo

```{r pruebas regresiones adquirencia4, include=TRUE}

#modelo_adq_con_cont_aicc_ef

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_adq_con_cont_aicc_ef<-resid(modelo_adq_con_cont_aicc_ef)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_adq_con_cont_aicc_ef)

#Se obtiene el resultado del índice de condición de multicolinealidad no aplica para las dummies extra
#create vector of VIF values
#vif(modelo_adq_con_cont_aicc_ef)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_adq_con_cont_aicc_ef, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_adq_con_cont_aicc_ef, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se realiza porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_adq_con_cont_aicc_ef, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_aicc_ef, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_adq_con_cont_aicc_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_aicc_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo BIC sin efectos fijos de tiempo

```{r pruebas regresiones adquirencia5, include=TRUE}

#modelo_adq_con_cont_bic

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_adq_con_cont_bic<-resid(modelo_adq_con_cont_bic)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_adq_con_cont_bic)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values
vif(modelo_adq_con_cont_bic)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_adq_con_cont_bic, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
resettest(modelo_adq_con_cont_bic, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se realiza porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_adq_con_cont_bic, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_bic, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_adq_con_cont_bic, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_bic, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo BIC con efectos fijos de tiempo

```{r pruebas regresiones adquirencia6, include=TRUE}

#modelo_adq_con_cont_bic_ef

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_adq_con_cont_bic_ef<-resid(modelo_adq_con_cont_bic_ef)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_adq_con_cont_bic_ef)

#Se obtiene el resultado del índice de condición de multicolinealidad no aplica para las dummies extra
#create vector of VIF values
#vif(modelo_adq_con_cont_bic_ef)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad
white_lm(modelo_adq_con_cont_bic_ef, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_adq_con_cont_bic_ef, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se realiza porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_adq_con_cont_bic_ef, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_bic_ef, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_adq_con_cont_bic_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_adq_con_cont_bic_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo con variables instrumentales sin efectos fijos de tiempo

```{r pruebas regresiones adquirencia7, include=TRUE}

#modelo_iv_adq

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_iv_adq<-resid(modelo_iv_adq)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_iv_adq)

#Se obtiene el resultado del índice de condición de multicolinealidad
#create vector of VIF values
vif(modelo_iv_adq)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad no aplica para IVreg. Se utilizaron estimadores robustos anteriormes
#white_lm(modelo_iv_adq, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
resettest(modelo_iv_adq, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#Corregido por heterocedasticidad)

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_iv_adq, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_iv_adq, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_iv_adq, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_iv_adq, data = datos, type = "Rec-CUSUM", h = 0.01))
```

### Modelo con variables instrumentales con efectos fijos de tiempo

```{r pruebas regresiones adquirencia8, include=TRUE}

#modelo_iv_adq_ef

#Prueba de normalidad
#Se guardan los residuos
residuos_modelo_iv_adq_ef<-resid(modelo_iv_adq_ef)
#Se computa la prueba con la función Nula: distribución normal residuos
jarque.test(residuos_modelo_iv_adq_ef)

#Se obtiene el resultado del índice de condición de multicolinealidad no aplica a las dummies extra
#create vector of VIF values
#vif(modelo_iv_adq_ef)

#Se ejecuta el test de White sobre el modelo original Nula: homocedasticidad no aplica a IVreg. Se utilizaron estimadores robustos anteriormente
#white_lm(modelo_iv_adq_ef, interactions = TRUE)

#Prueba de especificación lineal RESET Nula: especificación correcta lineal
#resettest(modelo_iv_adq_ef, power = 2:3, type = c("fitted"), data = datos, vcov = vcovHC)#No se realiza porque solo incluye extra los efectos fijos

#Prueba estabilidad Nula: estabilidad
#Simple
sctest(efp(modelo_iv_adq_ef, data = datos, type = "OLS-CUSUM", h = 0.01))
plot(efp(modelo_iv_adq_ef, data = datos, type = "OLS-CUSUM", h = 0.01))

#Recursiva
sctest(efp(modelo_iv_adq_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
plot(efp(modelo_iv_adq_ef, data = datos, type = "Rec-CUSUM", h = 0.01))
```

# Apredizaje Estadístico (Machine Learning) - Métodos predictivos

<div style="text-align: justify">
Se utilizarán los siguientes modelos de Aprendizaje Estadístico (Machine Learning): Bosques Aleatorios, Gradient Boosting y Extreme Gradient Boosting, para las tasas de adquirencia e intercambio. Un resumen del detalle técnico de cada método se incluye a continuación. Se recomienda al lector una lectura en orden, dado que el detalle técnico se construye en los métodos anteriores. Además, se insta a consultar la vasta literatura sobre estos métodos. 

Los métodos predictivos utilizados buscan la replicabilidad. Para ello debe definirse lo que computacionalmente se denota por "semilla aleatoria". Ello permite que cualquier proceso que involucre el azar pueda replicarse computacionalmente. Es importante destacar que la definición de dicha semilla es útil solo para la replicación, lo recomendable para modelos de predicción es no usarla o la precisión podría deberse solamente a la aleatoriedad. Finalmente, se considera el pronóstico para Costa Rica al modificar si el país estuviera en un régimen de regulación en dicho mercado (una variable dicotómica permite dicho cómputo).
<div>

## Bosques Aleatorios

<div style="text-align: justify">
El algoritmo de Bosques Aleatorios fue propuesto por @breiman2001rf. Es un sistema no paramétrico de clasificación (variables categóricas) que también es aplicable a regresión (variables numéricas). Consiste en la combinación de árboles predictivos o árboles de decisión (en inglés "classification and regression trees", CART), en donde cada árbol depende de una muestra tomada al azar de toda la información disponible. Básicamente, el algoritmo construye varios árboles de decisión en la muestra de estimación y brinda como resultado la moda de las clases (en problemas de clasificación) o la media aritmética de la predicción (para regresión). Bosques aleatorios se basan en el principio denominado "Bagging", lo cual es un pseudónimo para "Boostrapping" y "Aggregating", que consiste en el uso de boostrapping sobre los datos con cada remuestreo usado para construir cada árbol, finalmente se agregan los resultados como se mencionó anteriormente para obtener el pronóstico final.

La idea de los árboles de regresión es dividir secuencialmente el conjunto de regresores $X$ en regiones rectangulares, de forma que la suma de los residuos al cuadrado sea reducida. La determinación tanto del regresor $j$ para dividir como el punto de división $s$ se realiza de la siguiente forma:

1. Para cada regresor $j$ y punto divisor $s$ se definen los siguientes conjuntos
$$R_{1}(j,s)=\{X|X_{j}<s\}\,\,\text{y}\,\, R_{2}(j,s)=\{X|X_{j}\geq s\}$$
2. Los valores de $j$ y $s$ que minimizan
$$\sum_{i:x_{i}\epsilon R_{1}(j,s)}(y_{i}-\bar{y}_{R_{1}})^{2}+\sum_{i:x_{i}\epsilon R_{2}(j,s)}(y_{i}-\bar{y}_{R_{2}})^{2}$$
son obtenidos, donde $\bar{y}_{R_{1}}$ es el promedio de las observaciones $y$ en la región 1 y $\bar{y}_{R_{2}}$ el de la región 2.
3. Una vez esta primera división es encontrada, el criterio anterior se utiliza para dividir más $R_{1}$ y $R_{2}$.
4. El proceso de dividir las regiones termina cuando un determinado criterio es alcanzado, lo que se denomina "tamaño terminal del nodo". Por ejemplo, el algoritmo termina cuando hay menos de $m$ observaciones en cada región.


Múltiples parámetros son importantes en este método. El número de árboles que define la cantidad de árboles de decisiones a usar, el tamaño de los nodos terminales que es la cantidad de individuos en cada hoja final, el número de variables en cada árbol se refiere a la cantidad de variables que definen cada hoja (que se eligen al azar del total de variables disponible) y por último la cantidad de nodos que limita el tamaño (niveles) de cada árbol. La siguiente figura muestra a grandes rasgos qué es un bosques aleatorio.
<div>

```{r Imagen RF, echo=FALSE, out.width = "600px",fig.align="center", message=FALSE, warning=FALSE}
    IMG=paste0("RF.png")#Imagen debe estar en la misma dirección que el código
    knitr::include_graphics(IMG)
```

<div style="text-align: justify">
Este método puede resultar en sobre ajuste porque cada división se hace para optimizar ese paso particular, en lugar de decidir de forma prospectiva, por ejemplo, con la elección de la división que proveería el mejor árbol a la larga. También puede resultar en alta varianza si los árboles en cada división son muy diferentes. Una opción para lidiar es el método bagging mencionado anteriormente. Para cada muestra, una medida de error es computada con el uso de observaciones fuera de cada muestra de boostrap ("out-of-bag error"). Pronósticos con bagging estarían correlacionados debido a que, si un regresor es importante, entonces es más probable que siga apareciendo en el inicio de cada árbol para cada muestreo de boostrapping. Por ello, para evitar que los árboles converjan al mismo árbol, se elige al azar un subconjunto del total de variables para construir cada nodo de cada árbol, donde, en una primera etapa, el proceso de minimizar el out-of-bag error define la cantidad de variables para tomar al azar. En la segunda etapa se construyen los árboles como tal. Esto reduce la correlación y la varianza, pero resulta en un modelo complejo.

Dado lo anterior, la interpretación de los árboles es complicada dado que son múltiples (a veces miles) reglas de decisión, que incluso pueden involucrar varias veces a la misma variable. Lo usual es determinar la importancia de cada regresor al computar el promedio del pronóstico de todos los árboles, junto con la caída de la suma de errores al cuadrado debido a divisiones en dicho regresor. Un valor alto indica mayor importancia.
<div>

## Gradient Boosting

<div style="text-align: justify">
Potenciación o "boosting" en inglés fue propuesto por @freund1997boosting y @freund1996boosting, e introducido a problemas de regresión por @friedman2000boosting y @friedman2001boosting. Este método busca mejorar la habilidad de pronóstico de métodos simples de Aprendizaje Estadístico (Machine Learning). No estima un único modelo, pero inicia, por ejemplo, con una regresión lineal donde el regresor con la mayor contribución al ajuste total es añadido de forma iterativa (este es el boosting), de acuerdo con el rendimiento dentro de muestra, pero sin ajustar los coeficientes ya existentes.

La variante con gradiente ("gradient boosting") se basa en el concepto de descenso del gradiente, usualmente utilizado en problemas de optimización. Así, gradient boosting es más lento en generar una secuencia de árboles. Adicionalmente, este método no requiere de bootstrapping porque cada árbol es generado con la información de árboles ya existentes y es ajustado con el uso de una versión modificada de los datos originales. En particular, su algoritmo aplicado a árboles de decisión se resume como sigue:

1. Se genera un árbol inicial denotado $m$ (puede ser cualquier modelo y cualquier paso en la secuencia dada, se denota el inicial por simplicidad).
2. Un nuevo árbol se obtiene de los residuos de $m$.
3. La información disponible se actualiza como $\hat{f}(x)=\hat{f}^{m}(x)+\lambda\hat{f}^{res_m}(x)$, donde $\lambda$ es una parámetro de penalización.
4. Los residuos se actualizan como $res_{i}=res^{m}-\lambda\hat{f}^{res_m}(x_{i})$.
5. Finalmente, el modelo potenciado ("boosted") es dado por 
$$\hat{f}(x)=\sum_{m=1}^{B}\lambda\hat{f}^{res_m}(x_{i})$$
<div>

## Extreme Gradient Boosting

<div style="text-align: justify">
El método conocido como Extreme Gradient Boosting es una mejora al Gradient Boosting simple. Igual que este último, se basa en la construcción de árboles y la actualización de los resultados con los errores cometidos por el árbol previo, por lo que no dependen del bagging como bosques aleatorios. Fue propuesto por @chen2016xgboost como una adaptación regularizada de gradient boosting, cuyo propósito es controlar el sobre ajuste. La diferencia con otras implementaciones del algoritmo es técnica, al ser más eficiente computacionalmente, además de escalable (uso con grandes bases de datos) respecto a gradient boosting. Esta optimizado para usar data "sparse" (muchos datos con gran cantidad de ceros o datos faltantes) y permite la computación paralela, lo que lo hace más rápido que otras versiones del algoritmo.

Es usual calibrar los siguientes parámetros con un enfoque de validación cruzada:


1. "nrounds": controla el número máximo de iteraciones (o repeticiones de boosting) necesarias para la convergencia del algoritmo de descenso del gradiente.
2. "lambda": busca limitar el sobre ajuste. Esto mediante el control del proceso de regularización L2 (funciones de pérdida o error cuadráticas) en la construcción de los pesos (coeficientes), similar a una regresión Ridge.
3.  "alpha": también busca limitar el sobre ajuste. Esta vez con el control del proceso L1 de regularización (funciones de pérdida o error de valor absoluto), similar a una regresión Lasso
4. "eta": es la tasa de aprendizaje, en otras palabras, una penalización a los pronósticos de árboles anteriores. Esto también se utiliza para evitar el sobre ajuste. 
<div>

# Pronósticos con métodos de Aprendizaje Estadístico (Machine Learning)

<div style="text-align: justify">
Costa Rica no tiene el valor de comisión de intercambio ni de adquirencia, por ello se deja por fuera en el entrenamiento y se incluye en el pronóstico. Se dejan por fuera todos los países sin comisión de intercambio o adquirencia en los datos para la modelación de cada tasa de comisión respectiva. También se omiten países con NA's en el entrenamiento.
<div>

## Bosques Aleatorios

```{r rf, include=TRUE, warning=FALSE, message=FALSE}
library(traineR)
library(caret)

#Se utilizan los objetos datos_int y datos_adq creados anteriormente
library(rpart)
set.seed(1)

#library(scales) #Permite cambiar el formato de los pronósticos a porcentaje

library(randomForest)

#intercambio

## Vamos a generar el modelo dejando un dato para testing.
n <- dim(datos_int)[1]
# Se computa la raíz del error cuadrático medio con LOOCV
errori <- rep(0,nrow(datos_int))
  # Este ciclo es el que hace "leave one out" (dejar uno afuera)
for(j in 1:n) {
  muestra <- j
  ttesting <- datos_int[muestra,-c(1,2)]
  taprendizaje <- datos_int[-muestra,-c(1,2)]
  modelo <- randomForest(Intercambio~., data=taprendizaje, importance=TRUE, ntree = 100000, maxnodes = 10)
  prediccion <- predict(modelo,ttesting)
  if(prediccion != ttesting$Intercambio)
  {
    errori[j] <-  (prediccion - ttesting$Intercambio)^2 #computa el error cuadrático en cada observación
  } 
}
v.error.loo.int.rf <- sqrt(sum(errori)/n)

#Modelo completo para pronóstico de Costa Rica
set.seed(1)
modelo.rf.int <- randomForest(Intercambio~., data=datos_int[,-c(1,2)], importance=TRUE, ntree = 100000, maxnodes = 10)

#Pronóstico sin regulación
prediccion.rf.int_sin_reg<-predict(modelo.rf.int,datos[54,-c(1,2)])

#Pronóstico sin regulación
data_CR<-datos
data_CR[54,5]<-1
prediccion.rf.int_con_reg<-predict(modelo.rf.int,data_CR[54,-c(1,2)])

#adquirencia

## Vamos a generar el modelo dejando un dato para testing.
n <- dim(datos_adq)[1]
# Se computa la raíz del error cuadrático medio con LOOCV
errori <- rep(0,nrow(datos_adq))
  # Este ciclo es el que hace "leave one out" (dejar uno afuera)
for(j in 1:n) {
  muestra <- j
  ttesting <- datos_adq[muestra,-c(1,2)]
  taprendizaje <- datos_adq[-muestra,-c(1,2)]
  modelo <- randomForest(Adquirencia~., data=taprendizaje, importance=TRUE, ntree = 100000, maxnodes = 10)
  prediccion <- predict(modelo,ttesting)
  if(prediccion != ttesting$Adquirencia)
  {
    errori[j] <-  (prediccion - ttesting$Adquirencia)^2 #computa el error cuadrático en cada observación
  }
}
v.error.loo.adq.rf <- sqrt(sum(errori)/n)

#Modelo con todos los datos para pronóstico de Costa Rica
set.seed(1)
modelo.rf.adq <- randomForest(Adquirencia~., data=datos_adq[,-c(1,2)], importance=TRUE, ntree = 100000, maxnodes = 10)

#Pronóstico sin regulación
prediccion.rf.adq_sin_reg<-predict(modelo.rf.adq,datos[54,-c(1,2)])

#Pronóstico con regulación
data_CR<-datos
data_CR[54,5]<-1
prediccion.rf.adq_con_reg<-predict(modelo.rf.adq,data_CR[54,-c(1,2)])

```

## Gradient Boosting

```{r gbm, include=TRUE, warning=FALSE, message=FALSE}

library(gbm)
set.seed(1)

#intercambio

## Vamos a generar el modelo dejando un dato para testing.
n <- dim(datos_int)[1]
# Se computa la raíz del error cuadrático medio con LOOCV
errori <- rep(0,nrow(datos_int))
  # Este ciclo es el que hace "leave one out" (dejar uno afuera)
for(j in 1:n) {
  muestra <- j
  ttesting <- datos_int[muestra,-c(1,2)]
  taprendizaje <- datos_int[-muestra,-c(1,2)]
  modelo <- gbm(Intercambio ~.,
                data = taprendizaje,
                shrinkage = .0001,
                n.minobsinnode = 1,
                interaction.depth = 10,
                n.trees=100000,
                bag.fraction = 0.5)
  prediccion <- predict(modelo,ttesting)
  if(prediccion != ttesting$Intercambio)
  {
    errori[j] <-  (prediccion - ttesting$Intercambio)^2 #computa el error cuadrático en cada observación
  }
}
v.error.loo.int.gbm <- sqrt(sum(errori)/n)

#Modelo completo para pronóstico de Costa Rica
set.seed(1)
modelo.gbm.int <- gbm(Intercambio ~.,
                data = datos_int[,-c(1,2)],
                shrinkage = .0001,
                n.minobsinnode = 1,
                interaction.depth = 10,
                n.trees=100000,
                bag.fraction = 0.5)

#Pronóstico sin regulación
prediccion.gbm.int_sin_reg <-predict(modelo.gbm.int,datos[54,-c(1,2)])

#Pronóstico con regulación
data_CR<-datos
data_CR[54,5]<-1
prediccion.gbm.int_con_reg <-predict(modelo.gbm.int,data_CR[54,-c(1,2)])

#Adquirencia

## Vamos a generar el modelo dejando un dato para testing.
n <- dim(datos_adq)[1]
# Se computa la raíz del error cuadrático medio con LOOCV
errori <- rep(0,nrow(datos_adq))
  # Este ciclo es el que hace "leave one out" (dejar uno afuera)
for(j in 1:n) {
  muestra <- j
  ttesting <- datos_adq[muestra,-c(1,2)]
  taprendizaje <- datos_adq[-muestra,-c(1,2)]
  modelo <- gbm(Adquirencia ~.,
                data = taprendizaje,
                shrinkage = .0001,
                n.minobsinnode = 1,
                interaction.depth = 10,
                n.trees=100000,
                bag.fraction = 0.5)
  prediccion <- predict(modelo,ttesting)
  if(prediccion != ttesting$Adquirencia)
  {
    errori[j] <-  (prediccion - ttesting$Adquirencia)^2 #computa el error cuadrático en cada observación
  }
}
v.error.loo.adq.gbm <- sqrt(sum(errori)/n)

#Modelo completo para pronóstico de Costa Rica
set.seed(1)
modelo.gbm.adq <- gbm(Adquirencia ~.,
                data = datos_adq[,-c(1,2)],
                shrinkage = .0001,
                n.minobsinnode = 1,
                interaction.depth = 10,
                n.trees=100000,
                bag.fraction = 0.5)

#Pronóstico sin regulación
prediccion.gbm.adq_sin_reg <-predict(modelo.gbm.adq,datos[54,-c(1,2)])

#Pronóstico con regulación
data_CR<-datos
data_CR[54,5]<-1
prediccion.gbm.adq_con_reg <-predict(modelo.gbm.adq,data_CR[54,-c(1,2)])

```

## Extreme Gradient Boosting

```{r xgboost, include=TRUE, warning=FALSE, message=FALSE}

library(xgboost)
set.seed(1)

#intercambio

#Objeto para definir opciones del XGBoost
myControl <- trainControl(method = "LOOCV",number = 30)#Validación cruzada por una observación afuera, 30 repeticiones

model_xgboost_int<-caret::train(Intercambio ~.,
                data = datos_int[,-c(1,2)],
                method = "xgbLinear", #árboles de regresión
                metric = "RMSE",
                maximize = FALSE,
                trControl = myControl
                )

rmse_xgboost_int<-min(model_xgboost_int$results$RMSE)

#Pronóstico sin regulación
prediccion.xgboost.int_sin_reg <- predict(model_xgboost_int,datos[54,-c(1,2)])

#Pronóstico con regulación
data_CR<-datos
data_CR[54,5]<-1
prediccion.xgboost.int_con_reg <- predict(model_xgboost_int,data_CR[54,-c(1,2)])

#Adquirencia

#Objeto para definir opciones del XGBoost
myControl <- trainControl(method = "LOOCV",number = 30)#Validación cruzada por una observación afuera, 30 repeticiones

model_xgboost_adq<-caret::train(Adquirencia ~.,
                data = datos_adq[,-c(1,2)],
                method = "xgbLinear", #árboles de regresión
                metric = "RMSE",
                maximize = FALSE,
                trControl = myControl
                )

rmse_xgboost_adq<-min(model_xgboost_adq$results$RMSE)

#Pronóstico sin regulación
prediccion.xgboost.adq_sin_reg <- predict(model_xgboost_adq,datos[54,-c(1,2)])

#Pronóstico con regulación
data_CR<-datos
data_CR[54,5]<-1
prediccion.xgboost.adq_con_reg <- predict(model_xgboost_adq,data_CR[54,-c(1,2)])

```

## Comparación entre métodos de Aprendizaje Estadísticos (Machine Learning)

Se presenta un cuadro con las raíces del error cuadrático medio (RMSE) obtenidas con validación cruzada dejando uno fuera o "Leave-one-out cross-validation" (LOOCV).

```{r comparacion ML, include=TRUE, warning=FALSE}

pronosticos_ML_RMSE_int<-as.data.frame(cbind(c("Bosques Aleatorios", "Gradient Boosting", "Extreme Gradient Boosting"), c(v.error.loo.int.rf, v.error.loo.int.gbm, rmse_xgboost_int) ) )
names(pronosticos_ML_RMSE_int)<-c("Modelo", "RMSE en pronóstico tasa de intercambio")

pronosticos_ML_RMSE_int

pronosticos_ML_RMSE_adq<-as.data.frame(cbind(c("Bosques Aleatorios", "Gradient Boosting", "Extreme Gradient Boosting"), c(v.error.loo.adq.rf, v.error.loo.adq.gbm, rmse_xgboost_adq) ) )
names(pronosticos_ML_RMSE_adq)<-c("Modelo", "RMSE en pronóstico tasa de adquirencia")

pronosticos_ML_RMSE_adq

```

# Resumen de las estimaciones

<div style="text-align: justify">
Los siguientes cuadros resumen las estimaciones para la tasa de intercambio y de adquirencia respectivamente:
</div>

```{r resultados intercambio, include=TRUE}

pred_todos_int_sin_reg<-mean(c(as.numeric(pred_int_sin_cont_sin_reg), as.numeric(pred_int_con_cont_sin_reg), as.numeric(pred_int_con_cont_ef_sin_reg), 
as.numeric(pred1_int_sin_reg), 
as.numeric(pred2_int_sin_reg), 
as.numeric(pred3_int_sin_reg), 
as.numeric(pred4_int_sin_reg),  
as.numeric(pred_int_trunc_0_aicc_sin_reg), as.numeric(pred_int_trunc_0_bic_sin_reg), as.numeric(pred_int_trunc_0_aicc_ef_sin_reg), as.numeric(pred_int_trunc_0_bic_ef_sin_reg),  as.numeric(pred_int_trunc_0.28_aicc_sin_reg), as.numeric(pred_int_trunc_0.28_bic_sin_reg), as.numeric(pred_int_trunc_0.28_aicc_ef_sin_reg), as.numeric(pred_int_trunc_0.28_bic_ef_sin_reg),  as.numeric(pred_iv_int_sin_reg), 
as.numeric(pred_iv_int_ef_sin_reg), 
as.numeric(pred1_log_int_sin_reg), 
as.numeric(pred2_log_int_sin_reg), 
as.numeric(pred3_log_int_sin_reg), 
as.numeric(pred4_log_int_sin_reg)))

pred_todos_int_con_reg<-mean(c(as.numeric(pred_int_sin_cont_con_reg), as.numeric(pred_int_con_cont_con_reg), as.numeric(pred_int_con_cont_ef_con_reg), 
as.numeric(pred1_int_con_reg), 
as.numeric(pred2_int_con_reg), 
as.numeric(pred3_int_con_reg), 
as.numeric(pred4_int_con_reg),  
as.numeric(pred_int_trunc_0_aicc_con_reg), as.numeric(pred_int_trunc_0_bic_con_reg), as.numeric(pred_int_trunc_0_aicc_ef_con_reg), as.numeric(pred_int_trunc_0_bic_ef_con_reg),  as.numeric(pred_int_trunc_0.28_aicc_con_reg), as.numeric(pred_int_trunc_0.28_bic_con_reg), as.numeric(pred_int_trunc_0.28_aicc_ef_con_reg), as.numeric(pred_int_trunc_0.28_bic_ef_con_reg),  as.numeric(pred_iv_int_con_reg), 
as.numeric(pred_iv_int_ef_con_reg), 
as.numeric(pred1_log_int_con_reg), 
as.numeric(pred2_log_int_con_reg), 
as.numeric(pred3_log_int_con_reg), 
as.numeric(pred4_log_int_con_reg), 
as.numeric(pred1_int_reg), 
as.numeric(pred2_int_reg), 
as.numeric(pred3_int_reg), 
as.numeric(pred4_int_reg)))


pronosticos_resultados_int<-as.data.frame(cbind(
  
  c( pred_int_sin_cont_sin_reg, 
     pred_int_con_cont_sin_reg, 
     pred_int_con_cont_ef_sin_reg, 
     pred1_int_sin_reg, 
     pred2_int_sin_reg, 
     pred3_int_sin_reg, 
     pred4_int_sin_reg, 
     pred_int_sin_reg, 
     pred1_log_int_sin_reg, 
     pred2_log_int_sin_reg, 
     pred3_log_int_sin_reg, 
     pred4_log_int_sin_reg, 
     pred_log_int_sin_reg,
     NA,
     NA,
     NA,
     NA,
     NA,
     pred_int_sin_cont_sin_EEE_sin_reg, 
     pred_int_con_cont_sin_EEE_sin_reg, 
     pred_int_con_cont_sin_EEE_ef_sin_reg, 
     pred1_int_sin_EEE_sin_reg, 
     pred2_int_sin_EEE_sin_reg, 
     pred3_int_sin_EEE_sin_reg, 
     pred4_int_sin_EEE_sin_reg, 
     pred_int_sin_EEE_sin_reg,
     pred_int_trunc_0_aicc_sin_reg, 
     pred_int_trunc_0_bic_sin_reg, 
     pred_int_trunc_0_aicc_ef_sin_reg, 
     pred_int_trunc_0_bic_ef_sin_reg, 
     pred_int_trunc_0_todos_sin_reg, 
     pred_int_trunc_0.28_aicc_sin_reg, 
     pred_int_trunc_0.28_bic_sin_reg, 
     pred_int_trunc_0.28_aicc_ef_sin_reg,
     pred_int_trunc_0.28_bic_ef_sin_reg,
     pred_int_trunc_0.28_todos_sin_reg, 
     pred_iv_int_sin_reg, 
     pred_iv_int_ef_sin_reg, 
     pred_todos_int_sin_reg, 
     prediccion.rf.int_sin_reg, 
     prediccion.gbm.int_sin_reg, 
     prediccion.xgboost.int_sin_reg), 
                                                
  c( pred_int_sin_cont_con_reg, 
     pred_int_con_cont_con_reg, 
     pred_int_con_cont_ef_con_reg, 
     pred1_int_con_reg, 
     pred2_int_con_reg, 
     pred3_int_con_reg, 
     pred4_int_con_reg, 
     pred_int_con_reg,
     pred1_log_int_con_reg, 
     pred2_log_int_con_reg, 
     pred3_log_int_con_reg, 
     pred4_log_int_con_reg, 
     pred_log_int_con_reg, 
     pred1_int_reg, 
     pred2_int_reg, 
     pred3_int_reg, 
     pred4_int_reg, 
     pred_int_reg,
     pred_int_sin_cont_sin_EEE_con_reg, 
     pred_int_con_cont_sin_EEE_con_reg, 
     pred_int_con_cont_sin_EEE_ef_con_reg, 
     pred1_int_sin_EEE_con_reg, 
     pred2_int_sin_EEE_con_reg, 
     pred3_int_sin_EEE_con_reg, 
     pred4_int_sin_EEE_con_reg, 
     pred_int_sin_EEE_con_reg,
     pred_int_trunc_0_aicc_con_reg, 
     pred_int_trunc_0_bic_con_reg, 
     pred_int_trunc_0_aicc_ef_con_reg, 
     pred_int_trunc_0_bic_ef_con_reg, 
     pred_int_trunc_0_todos_con_reg, 
     pred_int_trunc_0.28_aicc_con_reg, 
     pred_int_trunc_0.28_bic_con_reg, 
     pred_int_trunc_0.28_aicc_ef_con_reg,
     pred_int_trunc_0.28_bic_ef_con_reg,
     pred_int_trunc_0.28_todos_con_reg, 
     pred_iv_int_con_reg, 
     pred_iv_int_ef_con_reg, 
     pred_todos_int_con_reg, 
     prediccion.rf.int_con_reg, 
     prediccion.gbm.int_con_reg, 
     prediccion.xgboost.int_con_reg) ))

rownames(pronosticos_resultados_int)<-
  c("Modelo sin controles", 
    "Modelo con controles sin efectos fijos de tiempo", 
    "Modelo con controles con efectos fijos de tiempo", 
    "Modelo AICc sin efectos fijos de tiempo", 
    "Modelo BIC sin efectos fijos de tiempo", 
    "Modelo AICc con efectos fijos de tiempo", 
    "Modelo BIC con efectos fijos de tiempo", 
    "Promedio modelos AICc y BIC", 
    "Modelo AICc sin efectos fijos de tiempo con logarítmo", 
    "Modelo BIC sin efectos fijos de tiempo con logarítmo", 
    "Modelo AICc con efectos fijos de tiempo con logarítmo", 
    "Modelo BIC con efectos fijos de tiempo con logarítmo", 
    "Promedio modelos AICc y BIC con logarítmo", 
    "Modelo AICc sin efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo BIC sin efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo AICc con efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo BIC con efectos fijos de tiempo, muestra de solo países regulados", 
    "Promedio modelos AICc y BIC, muestra de solo países regulados",
    "Modelo sin controles sin EEE", 
    "Modelo con controles sin efectos fijos de tiempo sin EEE", 
    "Modelo con controles con efectos fijos de tiempo sin EEE", 
    "Modelo AICc sin efectos fijos de tiempo sin EEE", 
    "Modelo BIC sin efectos fijos de tiempo sin EEE", 
    "Modelo AICc con efectos fijos de tiempo sin EEE", 
    "Modelo BIC con efectos fijos de tiempo sin EEE", 
    "Promedio modelos AICc y BIC sin EEE",
    "Modelo con truncamiento en 0 AICc sin efectos fijos de tiempo",
    "Modelo con truncamiento en 0 BIC sin efectos fijos de tiempo",
    "Modelo con truncamiento en 0 AICc con efectos fijos de tiempo", 
    "Modelo con truncamiento en 0 BIC con efectos fijos de tiempo", 
    "Promedio modelos con truncamiento en 0", 
    "Modelo con truncamiento en 0.28 AICc sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.28 BIC sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.28 AICc con efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.28 BIC con efectos fijos de tiempo", 
    "Promedio modelos con trucamiento en 0.28", 
    "Modelo con variables instrumentales sin efectos fijos de tiempo", 
    "Modelo con variables instrumentales con efectos fijos de tiempo", 
    "Promedio todos los modelos econométricos", 
    "Bosques Aleatorios", 
    "Gradient Boosting", 
    "Extreme Gradient Boosting")

names(pronosticos_resultados_int)<-c("Sin dicotómica de regulación","Con dicotómica de regulación")

pronosticos_resultados_int


```

```{r resultados adquirencia, include=TRUE}

pred_todos_adq_sin_reg<-mean(
  c(as.numeric(pred_adq_sin_cont_sin_reg),
    as.numeric(pred_adq_con_cont_sin_reg),
    as.numeric(pred_adq_con_cont_ef_sin_reg),
    as.numeric(pred1_adq_sin_reg), 
    as.numeric(pred2_adq_sin_reg), 
    as.numeric(pred3_adq_sin_reg), 
    as.numeric(pred4_adq_sin_reg),  
    as.numeric(pred_adq_trunc_0_aicc_sin_reg), 
    as.numeric(pred_adq_trunc_0_bic_sin_reg), 
    as.numeric(pred_adq_trunc_0_aicc_ef_sin_reg), 
    as.numeric(pred_adq_trunc_0_bic_ef_sin_reg),  
    as.numeric(pred_adq_trunc_0.36_aicc_sin_reg), 
    as.numeric(pred_adq_trunc_0.36_bic_sin_reg), 
    as.numeric(pred_adq_trunc_0.36_aicc_ef_sin_reg), 
    as.numeric(pred_adq_trunc_0.36_bic_ef_sin_reg),  
    as.numeric(pred_iv_adq_sin_reg), 
    as.numeric(pred_iv_adq_ef_sin_reg), 
    as.numeric(pred1_log_adq_sin_reg), 
    as.numeric(pred2_log_adq_sin_reg), 
    as.numeric(pred3_log_adq_sin_reg), 
    as.numeric(pred4_log_adq_sin_reg)))

pred_todos_adq_con_reg<-mean(
  c(as.numeric(pred_adq_sin_cont_con_reg), 
    as.numeric(pred_adq_con_cont_con_reg), 
    as.numeric(pred_adq_con_cont_ef_con_reg), 
    as.numeric(pred1_adq_con_reg), 
    as.numeric(pred2_adq_con_reg), 
    as.numeric(pred3_adq_con_reg), 
    as.numeric(pred4_adq_con_reg),  
    as.numeric(pred_adq_trunc_0_aicc_con_reg), 
    as.numeric(pred_adq_trunc_0_bic_con_reg), 
    as.numeric(pred_adq_trunc_0_aicc_ef_con_reg), 
    as.numeric(pred_adq_trunc_0_bic_ef_con_reg),  
    as.numeric(pred_adq_trunc_0.36_aicc_con_reg), 
    as.numeric(pred_adq_trunc_0.36_bic_con_reg), 
    as.numeric(pred_adq_trunc_0.36_aicc_ef_con_reg), 
    as.numeric(pred_adq_trunc_0.36_bic_ef_con_reg),  
    as.numeric(pred_iv_adq_con_reg), 
    as.numeric(pred_iv_adq_ef_con_reg), 
    as.numeric(pred1_log_adq_con_reg), 
    as.numeric(pred2_log_adq_con_reg), 
    as.numeric(pred3_log_adq_con_reg), 
    as.numeric(pred4_log_adq_con_reg), 
    as.numeric(pred1_adq_reg), 
    as.numeric(pred2_adq_reg), 
    as.numeric(pred3_adq_reg), 
    as.numeric(pred4_adq_reg)))
  
pronosticos_resultados_adq<-as.data.frame(cbind(
  
  c( pred_adq_sin_cont_sin_reg, 
     pred_adq_con_cont_sin_reg, 
     pred_adq_con_cont_ef_sin_reg, 
     pred1_adq_sin_reg, 
     pred2_adq_sin_reg, 
     pred3_adq_sin_reg, 
     pred4_adq_sin_reg, 
     pred_adq_sin_reg,
     pred1_log_adq_sin_reg, 
     pred2_log_adq_sin_reg, 
     pred3_log_adq_sin_reg, 
     pred4_log_adq_sin_reg, 
     pred_log_adq_sin_reg, 
     NA,
     NA,
     NA,
     NA,
     NA,
     pred_adq_trunc_0_aicc_sin_reg, 
     pred_adq_trunc_0_bic_sin_reg, 
     pred_adq_trunc_0_aicc_ef_sin_reg, 
     pred_adq_trunc_0_bic_ef_sin_reg, 
     pred_adq_trunc_0_todos_sin_reg, 
     pred_adq_trunc_0.36_aicc_sin_reg, 
     pred_adq_trunc_0.36_bic_sin_reg, 
     pred_adq_trunc_0.36_aicc_ef_sin_reg, 
     pred_adq_trunc_0.36_bic_ef_sin_reg, 
     pred_adq_trunc_0.36_todos_sin_reg, 
     pred_iv_adq_sin_reg, 
     pred_iv_adq_ef_sin_reg, 
     pred_todos_adq_sin_reg, 
     prediccion.rf.adq_sin_reg, 
     prediccion.gbm.adq_sin_reg, 
     prediccion.xgboost.adq_sin_reg), 
                                                
  c( pred_adq_sin_cont_con_reg, 
     pred_adq_con_cont_con_reg, 
     pred_adq_con_cont_ef_con_reg, 
     pred1_adq_con_reg, 
     pred2_adq_con_reg, 
     pred3_adq_con_reg, 
     pred4_adq_con_reg,
     pred_adq_con_reg, 
     pred1_log_adq_con_reg, 
     pred2_log_adq_con_reg, 
     pred3_log_adq_con_reg, 
     pred4_log_adq_con_reg, 
     pred_log_adq_con_reg, 
     pred1_adq_reg, 
     pred2_adq_reg, 
     pred3_adq_reg, 
     pred4_adq_reg, 
     pred_adq_reg, 
     pred_adq_trunc_0_aicc_con_reg, 
     pred_adq_trunc_0_bic_con_reg, 
     pred_adq_trunc_0_aicc_ef_con_reg, 
     pred_adq_trunc_0_bic_ef_con_reg, 
     pred_adq_trunc_0_todos_con_reg, 
     pred_adq_trunc_0.36_aicc_con_reg, 
     pred_adq_trunc_0.36_bic_con_reg, 
     pred_adq_trunc_0.36_aicc_ef_con_reg, 
     pred_adq_trunc_0.36_bic_ef_con_reg, 
     pred_adq_trunc_0.36_todos_con_reg, 
     pred_iv_adq_con_reg, 
     pred_iv_adq_ef_con_reg, 
     pred_todos_adq_con_reg, 
     prediccion.rf.adq_con_reg, 
     prediccion.gbm.adq_con_reg, 
     prediccion.xgboost.adq_con_reg) ))

rownames(pronosticos_resultados_adq)<-
  c("Modelo sin controles", 
    "Modelo con controles sin efectos fijos de tiempo", 
    "Modelo con controles con efectos fijos de tiempo", 
    "Modelo AICc sin efectos fijos de tiempo", 
    "Modelo BIC sin efectos fijos de tiempo", 
    "Modelo AICc con efectos fijos de tiempo", 
    "Modelo BIC con efectos fijos de tiempo", 
    "Promedio modelos AICc y BIC", 
    "Modelo AICc sin efectos fijos de tiempo con logarítmo", 
    "Modelo BIC sin efectos fijos de tiempo con logarítmo", 
    "Modelo AICc con efectos fijos de tiempo con logarítmo", 
    "Modelo BIC con efectos fijos de tiempo con logarítmo", 
    "Promedio modelos AICc y BIC con logarítmo", 
    "Modelo AICc sin efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo BIC sin efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo AICc con efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo BIC con efectos fijos de tiempo, muestra de solo países regulados", 
    "Promedio modelos AICc y BIC, muestra de solo países regulados", 
    "Modelo con truncamiento en 0 AICc sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0 BIC sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0 AICc con efectos fijos de tiempo", 
    "Modelo con truncamiento en 0 BIC con efectos fijos de tiempo", 
    "Promedio modelos con truncamiento en 0", 
    "Modelo con truncamiento en 0.36 AICc sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.36 BIC sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.36 AICc con efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.36 BIC con efectos fijos de tiempo", 
    "Promedio modelos con trucamiento en 0.36", 
    "Modelo con variables instrumentales sin efectos fijos de tiempo", 
    "Modelo con variables instrumentales con efectos fijos de tiempo", 
    "Promedio todos los modelos econométricos", 
    "Bosques Aleatorios", 
    "Gradient Boosting", 
    "Extreme Gradient Boosting")

names(pronosticos_resultados_adq)<-c("Sin dicotómica de regulación","Con dicotómica de regulación")

pronosticos_resultados_adq

```

Dado que la mayoría de los países no regula adquirencia, la información en la base de datos puede corresponder a las comisiones promedio para un país. De ser ese el caso, se necesita ajustar la estimación por la estructura de comisiones de adquirencia en Costa Rica. En particular, antes del 24 de noviembre de 2020, en Costa Rica las estaciones de servicio tenían una comisión de adquirencia de 1,03% y representaban el 6,6% de los ingresos de adquirencia, los supermercados una comisión de adquirencia de 3,22% y correspondían al 37,3% de los ingresos, y el resto una comisión de adquirencia de 4,09% y concentraban el 56,1% de los ingresos. A continuación, se ajustan las estimaciones obtenidas tomando dicha estructura en cuenta.

```{r resultados adquirencia corregidos, include=TRUE}

pronosticos_resultados_adq_corr<-as.data.frame(cbind(
  
  c( as.numeric((pred_adq_sin_cont_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_con_cont_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_con_cont_ef_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred1_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred2_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred3_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred4_adq_sin_reg- (1.03*0.066) )/(0.934)),
as.numeric((pred_adq_sin_reg- (1.03*0.066) )/(0.934)),
as.numeric((pred1_log_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred2_log_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred3_log_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred4_log_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_log_adq_sin_reg- (1.03*0.066) )/(0.934)),
NA, NA, NA, NA, NA,
as.numeric((pred_adq_trunc_0_aicc_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0_bic_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0_aicc_ef_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0_bic_ef_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0_todos_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_aicc_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_bic_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_aicc_ef_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_bic_ef_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_todos_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_iv_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_iv_adq_ef_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_todos_adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((prediccion.rf.adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((prediccion.gbm.adq_sin_reg- (1.03*0.066) )/(0.934)), as.numeric((prediccion.xgboost.adq_sin_reg- (1.03*0.066) )/(0.934))), 
                                                
                                                c( as.numeric((pred_adq_sin_cont_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_con_cont_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_con_cont_ef_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred1_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred2_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred3_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred4_adq_con_reg- (1.03*0.066) )/(0.934)),
as.numeric((pred_adq_con_reg- (1.03*0.066) )/(0.934)),                    as.numeric((pred1_log_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred2_log_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred3_log_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred4_log_adq_con_reg- (1.03*0.066) )/(0.934)), 
as.numeric((pred_log_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred1_adq_reg- (1.03*0.066) )/(0.934)), as.numeric((pred2_adq_reg- (1.03*0.066) )/(0.934)), as.numeric((pred3_adq_reg- (1.03*0.066) )/(0.934)), as.numeric((pred4_adq_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_reg- (1.03*0.066) )/(0.934)),  as.numeric((pred_adq_trunc_0_aicc_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0_bic_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0_aicc_ef_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0_bic_ef_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0_todos_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_aicc_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_bic_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_aicc_ef_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_bic_ef_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_adq_trunc_0.36_todos_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_iv_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_iv_adq_ef_con_reg- (1.03*0.066) )/(0.934)), as.numeric((pred_todos_adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((prediccion.rf.adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((prediccion.gbm.adq_con_reg- (1.03*0.066) )/(0.934)), as.numeric((prediccion.xgboost.adq_con_reg- (1.03*0.066) )/(0.934))) ))

rownames(pronosticos_resultados_adq_corr)<-
  c("Modelo sin controles", 
    "Modelo con controles sin efectos fijos de tiempo", 
    "Modelo con controles con efectos fijos de tiempo", 
    "Modelo AICc sin efectos fijos de tiempo", 
    "Modelo BIC sin efectos fijos de tiempo", 
    "Modelo AICc con efectos fijos de tiempo", 
    "Modelo BIC con efectos fijos de tiempo", 
    "Promedio modelos AICc y BIC", 
    "Modelo AICc sin efectos fijos de tiempo con logarítmo", 
    "Modelo BIC sin efectos fijos de tiempo con logarítmo", 
    "Modelo AICc con efectos fijos de tiempo con logarítmo", 
    "Modelo BIC con efectos fijos de tiempo con logarítmo", 
    "Promedio modelos AICc y BIC con logarítmo", 
    "Modelo AICc sin efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo BIC sin efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo AICc con efectos fijos de tiempo, muestra de solo países regulados", 
    "Modelo BIC con efectos fijos de tiempo, muestra de solo países regulados", 
    "Promedio modelos AICc y BIC, muestra de solo países regulados", 
    "Modelo con truncamiento en 0 AICc sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0 BIC sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0 AICc con efectos fijos de tiempo", 
    "Modelo con truncamiento en 0 BIC con efectos fijos de tiempo", 
    "Promedio modelos con truncamiento en 0", 
    "Modelo con truncamiento en 0.36 AICc sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.36 BIC sin efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.36 AICc con efectos fijos de tiempo", 
    "Modelo con truncamiento en 0.36 BIC con efectos fijos de tiempo", 
    "Promedio modelos con trucamiento en 0.36", 
    "Modelo con variables instrumentales sin efectos fijos de tiempo", 
    "Modelo con variables instrumentales con efectos fijos de tiempo", 
    "Promedio todos los modelos econométricos", 
    "Bosques Aleatorios", 
    "Gradient Boosting", 
    "Extreme Gradient Boosting")

names(pronosticos_resultados_adq_corr)<-c("Sin dicotómica de regulación","Con dicotómica de regulación")

pronosticos_resultados_adq_corr

```

# Referencias
