Introducción

Los datos utilizados en este análisis provienen del DANE consolidados del PIB Nacional, los cuales cubren diferentes sectores económicos en Colombia. Estos datos han sido organizados y convertidos para estar en formato trimestral, abarcando un período desde el primer trimestre de 2005 hasta el segundo trimestre de 2024.

Variables Seleccionadas

Las variables seleccionadas para el análisis incluyen:

  1. Agricultura, ganadería, caza, silvicultura y pesca: Representa la producción económica de este sector primario.
  2. Explotación de minas y canteras: Refleja la actividad económica en la extracción de recursos naturales.
  3. Industrias manufactureras: Indicador clave de la producción industrial en el país.
  4. Construcción: Muestra la evolución del sector de la construcción, un indicador importante del desarrollo de infraestructura.
  5. Actividades inmobiliarias: Refleja el desempeño del sector inmobiliario, incluyendo venta y alquiler de propiedades.
  6. Actividades financieras y de seguros: La actividad financiera crediticia y prestación de servicios de seguros
  7. Actividades inmobiliarias: Compra y venta de inmobiliarios del país

Período de Tiempo

El período cubierto por estos datos es desde el primer trimestre de 2005 hasta el segundo trimestre de 2024. Este rango temporal permite un análisis detallado de las tendencias económicas en diferentes fases del ciclo económico, así como la observación de posibles relaciones de largo plazo entre los diferentes sectores económicos.

Cargar los Datos

library(readxl)
data <- read_xlsx("~/Downloads/PIB varibales trimestrales 2005 hasta 2024.xlsx")

Realizar la prueba ADF para cada serie temporal

library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
adf_test_agricultura <- adf.test(data$"Agricultura, ganadería, caza, silvicultura y pesca", alternative = "stationary")
adf_test_minas <- adf.test(data$"Explotación de minas y canteras", alternative = "stationary")
adf_test_industria <- adf.test(data$"Industrias manufactureras", alternative = "stationary")
adf_test_construccion <- adf.test(data$"Construcción", alternative = "stationary")
adf_test_info_comunicaciones <- adf.test(data$"Información y comunicaciones", alternative = "stationary")
adf_test_financieras <- adf.test(data$"Actividades financieras y de seguros", alternative = "stationary")
adf_test_inmobiliarias <- adf.test(data$"Actividades inmobiliarias", alternative = "stationary")

Resultados

adf_test_agricultura
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data$"Agricultura, ganadería, caza, silvicultura y pesca"
## Dickey-Fuller = -2.0936, Lag order = 4, p-value = 0.5373
## alternative hypothesis: stationary
adf_test_minas
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data$"Explotación de minas y canteras"
## Dickey-Fuller = -1.3251, Lag order = 4, p-value = 0.8514
## alternative hypothesis: stationary
adf_test_industria
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data$"Industrias manufactureras"
## Dickey-Fuller = -3.8811, Lag order = 4, p-value = 0.01957
## alternative hypothesis: stationary
adf_test_construccion
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data$Construcción
## Dickey-Fuller = -1.328, Lag order = 4, p-value = 0.8502
## alternative hypothesis: stationary
adf_test_info_comunicaciones
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data$"Información y comunicaciones"
## Dickey-Fuller = -4.0351, Lag order = 4, p-value = 0.01254
## alternative hypothesis: stationary
adf_test_financieras
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data$"Actividades financieras y de seguros"
## Dickey-Fuller = -3.0868, Lag order = 4, p-value = 0.1315
## alternative hypothesis: stationary
adf_test_inmobiliarias
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data$"Actividades inmobiliarias"
## Dickey-Fuller = -2.3304, Lag order = 4, p-value = 0.4406
## alternative hypothesis: stationary

Los resultados muestran que las siguientes series son estacionarias o no estacionarias:

Series Estacionarias:

• Industrias manufactureras • Información y comunicaciones

Series No Estacionarias:

• Agricultura, ganadería, caza, silvicultura y pesca • Explotación de minas y canteras • Construcción • Actividades financieras y de seguros • Actividades inmobiliarias

Se concluye que al tener mas variables en las series no estacionaras se tomaran estos para realizar un modelo VEC ya que cumple con las condiciones del modelo. De igual manera se realizaran validaciones de otro aspectos.

Estacionalidad de las series

Se realiza la descomposición de las series para empezar con la verificación de la estacionalidad

decompose_agricultura <- decompose(ts(data$`Agricultura, ganadería, caza, silvicultura y pesca`, frequency = 4), type = "multiplicative")
plot(decompose_agricultura)

decompose_minas <- decompose(ts(data$`Explotación de minas y canteras`, frequency = 4), type = "multiplicative")
plot(decompose_minas)

decompose_construccion <- decompose(ts(data$Construcción, frequency = 4), type = "multiplicative")
plot(decompose_construccion)

decompose_financieras <- decompose(ts(data$`Actividades financieras y de seguros`, frequency = 4), type = "multiplicative")
plot(decompose_financieras)

decompose_inmobiliarias <- decompose(ts(data$`Actividades inmobiliarias`, frequency = 4), type = "multiplicative")
plot(decompose_inmobiliarias)

Interpretación de las graficas

  1. Agricultura, ganadería, caza, silvicultura y pesca: La gráfica muestra una clara componente estacional, con un patrón repetitivo en el componente estacional. Además, hay una tendencia creciente en el componente de tendencia.
  2. Explotación de minas y canteras: También se observa un componente estacional, aunque la tendencia no es tan pronunciada como en la serie anterior. Hay una clara estacionalidad presente, y la tendencia parece tener un comportamiento cíclico.
  3. Construcción: La serie presenta un patrón estacional claro y una tendencia que parece tener un aumento seguido de una disminución. La estacionalidad está bien definida.
  4. Actividades financieras y de seguros: La estacionalidad es evidente en la serie, y también hay una tendencia creciente constante.
  5. Actividades inmobiliarias: Esta serie muestra una estacionalidad muy marcada y una tendencia creciente lineal.

Conclusión: Ya que todas las series muestras una estacionalidad se realiza la desestacionalidad de las series mejorando la precisión y la interpretación de las series subyacentes

agricultura_ts <- ts(data$`Agricultura, ganadería, caza, silvicultura y pesca`, start = c(1991, 1), frequency = 4)
minas_ts <- ts(data$`Explotación de minas y canteras`, start = c(1991, 1), frequency = 4)
construccion_ts <- ts(data$Construcción, start = c(1991, 1), frequency = 4)
financieras_ts <- ts(data$`Actividades financieras y de seguros`, start = c(1991, 1), frequency = 4)
inmobiliarias_ts <- ts(data$`Actividades inmobiliarias`, start = c(1991, 1), frequency = 4)

Descomponer y desestacionalizar cada serie

agricultura_stl <- stl(agricultura_ts, s.window = "periodic")
minas_stl <- stl(minas_ts, s.window = "periodic")
construccion_stl <- stl(construccion_ts, s.window = "periodic")
financieras_stl <- stl(financieras_ts, s.window = "periodic")
inmobiliarias_stl <- stl(inmobiliarias_ts, s.window = "periodic")

Extraer las series desestacionalizadas

agricultura_deseasonalized <- agricultura_stl$time.series[, "remainder"]
minas_deseasonalized <- minas_stl$time.series[, "remainder"]
construccion_deseasonalized <- construccion_stl$time.series[, "remainder"]
financieras_deseasonalized <- financieras_stl$time.series[, "remainder"]
inmobiliarias_deseasonalized <- inmobiliarias_stl$time.series[, "remainder"]

Graficar las series desestacionalizadas

par(mfrow = c(3, 2))
plot(agricultura_deseasonalized, main = "Serie de Agricultura Desestacionalizada", ylab = "Agricultura", xlab = "Tiempo")
plot(minas_deseasonalized, main = "Serie de Minas Desestacionalizada", ylab = "Minas", xlab = "Tiempo")
plot(construccion_deseasonalized, main = "Serie de Construcción Desestacionalizada", ylab = "Construcción", xlab = "Tiempo")
plot(financieras_deseasonalized, main = "Serie de Financieras Desestacionalizada", ylab = "Financieras", xlab = "Tiempo")
plot(inmobiliarias_deseasonalized, main = "Serie de Inmobiliarias Desestacionalizada", ylab = "Inmobiliarias", xlab = "Tiempo")

Las gráficas muestran las series desestacionalizadas para cada una de las variables. Podemos observar que la estacionalidad ha sido removida, dejando únicamente los componentes de tendencia y ruido. Esto indica que las series ya no presentan patrones estacionales, lo cual es necesario para aplicar el modelo VEC sin el sesgo de la estacionalidad.

Cargar las series desestacionalizadas

series_desest <- data.frame(
  agricultura = ts(agricultura_deseasonalized),
  minas = ts(minas_deseasonalized),
  construccion = ts(construccion_deseasonalized),
  financieras = ts(financieras_deseasonalized),
  inmobiliarias = ts(inmobiliarias_deseasonalized)
)

Verificación de la cointegración

library(urca)
jo_test <- ca.jo(series_desest, type = "trace", ecdet = "const", K = 2)
summary(jo_test)
## 
## ###################### 
## # Johansen-Procedure # 
## ###################### 
## 
## Test type: trace statistic , without linear trend and constant in cointegration 
## 
## Eigenvalues (lambda):
## [1] 8.004226e-01 6.967397e-01 6.032745e-01 5.631813e-01 4.732564e-01
## [6] 6.661338e-16
## 
## Values of teststatistic and critical values of test:
## 
##            test 10pct  5pct  1pct
## r <= 4 |  48.72  7.52  9.24 12.97
## r <= 3 | 111.67 17.85 19.96 24.60
## r <= 2 | 181.93 32.00 34.91 41.07
## r <= 1 | 272.61 49.65 53.12 60.16
## r = 0  | 395.09 71.86 76.07 84.45
## 
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
## 
##                  agricultura.l2  minas.l2 construccion.l2 financieras.l2
## agricultura.l2        1.0000000  1.000000       1.0000000    1.000000000
## minas.l2              0.7937468 -8.921585       1.3138062   -0.482810574
## construccion.l2      -0.5858332  3.980184       0.2667296   -0.133182046
## financieras.l2        1.5954383 15.984486      -0.2936270   -0.782073642
## inmobiliarias.l2      3.6756893 -5.220032      -7.1903289    0.003203855
## constant             -1.3005105 15.352435      -0.3191591    3.631184763
##                  inmobiliarias.l2      constant
## agricultura.l2          1.0000000     1.0000000
## minas.l2               -1.9180771     0.3993022
## construccion.l2         0.4447663    -0.3783999
## financieras.l2         -1.4890042    -0.5664112
## inmobiliarias.l2       57.1790346    -3.9111293
## constant               28.1160599 -4416.2085255
## 
## Weights W:
## (This is the loading matrix)
## 
##                 agricultura.l2     minas.l2 construccion.l2 financieras.l2
## agricultura.d      -0.27389656 -0.026950480    -0.462238586    -1.02946741
## minas.d            -0.25058857  0.064954707    -0.674092329     0.65693740
## construccion.d      1.20226948 -0.076731509    -1.499944261     0.72658748
## financieras.d      -0.62103013 -0.052344258    -0.113637119     0.37127463
## inmobiliarias.d    -0.05131395  0.005558092    -0.003875617     0.02920095
##                 inmobiliarias.l2      constant
## agricultura.d        -0.03743262  2.333436e-18
## minas.d              -0.03411856 -1.526256e-17
## construccion.d       -0.28894878 -1.131204e-17
## financieras.d         0.02187057  2.450224e-18
## inmobiliarias.d      -0.02213668  7.971156e-19

Interpretación:

• Los coeficientes muestran la relación a largo plazo entre las variables. Por ejemplo, Minas y Financieras tienden a moverse en la misma dirección que Agricultura, mientras que Construcción tiene una relación inversa con Agricultura en el largo plazo.

• Inmobiliarias también muestra una fuerte relación positiva con Agricultura, lo que sugiere que estas dos variables se mueven conjuntamente en el largo plazo.

Matriz de Pesos (W)

La influencia de los errores de cointegración sobre cada una de las series en la ecuación de corrección de errores:

  1. Agricultura: Fuerte ajuste negativo a los errores de cointegración.

  2. Minas: Ajuste negativo, pero menos pronunciado.

  3. Construcción: Ajuste positivo, sugiriendo que responde más fuerte a los errores de cointegración.

  4. Financieras: Ajuste negativo, pero moderado.

  5. Inmobiliarias: Ajuste leve negativo.

Estimación del modelo VEC

vec_model <- ca.jo(series_desest, type = "trace", ecdet = "const", K = 2)
summary(vec_model)
## 
## ###################### 
## # Johansen-Procedure # 
## ###################### 
## 
## Test type: trace statistic , without linear trend and constant in cointegration 
## 
## Eigenvalues (lambda):
## [1] 8.004226e-01 6.967397e-01 6.032745e-01 5.631813e-01 4.732564e-01
## [6] 6.661338e-16
## 
## Values of teststatistic and critical values of test:
## 
##            test 10pct  5pct  1pct
## r <= 4 |  48.72  7.52  9.24 12.97
## r <= 3 | 111.67 17.85 19.96 24.60
## r <= 2 | 181.93 32.00 34.91 41.07
## r <= 1 | 272.61 49.65 53.12 60.16
## r = 0  | 395.09 71.86 76.07 84.45
## 
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
## 
##                  agricultura.l2  minas.l2 construccion.l2 financieras.l2
## agricultura.l2        1.0000000  1.000000       1.0000000    1.000000000
## minas.l2              0.7937468 -8.921585       1.3138062   -0.482810574
## construccion.l2      -0.5858332  3.980184       0.2667296   -0.133182046
## financieras.l2        1.5954383 15.984486      -0.2936270   -0.782073642
## inmobiliarias.l2      3.6756893 -5.220032      -7.1903289    0.003203855
## constant             -1.3005105 15.352435      -0.3191591    3.631184763
##                  inmobiliarias.l2      constant
## agricultura.l2          1.0000000     1.0000000
## minas.l2               -1.9180771     0.3993022
## construccion.l2         0.4447663    -0.3783999
## financieras.l2         -1.4890042    -0.5664112
## inmobiliarias.l2       57.1790346    -3.9111293
## constant               28.1160599 -4416.2085255
## 
## Weights W:
## (This is the loading matrix)
## 
##                 agricultura.l2     minas.l2 construccion.l2 financieras.l2
## agricultura.d      -0.27389656 -0.026950480    -0.462238586    -1.02946741
## minas.d            -0.25058857  0.064954707    -0.674092329     0.65693740
## construccion.d      1.20226948 -0.076731509    -1.499944261     0.72658748
## financieras.d      -0.62103013 -0.052344258    -0.113637119     0.37127463
## inmobiliarias.d    -0.05131395  0.005558092    -0.003875617     0.02920095
##                 inmobiliarias.l2      constant
## agricultura.d        -0.03743262  2.333436e-18
## minas.d              -0.03411856 -1.526256e-17
## construccion.d       -0.28894878 -1.131204e-17
## financieras.d         0.02187057  2.450224e-18
## inmobiliarias.d      -0.02213668  7.971156e-19

Relaciones de Cointegración:

  1. Relaciones de Cointegración:

• Número de relaciones de cointegración: El test de traza indica que existen múltiples relaciones de cointegración, dado que el estadístico de prueba supera los valores críticos para todos los niveles de cointegración sugeridos (r <= 0, r <= 1, etc.).

• Interpretación de las ecuaciones de cointegración: Las relaciones de cointegración muestran cómo una combinación lineal de las variables es estacionaria, a pesar de que las variables por separado no lo sean. En este caso, las ecuaciones de cointegración son:

\[\begin{aligned} &1. \quad \text{Agricultura}_t + 0.7937 \cdot \text{Minas}_t - 0.5858 \cdot \text{Construcción}_t + 1.5954 \cdot \text{Financieras}_t + 3.6757 \cdot \text{Inmobiliarias}_t - 1.3005 \cdot \text{Constante} = 0 \\ &2. \quad \text{Minas}_t - 8.9216 \cdot \text{Agricultura}_t + 3.9802 \cdot \text{Construcción}_t + 15.9845 \cdot \text{Financieras}_t - 5.2200 \cdot \text{Inmobiliarias}_t + 15.3524 \cdot \text{Constante} = 0 \\ &3. \quad \text{Construcción}_t + 1.3138 \cdot \text{Agricultura}_t + 0.2667 \cdot \text{Minas}_t - 0.2936 \cdot \text{Financieras}_t - 7.1903 \cdot \text{Inmobiliarias}_t - 0.3192 \cdot \text{Constante} = 0 \\ &4. \quad \text{Financieras}_t - 0.4828 \cdot \text{Agricultura}_t - 0.1332 \cdot \text{Minas}_t - 0.7821 \cdot \text{Construcción}_t + 0.0032 \cdot \text{Inmobiliarias}_t + 3.6312 \cdot \text{Constante} = 0 \\ &5. \quad \text{Inmobiliarias}_t - 1.9181 \cdot \text{Agricultura}_t + 0.4448 \cdot \text{Minas}_t - 1.4890 \cdot \text{Construcción}_t + 57.1790 \cdot \text{Financieras}_t + 28.1161 \cdot \text{Constante} = 0 \end{aligned}\]

Estas ecuaciones sugieren que las variables se ajustan a ciertas combinaciones específicas que mantienen el equilibrio a largo plazo. Cada relación indica cómo una variable podría estar relacionada con las otras en un equilibrio de largo plazo.

  1. Modelo en Forma Matricial:

El modelo VECM (Vector Error Correction Model) en su forma matricial se puede expresar como:

\[ \Delta X_t = \Pi X_{t-1} + \sum_{i=1}^{k-1} \Gamma_i \Delta X_{t-i} + \mu + \epsilon_t \]

Donde:

  • \(\Delta X_t\) representa las diferencias de las variables en el tiempo \(t\).
  • \(X_{t-1}\) es el vector de las variables en el período anterior.
  • \(\Pi\) es la matriz de cointegración que contiene la información de las relaciones de largo plazo.
  • \(\Gamma_i\) son las matrices de coeficientes de las diferencias rezagadas.
  • \(\mu\) es un vector de constantes.
  • \(\epsilon_t\) es el vector de los términos de error.
  1. Interpretación General:

Significado Económico: El análisis de cointegración sugiere que las variables en el modelo (Agricultura, Minas, Construcción, Financieras, Inmobiliarias) están interrelacionadas y tienden a equilibrarse en el largo plazo. Las ecuaciones de cointegración nos indican cómo estas variables deben interactuar entre sí para mantener un equilibrio.

Conclusión: Las relaciones de cointegración identificadas muestran cómo las variables macroeconómicas o de sectores económicos están conectadas en un equilibrio a largo plazo.Por lo cual, se realizaran pruebas para validar los rezagos y verificar si hay que ajustar el modelo o utilizar un número de rezagos diferentes

Ajustar el modelo VEC con 10 rezagos (según AIC)

Despues de realizar varias pruebas para identificar el mejor número de rezagos, se llega al resultado según AIC de 10, mostrando lo siguiente.

vec_model_10 <- ca.jo(series_desest, type = "trace", ecdet = "const", K = 10)
summary(vec_model_10)
## 
## ###################### 
## # Johansen-Procedure # 
## ###################### 
## 
## Test type: trace statistic , without linear trend and constant in cointegration 
## 
## Eigenvalues (lambda):
## [1]  4.740683e-01  3.983069e-01  1.987720e-01  1.302991e-01  8.097062e-02
## [6] -4.853048e-17
## 
## Values of teststatistic and critical values of test:
## 
##            test 10pct  5pct  1pct
## r <= 4 |   5.74  7.52  9.24 12.97
## r <= 3 |  15.23 17.85 19.96 24.60
## r <= 2 |  30.30 32.00 34.91 41.07
## r <= 1 |  64.85 49.65 53.12 60.16
## r = 0  | 108.54 71.86 76.07 84.45
## 
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
## 
##                   agricultura.l10  minas.l10 construccion.l10 financieras.l10
## agricultura.l10        1.00000000  1.0000000        1.0000000      1.00000000
## minas.l10             -0.01490861  0.3584359        0.1914783      0.62440429
## construccion.l10       0.25969150 -0.2729503        0.6171083      0.03872414
## financieras.l10       -2.89782484  0.7721675       -0.1662508     -1.31570745
## inmobiliarias.l10     -4.87298995 -0.9699954       -2.4240260      4.10783658
## constant              -1.42330668  0.3172977        1.0406044      1.23325772
##                   inmobiliarias.l10     constant
## agricultura.l10            1.000000    1.0000000
## minas.l10                -23.892244   -0.2985852
## construccion.l10           3.967671    1.1428576
## financieras.l10           11.539035   -4.9708640
## inmobiliarias.l10         70.056402    9.1919730
## constant                  25.712971 -125.9116075
## 
## Weights W:
## (This is the loading matrix)
## 
##                 agricultura.l10  minas.l10 construccion.l10 financieras.l10
## agricultura.d        -0.7900605 -2.3788998      -0.67557710     -1.07353084
## minas.d               0.9766432 -2.8453990      -1.04684753     -1.29749035
## construccion.d        1.1717741 11.7096613      -3.78036598     -3.91988627
## financieras.d         1.0529102 -2.2323481      -1.18531297      0.09364435
## inmobiliarias.d       0.3168577  0.1384681       0.08814255     -0.15277076
##                 inmobiliarias.l10      constant
## agricultura.d       -0.0373426810 -6.580793e-13
## minas.d              0.0571598769 -1.219841e-13
## construccion.d       0.0846332934 -1.332659e-13
## financieras.d       -0.0004186168 -3.062918e-13
## inmobiliarias.d     -0.0018673192  2.982746e-14

Extraer y analizar los residuales del nuevo modelo

library(vars)
## Loading required package: MASS
## Loading required package: strucchange
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: sandwich
## Loading required package: lmtest
residuals_vec_10 <- residuals(vec2var(vec_model_10, r = 1))
par(mfrow = c(3, 2))
for (i in 1:ncol(residuals_vec_10)) {
  plot(residuals_vec_10[,i], main = paste("Residuals -", colnames(residuals_vec_10)[i]), ylab = "Residuals", xlab = "Time")
}

Pruebas de autocorrelación (Ljung-Box) para los nuevos residuales

for (i in 1:ncol(residuals_vec_10)) {
  print(paste("Ljung-Box Test for", colnames(residuals_vec_10)[i]))
  print(Box.test(residuals_vec_10[,i], type = "Ljung-Box"))
}
## [1] "Ljung-Box Test for resids of agricultura"
## 
##  Box-Ljung test
## 
## data:  residuals_vec_10[, i]
## X-squared = 0.01956, df = 1, p-value = 0.8888
## 
## [1] "Ljung-Box Test for resids of minas"
## 
##  Box-Ljung test
## 
## data:  residuals_vec_10[, i]
## X-squared = 0.071237, df = 1, p-value = 0.7895
## 
## [1] "Ljung-Box Test for resids of construccion"
## 
##  Box-Ljung test
## 
## data:  residuals_vec_10[, i]
## X-squared = 0.12801, df = 1, p-value = 0.7205
## 
## [1] "Ljung-Box Test for resids of financieras"
## 
##  Box-Ljung test
## 
## data:  residuals_vec_10[, i]
## X-squared = 0.0011126, df = 1, p-value = 0.9734
## 
## [1] "Ljung-Box Test for resids of inmobiliarias"
## 
##  Box-Ljung test
## 
## data:  residuals_vec_10[, i]
## X-squared = 3.6149, df = 1, p-value = 0.05726

Prueba de normalidad (Jarque-Bera) para los nuevos residuales

for (i in 1:ncol(residuals_vec_10)) {
  print(paste("Jarque-Bera Test for", colnames(residuals_vec_10)[i]))
  print(jarque.bera.test(residuals_vec_10[,i]))
}
## [1] "Jarque-Bera Test for resids of agricultura"
## 
##  Jarque Bera Test
## 
## data:  residuals_vec_10[, i]
## X-squared = 2.4307, df = 2, p-value = 0.2966
## 
## [1] "Jarque-Bera Test for resids of minas"
## 
##  Jarque Bera Test
## 
## data:  residuals_vec_10[, i]
## X-squared = 0.11961, df = 2, p-value = 0.9419
## 
## [1] "Jarque-Bera Test for resids of construccion"
## 
##  Jarque Bera Test
## 
## data:  residuals_vec_10[, i]
## X-squared = 1.8344, df = 2, p-value = 0.3996
## 
## [1] "Jarque-Bera Test for resids of financieras"
## 
##  Jarque Bera Test
## 
## data:  residuals_vec_10[, i]
## X-squared = 1.4486, df = 2, p-value = 0.4847
## 
## [1] "Jarque-Bera Test for resids of inmobiliarias"
## 
##  Jarque Bera Test
## 
## data:  residuals_vec_10[, i]
## X-squared = 0.3765, df = 2, p-value = 0.8284

Conclusión de la Prueba de Ljung-Box (Autocorrelación):

La prueba de Ljung-Box aplicada a los residuales del modelo VEC con 10 rezagos ha mostrado que no existe evidencia significativa de autocorrelación en las series temporales analizadas. Los p-valores obtenidos en todas las series (Agricultura, Minas, Construcción, Financieras, e Inmobiliarias) son superiores a 0.05, lo que indica que los residuales se comportan como ruido blanco. Esto sugiere que el modelo ha capturado de manera efectiva la estructura temporal de las series, eliminando la autocorrelación que estaba presente en modelos anteriores con menos rezagos.

Conclusión de la Prueba de Jarque-Bera (Normalidad):

La prueba de Jarque-Bera aplicada a los residuales del modelo VEC con 10 rezagos también ha mostrado resultados favorables. Los p-valores obtenidos para todas las series son superiores a 0.05, lo que indica que no hay evidencia significativa de que los residuales se desvíen de una distribución normal. Este resultado es importante, ya que la normalidad de los residuales es un supuesto clave en muchos análisis econométricos, y su cumplimiento sugiere que el modelo es adecuado para inferencias y predicciones.

Conclusión Final sobre el Modelo VEC con 10 Rezagos:

El modelo VEC ajustado con 10 rezagos ha demostrado ser un modelo robusto y adecuado para capturar las dinámicas interrelacionadas de las variables económicas seleccionadas (Agricultura, Minas, Construcción, Financieras, e Inmobiliarias). La inclusión de un mayor número de rezagos ha mejorado significativamente el comportamiento de los residuales, eliminando la autocorrelación y asegurando la normalidad. Estos resultados sugieren que el modelo es capaz de proporcionar una representación precisa de las relaciones de largo plazo entre las variables, así como de realizar predicciones confiables. En resumen, el modelo VEC con 10 rezagos ofrece una base sólida para el análisis económico y la toma de decisiones informadas.

Convertir el modelo VEC a un VAR temporal para usar la función IRF

Para finalizar y realizar las pruebas de impulso se debe convertir el modelo VEC a un VAR temporalmente para mejorar los resultados

vec_var_model <- vec2var(vec_model_10, r = 1)

Generar las funciones de respuesta al impulso

irf_results <- irf(vec_var_model, impulse = "agricultura", response = c("minas", "construccion", "financieras", "inmobiliarias"), n.ahead = 20, boot = TRUE)
plot(irf_results)

Función de Respuesta al Impulso (IRF):

En la gráfica de la IRF, estamos viendo cómo las variables Minas, Construcción, Financieras, e Inmobiliarias responden a un shock en la variable Agricultura:

• Minas: La respuesta de “Minas” a un shock en “Agricultura” oscila alrededor de cero y parece ser bastante estable. No se observa un impacto prolongado o fuerte, lo que sugiere que un shock en “Agricultura” tiene un efecto limitado y transitorio en “Minas”.

• Construcción: La respuesta de “Construcción” también muestra oscilaciones alrededor de cero, con algunos picos y valles. Esto indica una reacción transitoria, pero un poco más pronunciada que en el caso de “Minas”. Sin embargo, el impacto sigue siendo de corta duración.

• Financieras: La variable “Financieras” muestra una respuesta aún más moderada, con una respuesta que se mantiene cercana a cero. Esto indica que los shocks en “Agricultura” no tienen un impacto significativo o duradero en el sector financiero.

• Inmobiliarias: la respuesta es prácticamente nula, lo que sugiere que los shocks en “Agricultura” no influyen significativamente en esta variable.

Interpretación General del IRF:

• En conjunto, los resultados sugieren que un shock en “Agricultura” no tiene efectos duraderos o fuertes en las demás variables del modelo. Esto podría implicar que estas variables están relativamente desvinculadas de las fluctuaciones a corto plazo en el sector agrícola, o que las interacciones entre estos sectores son débiles.

Generar la descomposición de varianza

fevd_results <- fevd(vec_var_model, n.ahead = 20)
plot(fevd_results)

### Descomposición de Varianza (FEVD):

La gráfica de FEVD muestra cómo se distribuye la varianza de cada variable a lo largo del tiempo, desglosando qué porcentaje es explicado por shocks en cada una de las variables del modelo:

• Agricultura: La mayor parte de la varianza de “Agricultura” es explicada por sí misma, lo que es esperado. Sin embargo, otras variables contribuyen muy poco, lo que refuerza la idea de que “Agricultura” es una variable bastante autónoma en el contexto del modelo.

• Minas: Similar a “Agricultura”, la mayor parte de la varianza de “Minas” es explicada por sus propios shocks, con contribuciones mínimas de las demás variables.

• Construcción: “Construcción” sigue un patrón similar, con la mayor parte de la varianza explicada por sí misma. Sin embargo, parece haber una ligera influencia de “Financieras” y “Minas”.

• Financieras: La varianza de “Financieras” es explicada predominantemente por sus propios shocks, con poca influencia de las demás variables.

• Inmobiliarias: La variable “Inmobiliarias” también muestra que su varianza es mayormente explicada por sí misma, con una influencia prácticamente nula de las demás variables.

Interpretación General del FEVD:

La descomposición de la varianza refuerza la idea de que cada variable en el modelo es principalmente influenciada por sus propios shocks, y las interacciones entre variables tienen un efecto mínimo en la varianza explicada. Esto sugiere que las variables seleccionadas operan en gran medida de manera independiente en este contexto.

Realizar predicciones manualmente para 4 trimestres adelante

library(forecast)
predictions <- predict(vec_var_model, n.ahead = 4)

Extraer los valores predichos y sus intervalos de confianza

pred_vals <- predictions$fcst

par(mfrow = c(3, 2))  # Configurar la pantalla para varias gráficas

for (var_name in names(pred_vals)) {
  plot(pred_vals[[var_name]][,1], type = "l", col = "blue", ylim = range(c(pred_vals[[var_name]][,2], pred_vals[[var_name]][,3])),
       main = paste("Predictions for", var_name), xlab = "Time", ylab = "Value")
  lines(pred_vals[[var_name]][,2], col = "red", lty = 2)  # Límites inferiores del intervalo de confianza
  lines(pred_vals[[var_name]][,3], col = "red", lty = 2)  # Límites superiores del intervalo de confianza
}

  1. Agricultura: La predicción muestra un incremento en el valor en el segundo trimestre seguido por una ligera disminución en los trimestres posteriores. Sin embargo, las fluctuaciones son moderadas y los intervalos de confianza sugieren una cierta incertidumbre en la predicción.

  2. Minas: El valor predicho muestra un descenso inicial hasta el segundo trimestre, seguido de un aumento. Esta tendencia indica una posible recuperación después de una caída inicial. Los intervalos de confianza son amplios, lo que refleja incertidumbre.

  3. Construcción: Se observa un patrón similar con una caída inicial en los primeros trimestres y una recuperación en los siguientes. Los intervalos de confianza son también amplios, pero indican una posible reversión de la tendencia negativa.

  4. Financieras: La predicción muestra un descenso inicial seguido por un aumento en los trimestres posteriores. Este patrón es consistente con lo observado en otras variables, lo que podría sugerir un comportamiento cíclico en la economía.

  5. Inmobiliarias: presenta un comportamiento más estable, con fluctuaciones menores comparadas con las otras variables. La predicción muestra una ligera oscilación con intervalos de confianza estrechos, sugiriendo mayor certidumbre en esta predicción.

Conclusión General:

El análisis realizado sobre las variables del PIB utilizando el modelo VEC (Vector Error Correction) revela relaciones de cointegración entre las series temporales seleccionadas. Esto sugiere que, a pesar de las diferencias a corto plazo, estas variables tienden a moverse juntas en el largo plazo, manteniendo un equilibrio. La cointegración encontrada indica que existen mecanismos de corrección de errores que permiten a las variables ajustarse a desviaciones temporales de este equilibrio.

Al aplicar el modelo VEC, observamos cómo los choques a corto plazo en una variable pueden influir en las otras, pero con la tendencia de volver al equilibrio en el largo plazo. Este comportamiento es consistente con la teoría económica que sugiere que sectores interrelacionados, como los analizados aquí (Agricultura, Construcción, Finanzas, etc.), están conectados a través de vínculos económicos y, por lo tanto, no pueden desviarse indefinidamente unos de otros.

Las pruebas de diagnóstico aplicadas al modelo también nos ayudan a validar la robustez del ajuste. Aunque algunas pruebas indicaron la presencia de problemas como la no normalidad de los residuales, el modelo en general proporciona una representación adecuada de las relaciones dinámicas y de largo plazo entre las variables del PIB seleccionadas.

Es importante resaltar que el uso de variables ficticias estacionales o la desestacionalización de las series se ha seguido el enfoque de desestacionalización para mejorar la precisión y la interpretación del modelo.

En resumen, el modelo VEC aplicado nos permite entender y modelar las relaciones a largo plazo entre los diferentes sectores económicos representados por las series temporales del PIB, y confirma la importancia de considerar la cointegración en el análisis de datos económicos interrelacionados.