Mostrando entradas con la etiqueta inflación. Mostrar todas las entradas
Mostrando entradas con la etiqueta inflación. Mostrar todas las entradas

31 oct 2024

Evaluación de pronóstico en R: validación cruzada de modelos de series temporales

En el siguiente ejemplo se muestra una validación cruzada de series temporales en R. Necesita evaluar la capacidad de pronóstico de un modelo para elegir alguna alternativa en función de su rendimiento. Es decir, necesito verificar cual hubiese sido el pronóstico histórico de una serie temporal, por ejemplo con un modelo AR(1), para comparar con la precisión de otros modelos y decidir cual estrategia seguir en lo adelante. En este sentido, necesitaríamos realizar el ejercicio de proyección en distintos puntos temporales, para posteriormente recuperar los errores y comparar estas medidas de error entre distintos modelos.

 1.       Simulamos la serie temporal (en el caso de una base de datos, deberías importarlas en R).

 library(writexl)   # Exportar a Excel
library(readxl)
library(lubridate) # dates
library(tidyverse)
library(forecast)
library(timeSeries)
library(zoo)
 
# Importando datos ---------------
# ********************************************************************
# ********************************************************************
 
# Configuración inicial
set.seed(4)    # Asegura reproducibilidad
n <- 250       # Número de días (simulación de aproximadamente un año laboral)
mu <- 0        # Promedio del cambio diario (sin tendencia)
sigma <- 0.01  # Volatilidad diaria
 
# Generación de la caminata aleatoria
tipo_cambio <- cumsum(c(1, rnorm(n, mean = mu, sd = sigma)))  # Inicia en 100 y suma los cambios diarios
 
# Creación de un data.frame con fechas
fechas <- seq.Date(from = as.Date("2023-01-01"), by = "day", length.out = n + 1)
df <- data.frame(fecha = fechas, tipo_cambio = tipo_cambio)
 
# Gráfico de series temporales
library(ggplot2)
ggplot(df, aes(x = fecha, y = tipo_cambio)) +
  geom_line(color = "blue") +
  labs(title = "Simulación de Caminata Aleatoria del Tipo de Cambio",
       x = "Fecha",
       y = "Tipo de Cambio") +
  theme_minimal()
 
library(xts)
tipo_cambio_xts <- xts(tipo_cambio, order.by = fechas)

 
2.       Validación cruzada

En resumen, lo que se hace es definir una ventana de estimación y otra de validación (pronóstico). En este ejemplo son de 60 y 5 observaciones respectivamente. 60 observaciones serán usadas para estimar el modelo, mientras que 5 será la longitud de la ventana del pronóstico. De esta forma, en la primera iteración se va estimar los modelos con observaciones del 1:60 y otra ventana de pronóstico de la 61-65, luego 2:61 y 62:66, … y así respectivamente hasta recorrer toda la muestra. El documento de trabajo “Pronóstico del consumo privado en la República Dominicana” de Alejandro J. Balcácer y Nerys F. Ramírez, muestra en detalle esta estrategia.

 # Análisis de precisión. Error histórico ---------------

h.valid <- 5
horizonte <- paste0("h", 1:h.valid)
vent <- 60

Posteriormente, se genera un for para realizar este recorrido usando una serie. Primero se define el valor del ultimo dato observado en cada iteración del bucle (seq_for), este dato sirve de referencia para el resto de las ventanas. Además, se define un contador para el punto de inicio de la ventana de estimación (cont). Los puntos clave de esta secuencia son:

-          Indicar la secuencia con la posición de las observaciones que vamos a usar en cada punto de la serie temporal [obser in seq_for].

-          La serie temporal se segmenta en dos partes: la estimación (tipo_cambio_xts[cont:obser]) y la otra parte de pronósticos (tipo_cambio_xts[(obser+1):(obser+h.valid)]). Fíjese que la primera va desde el contador hasta obser, recuerde que obser es el valor final hasta donde irá la ventana de estimación y el valor que en el presente ejemplo sirve de referencia. Luego, la parte para evaluar las proyecciones se definen a partir de la última observación de la parte de estimación (obser+1):(obser+h.valid).

-          La tercera parte importante del bucle es incluir el modelo de pronóstico. Aquí debemos usar alguna estrategia para proyectar los periodos que nos resulten de interés. En este ejemplo son 5 observaciones, y se usa un modelo ar(1).

-          Finalmente, se crea un data.frame para guardar el pronóstico, el dato observado, los horizontes y el nombre del model. Además, se guarda cada data.frame en una lista creada anteriormente (data_Rbind). Primero se llaman todos los objetos que inician con “df_” (tener pendiente guardar cada nuevo modelo con ese nombre).  

 # Esto lo que hace, es que permite recorrer las ventanas
seq_for <- vent:(nrow(tipo_cambio_xts)-h.valid)
 
# OJO CORRER EL BULCE DESDE AQUI
cont <- 1
data_Rbind <- list() # Lista que guarda resultados
 
for (obser in seq_for){
  
  tc_train <- tipo_cambio_xts[(obser-vent+1):obser]
  tc_test <- tipo_cambio_xts[(obser+1):(obser+h.valid)]
 
  fecha_ciclo <- fechas[obser]
  fecha_hat <-  fechas[(obser+1):(obser+h.valid)]
 
ordena_data <- function(objetos,...){
  # objetos = lista de nombre de vectore
 
  # Iterar sobre los nombres de los objetos y cambiar los nombres de las columnas
  for (i in seq_along(objetos_df)) {
    xdf_name <- get(objetos_df[i])
    new_column_names <- c("fechaCiclo","fechaHat","horizonte","obs","pro","model")
    names(xdf_name) <- new_column_names
    assign(objetos_df[i], xdf_name)
  }
 
  lista_objetos <- lapply(objetos_df, get)
  df1_final <- dplyr::bind_rows(lista_objetos)
  return(df1_final)
}
    ### 1. ESTRATEGIA AR(1) . Ventana móvil ************************
 
    model_ar1 <- Arima(tipo_cambio_xts, order=c(1,0,0))
    ht_f_ar1 <- forecast::forecast(model_ar1, h=h.valid)$mean                 
   
    df_ar1 <- data.frame(fecha_ciclo, fecha_hat, horizonte,  #fechas
                         obsT=tc_test, # dato observado
                         proT=ht_f_ar1,
                         model="1.Ar(1)_móvil")
 
    ### 1. ESTRATEGIA AR(2,1) . Ventana móvil ************************
   
    model_ar21 <- Arima(tipo_cambio_xts, order=c(2,0,1))
    ht_f_ar21 <- forecast::forecast(model_ar21, h=h.valid)$mean                 
   
    df_ar21 <- data.frame(fecha_ciclo, fecha_hat, horizonte,  #fechas
                         obsT=tc_test, # dato observado
                         proT=ht_f_ar21,
                         model="2.Ar(21)_móvil")
   
### ******************************************************************
### ******************************************************************
objetos <- ls()
objetos_df <- objetos[grep("^df_", objetos)]
 
data_Rbind[[(obser-vent+1)]] <- ordena_data(objetos_df)
   
# Esto al final siempre       
cont <- cont+1  # cont y esto es equivalente (obser-vent+1):
}

Luego de culminar, se utiliza una función propia para ordenar la data (ordena_data) y convertirla en un único data.frame con toda la data:

data_forecast_final
# A tibble: 1,870 × 6
   fechaCiclo fechaHat   horizonte   obs  proy model        
   <date>     <date>     <chr>     <dbl> <dbl> <chr>        
 1 2023-03-01 2023-03-02 h1        0.969 1.01  1.Ar(1)_móvil
 2 2023-03-01 2023-03-03 h2        0.981 1.01  1.Ar(1)_móvil
 3 2023-03-01 2023-03-04 h3        0.972 1.01  1.Ar(1)_móvil
 4 2023-03-01 2023-03-05 h4        0.978 1.00  1.Ar(1)_móvil
 5 2023-03-01 2023-03-06 h5        0.987 1.00  1.Ar(1)_móvil
 6 2023-03-01 2023-03-02 h1        0.969 1.01  1.Ar(21)_móvil
 7 2023-03-01 2023-03-03 h2        0.981 1.01  1.Ar(21)_móvil
 8 2023-03-01 2023-03-04 h3        0.972 1.01  1.Ar(21)_móvil
 9 2023-03-01 2023-03-05 h4        0.978 1.00  1.Ar(21)_móvil
10 2023-03-01 2023-03-06 h5        0.987 0.999 1.Ar(21)_móvil

 Con esta data, ahora se puede realizar cualquier análisis sobre los errores promedio, su evolución histórica o el comportamiento de estos errores condicionados a eventos económicos, por ejemplo, los errores durante el COVID o periodos de alta incertidumbre.

 # Cuadrando la base de los errores
# Crea la data final con todos los los dtos necesarios
data_forecast_final <- dplyr::bind_rows(data_Rbind) |> as_tibble()
names(data_forecast_final) <- c("fechaCiclo","fechaHat","horizonte","obs","proy","model")
 
# Errores total
# Total
data_forecast_final |>
  #dplyr:: filter(fechaCiclo > as.Date("2018-01-01"))  |>
  mutate(error=obs-proy) |>
  group_by(horizonte, model) |> # (horizonte, model, COVID)
  summarize(
    mae_e_abs = mean(abs(error), na.rm = TRUE),
  ) |>
  pivot_wider(names_from = horizonte, values_from = mae_e_abs) |>
  arrange(h1) |>
  dplyr::select(model,horizonte, everything())
 
`summarise()` has grouped output by 'horizonte'. You can override using the `.groups` argument.
# A tibble: 2 × 6
  model              h1     h2     h3     h4     h5
  <chr>           <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
1 1.Ar(21)_móvil 0.0479 0.0442 0.0405 0.0377 0.0350
2 1.Ar(1)_móvil  0.0483 0.0443 0.0409 0.0378 0.0353

11 may 2023

Descomposición de una serie temporal en R: componente transitorio vs permanente

La siguiente entrada utiliza la inflación mensual de la República Dominicana para obtener una descomposición histórica de la evolución de la inflación trimestral en un componente transitorio vs. componente subyacente. Primero se activan las librearas requeridas y se importa la data (dataset), que incluye la fecha mensual y el IPC con datos usando como base la canasta 2019-2020.

# Load the data
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
 
library(readxl)
library(forecast)
library(lubridate)
library(tidyverse)
 
dataset <- read_excel("data.xlsx")
 
# A tibble: 472 x 2
   fecha                 ipc
   <dttm>              <dbl>
 1 1984-01-01 00:00:00  1.38
 2 1984-02-01 00:00:00  1.42
 3 1984-03-01 00:00:00  1.44
 4 1984-04-01 00:00:00  1.46
 5 1984-05-01 00:00:00  1.48
 6 1984-06-01 00:00:00  1.54
 7 1984-07-01 00:00:00  1.56
 8 1984-08-01 00:00:00  1.57
 9 1984-09-01 00:00:00  1.64
10 1984-10-01 00:00:00  1.68
# ... with 462 more rows

Posteriormente, se agrega la serie trimestralmente usando el promedio del IPC. Se identifica el trimestre de cada mes (quarter), posteriormente se crea un agregado del promedio trimestral del IPC, y sobre este IPC trimestral, calculamos la inflación trimestral (q_inf). En una entrada anterior se explicó en detalle la agregación temporal y las transformaciones de series temporales

 q_dataset <- dataset |>
  mutate(quarter = zoo::as.yearqtr(fecha, "%Q")) |> # create a new variable for the quarter
  group_by(quarter)  |>  # group by the quarter variable
  summarise(q_ipc = mean(ipc)) |>
  mutate(q_inf = ((q_ipc/dplyr::lag(q_ipc))-1)*100) |>
  slice(-1)
 
# A tibble: 157 x 3
   quarter   q_ipc q_inf
   <yearqtr> <dbl> <dbl>
 1 1984 Q2    1.49  5.66
 2 1984 Q3    1.59  6.53
 3 1984 Q4    1.76 11.0
 4 1985 Q1    2.11 19.6
 5 1985 Q2    2.24  6.43
 6 1985 Q3    2.32  3.53
 7 1985 Q4    2.41  3.67
 8 1986 Q1    2.44  1.23
 9 1986 Q2    2.39 -2.01
10 1986 Q3    2.42  1.40
# ... with 147 more rows

Ahora, definimos una inflación trimestral como una serie temporal usando la función ts.

 ts_data <- ts(q_dataset$q_inf, start = c(1984,2), frequency = 4)
 
            Qtr1        Qtr2        Qtr3        Qtr4
1984              5.66392672  6.52527285 10.99767476
1985 19.64583811  6.43449238  3.53425010  3.66683217
1986  1.23093134 -2.00846916  1.39780793  4.35942001
1987  1.45783902  4.75590834  5.30846177  6.77347683

Ahora, usamos la función stl (ver referencia: https://otexts.com/fpp2/stl.html) para obtener una descomposición de la serie, recuperando los componentes estacionales, la tendencia y el componente aleatorio de las series.

# Decompose the time series using the STL function
decomp <- stl(ts_data, s.window = "periodic")
 
# Extract the seasonal, trend, and remainder components
seasonal <- decomp$time.series[, "seasonal"]
trend <- decomp$time.series[, "trend"]
remainder <- decomp$time.series[, "remainder"]

Ahora, agregamos los componentes (remainder) transitorios vs. permanentes (trend + seasonal).

q_dataset$permanent <- trend + seasonal
q_dataset$transient <- remainder
 
# A tibble: 157 x 5
   quarter   q_ipc q_inf permanent transient
   <yearqtr> <dbl> <dbl>     <dbl>     <dbl>
 1 1984 Q2    1.49  5.66    5.67    -0.00924
 2 1984 Q3    1.59  6.53    8.72    -2.19  
 3 1984 Q4    1.76 11.0    10.7      0.325 
 4 1985 Q1    2.11 19.6    11.4      8.23  
 5 1985 Q2    2.24  6.43    8.27    -1.83  
 6 1985 Q3    2.32  3.53    5.81    -2.28  
 7 1985 Q4    2.41  3.67    3.29     0.376 
 8 1986 Q1    2.44  1.23    1.57    -0.340 
 9 1986 Q2    2.39 -2.01   -0.0908  -1.92  
10 1986 Q3    2.42  1.40    1.39     0.00589
# ... with 147 more rows

Finalmente, se crea un gráfico apilado asumiendo la incidencia de cada componente.  

q_dataset |>
  dplyr::filter(quarter >= "2000 Q1") |>
  gather(id, value, -c(quarter,q_ipc,q_inf)) |>
  ggplot(aes(x = quarter, y = value, fill = id)) +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = c("#56B4E9", "#E69F00"), name = element_blank(), labels = c("Permantente", "Transitorio")) +
  geom_line(aes(x = quarter, y = q_inf), size=0.8) +
  theme_classic() +
  theme(legend.position = "bottom")

Sin embargo, vemos que la metodología anterior asume los componentes estacionales como transitorios. Por lo que, la política monetaria estaría reaccionando a elementos estacionales al considerarlos como elementos permanentes, sin embargo, entendemos que este elemento debe agregarse como elemento transitorio.

24 oct 2019

Breves notas sobre la inflación en la República Dominicana según la literatura


La inflación, entendida “como un aumento generalizado en el nivel de precios de una economía”, independientemente a la condición económica vigente, preocupa a los hacedores de políticas, estando sus repercusiones negativas ampliamente argumentadas en la literatura económica. La siguiente entrada pretende exponer algunos puntos identificados en la literatura reciente sobre inflación en la República Dominicana.

La evolución histórica de la inflación en la República Dominicana, según la literatura, hasta el año 2000-2002 estuvo determinada por el movimiento de los agregados monetarios, la inflación extranjera y el tipo de cambio, teniendo los desequilibrios monetarios una afluencia importante sobre el nivel inflación (Williams & Adedeji, 2004), cuestión que se vio reflejada en la crisis financiera que inició en 2003. No obstante, pese a que posterior a la crisis financiera de 2003 la inflación descendió dramáticamente (Ribando, 2005), los desequilibrios macroeconómicos de 2003 conllevaron a la inestabilidad de la demanda de dinero (AndúJar, 2014, pág. 108) (Pascual, 2016), lo que dificultaba el manejo de la inflación por medio de agregados monetarios, cuestión que impulsó la adopción del Esquema de Metas de Inflación (EMI) en 2012  (Pérez, 2014).

Posterior a la adopción del EMI, específicamente para el año 2014, la inflación se mantuvo por debajo del rango meta (Ramírez & Sánchez, 2019), asociada a políticas restrictivas y bajas presiones inflacionarias de origen externo (Mespyd, 2015). Mientras que la evolución reciente (2019) de la inflación en el país marca niveles de variación interanual por debajo del rango meta establecido (BCRD, 2019, p. 9), esto pese a la incertidumbre fiscal e internacional vigente, este panorama de inflación controlada ha llevado a la literatura a describir el escenario actual como un contexto macroeconómico con bajas presiones inflacionarias (Intec, 2017, pág. 2), que ha incidido sobre el bienestar de la población (Pascual, 2016). De forma conjunta, estos niveles de inflación se adhieren a una reducción verificada desde el segundo semestre de 2018, como resultado de bajas presiones inflacionarias en los grupos “transporte” y “alimentos y bebidas no alcohólicas”. Esto, posterior a que en julio de 2018 se verificara un aumento de la tasa de política monetaria, para intentar contrarrestar presiones inflacionarias derivada de la demanda interna y los precios del petróleo (Ministerio de Hacienda, 2019, pág. 13) y (CEPAL, 2019), dando al traste con la menor inflación anual de las últimas tres décadas (1.17%), con una caída de los precios de los bienes transables hacia finales de año (BCRD, 2019b).

Adicionalmente, posterior a la adopción del EMI se observa menor volatilidad en las variaciones del Índice de Precios al Consumidor (Peña & Rosario, 2018, p. 49) (Checo & Camacho, 2019). Por lo que, la literatura apunta a una reducción de la volatilidad y el nivel de inflación a partir del EMI. Esta volatilidad esta relacionada positivamente con el nivel de inflación e incidida a su vez por las fluctuaciones observadas en los precios del petróleo (Ramírez, 2011, pág. 31), siendo coherente con la evidencia empírica que identifica causalidad de la volatilidad de los precios de los commodities sobre la inflación (Casanova & Ramírez, 2013, pág. 50).

Respecto a los componentes que guían la inflación, la literatura ha identificado que el componente volátil guía la inflación en el corto plazo, siendo los choques asociados con los bienes regulados los de mayor transitividad. Aunque en términos generales, la influencia de estos factores volátiles se diluye previo al horizonte en el cual la política monetaria es efectiva, lo que llevaría asumir que las políticas monetarias no deberían responder a presiones inflacionarias asociadas a este componente (BCRD, 2018, pp. 23-24) (Checo & Ramírez, 2018).

Adicionalmente, la inflación salarial incide sobre la inflación de precios con un rezago de dos trimestre, mientras que el tipo de cambio tiene un efecto contemporáneo y con rezago de un trimestre (Michel, 2014). Aunque en el caso de la respuesta contemporánea de la inflación al tipo de cambio, los autores Ramírez y Sánchez (2019) determinan que este efecto se ha reducido de 33% en 2012 a 23% en 2018, explicado tanto por el componente transable, como por el no transables. Es decir, que luego de asumir un esquema de meta de inflación ha disminuido el efecto traspaso sobre la inflación derivado del tipo de cambio (Peña & Rosario, 2018) (Checo & Camacho, Impacto macroeconómico de una política monetaria con metas de inflación, 2019).  Según estos autores, el efecto de largo plazo pasó del 38% al 21%, posterior a la adopción del esquema de metas de inflación, aunque el coeficiente asociado a los bienes transables y el pass-through de corto plazo no registran cambios alrededor de la adopción del EMI. Según estudios recientes, se ha mantenido una tenencia a la baja  posterior al 2012, siendo esta especialmente explicada por el componente transable (Ramírez & Sánchez, 2019).

También, Ramírez (2011) estudió los mecanismos de trasmisión de los choques de los precios de petróleo, identificándose un efecto (pass-through) de estos precios sobre los combustibles, especialmente la gasolina regular, este efecto derivado de factores externos hace que la dinámica de la inflación este influenciada por factores domésticos y externos (Sánchez & Ramírez, 2018). Siendo lo anterior coherente con que la inflación internacional ha mostrado incidencia histórica sobre los precios domésticos (Williams & Adedeji, 2004).

En términos de expectativas, en el EMI la meta intermedia es el esquema de meta de inflación, siendo los desvíos alrededor de la meta, lo que provoca reacciones de los hacedores de política (Andújar, 2014). En tal sentido, pese a que se verifica en el país un proceso de aprendizaje respecto a las expectativas, resalta que sean los académicos el grupo que muestra mayores errores de pronósticos (Jiménez & López, 2013). Existiendo, según estos autores, una importante heterogeneidad en las expectativas entre los diversos agentes económicos.

Mientras que, referidos al tipo de modelo para obtener pronósticos sobre la inflación, Michel (2014, pág. 86) encuentra evidencia de que los modelos de series de tiempo producen pronósticos más precisos que los modelos que expresan relaciones causales. Además, al hacer combinaciones de modelos, el autor identifica se mejora la precisión de los modelos. Al comparar modelos de Vectores Autoregresivos (VAR) tradicionales con modelos aumentados con factores (FAVAR), los autores Caffaro y Pérez (2018) identifican que el modelo aumentado por factores reduce el error de pronóstico un 7.2% respecto al modelo VAR.

Referencias

AndúJar, J. (2014). La transición de República Dominicana a metas de inflación. Revista Dominicana de Economía, 199-120.
BCRD. (2018). Banco Central de la República Dominicana (mayo 2018). Departamento de Programación Monetaria y Estudios Económicos. Banco Central de la República Dominicana.
BCRD. (2019). Informe de Política Monetaria. Banco Central de la República Dominicana, Departamento de Programación Monetaria y Estudios Económicos. Santo Domingo.
BCRD. (2019b). BCRD informa que la inflación cerró el año 2018 en 1.17%. Banco Central de la República Dominicana. Recuperado el 2019 de 10 de 24, de https://www.bancentral.gov.do/a/d/4194-bcrd-informa-que-la-inflacion-cerro-el-ano-2018-en-117
Caffaro, G., & Pérez, J. (2018). Modelo FAVAR ´Optimo para Proyecciones de Corto Plazo: Aplicación a la República Dominicana. Ministerio de Hacienda.
Casanova, F., & Ramírez, F. (2013). Análisis de la Volatilidad de la Inflación en la República Dominicana. En B. C. Dominicana, Oeconomia.
CEPAL. (2019). Balance Preliminar de las Economías de América Latina y el Caribe 2018 . Comisión Económica para América Latina y el Caribe (CEPAL) .
Checo, A., & Camacho, F. (2019). Impacto macroeconómico de una política monetaria con metas de inflación. (B. C. Dominicana, Ed.) Nueva Literatua Económica.
Checo, A., & Ramírez, F. (2018). Análisis de los choques relevantes sobre la infl ación en la República Dominicana. Santo Domingo.
Intec. (2017). Análisis de la economía dominicana. Área de Economía y Negocios.
Jiménez, M., & López, N. (2013). Expectativas de Inflación en República Dominicana: Un Análisis Desagregado. En B. C. Dominicana, Oeconomia (págs. 55-67). Santo Domingo.
Mespyd. (2015). Marco Macroeconómico 2015-2019 . Ministerio de Economía Planificación y Desarrolo .
Michel, J. (2014). Determinantes Internos y Externos de la Inflación en una Economía Pequeña y Abierta: El Caso de la República Dominicana. En B. C. Dominicana, Oeconomia (págs. 69-81). Santo Domingo.
Michel, J. (2014). Modelo de Inflación: Estabilidad y Capacidad de Pronóstico. En B. C. Dominicana, Oeconomia (pág. 83). Santo Domingo.
Ministerio de Hacienda. (2019). Informe de avance de las proyecciones macroecónomicas y fiscales 2020. Digipres.
Pascual, O. (2016). Una estimación del costo en bienestar de la inflación para República Dominicana. (B. C. Dominicana, Ed.) Nueva Literatura Económica.
Peña, P., & Rosario, P. (2018). Adopción de Esquemas de Metas de Inflación y el Traspaso de Tipo de Cambio: Evidencia para República Dominicana. Ciencia, Economía & Negocios.
Pérez, E. (2014). Inflation Targeting y el Dr. J.L. Alemán. Revista Dominicana de Economía , 121-139 .
Ramírez, F. (2011). Precios del Petróleo e Inflación en la República Dominicana: Análisis Empírico para el periodo 2000 – 2010. En B. C. Dominicana, Oeconomia (págs. 21-33). Santo Domingo.
Ramírez, F., & Sánchez, J. (2019). Dinámica del traspaso del tipo de cambio depués de la implementación de un esquema de meta de inflación: el caso de la República Dominicana. En B. C. Dominicana, Oeconomia. Santo Domingo.
Ribando, C. (2005). Dominican Republic: Political and Economic Conditions and Relations with the United States. CRS Report for Congress.
Sánchez, J., & Ramírez, F. (2018). Dinámica de la inflación subyacente en economías pequeñas y abiertas: el caso de las economías de Centroamérica y República Dominicana. En B. C. Dominicana, Oeconomia. Santo Domigno.
Williams, O., & Adedeji, O. (2004). Inflation Dynamics in the Dominican Republic. IMF Working Paper.

Recodificación de Variables en R

  La recodificación de variables es una tarea esencial en el análisis de datos que nos permite transformar datos continuos en categorías más...