UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA

Cointegración y Causalidad
Asignatura: Métodos para el Análisis Económico
Docente: Carlos Ademir Perez Alas
Karla Lizeth Sandoval García - SG22017
Ricardo Jose Mendez Lopez -
ML21027
Carlos Felipe Belloso Castillo - BC23009
Grupo: GT02
1. Prueba de Dickey Fuller
La prueba Dickey-Fuller aumentada (dfuller var) es un test exigente. Tiene la ventaja de que la hipótesis nula no es si la serie es o no ruido blanco, sino si tiene una raíz unitaria. Montero. R (2013). El fin de la prueba de Dickey Fuller es detectar si una serie de tiempo contiene raiz unitaria y con ello validar si la misma serie presenta estacionariedad o no (la estacionariedad basicamente hace alusion a la presencia de un patron en una serie de tiempo)
En este mismo sentido, se nos presentan 3 ecuaciones que representan un modelo diferente cada una de ellas.
modelo 1
\(dx_{t} = r x_{t-l} + \sum_{i=1}^{p} b dx_{t-i} + u_{t}\)
Este modelo no presenta intercepto ni tendencia, esta version de la prueba es la mas retrictiva dado que asume que la serie x_{t} no tiene tendencia deterministica ni una media distinta de cero.
Modelo 2
\(dx_t = a_o + r x_{t-l} + \sum_{i=1}^{p} b dx_{t-i} + u_t\)
Este modelo es menos restrictivo que el anterior, de hecho, permite que la serie \(x_t\) tenga una media distinta de cero
Modelo 3
\(dx_t = a_o + r x_{t-l} + a_1 t + \sum_{i=1}^{p} b dx_{t-i} + u_t\)
Este modelo permite que la serie \(x_t\) tenga una tendencia determinística y una media distinta de cero. Esta es la versión más aconsejable si el gráfico de la serie sugiere una tendencia, ya que si existe tendencia y no se incluye, la prueba puede estar sesgada.
Criterio de decision
El criterio de decision la prueba de raiz unitaria se centra en el estadistico t el cual se calcula para el estadistico \(r\) en las ecuaciones que se mencionaron anteriormente, lo importante es que este estadistico se compara con los valores criticos de Dickey Fuller.
El estadistico \(t\) se calcula de la siguiente manera
\[\tau = \frac{\hat{r}}{\text{E.S.}(\hat{r})}\]
donde:
\(\hat{r}\) es el valor estimado del coeficiente para el término rezagado (\(x_{t-1}\)).
\(\text{E.S.}(\hat{r})\) es el error estándar de ese estimador.
Hipotesis nula: \(r=0\) La serie tiene raiz unitaria y es no estacionaria
Hipotesis alternativa: \(\mathbf{r < 0}\) la serie es estacionaria
Esta prueba es unilateral a la izquierda, por lo que, se busca que \(r\) sea significativamente negativo.
Se rechazaria la hipotesis nula si el valor del estadistico \(r\) es mas negativo que el valor critico, asi mismo, se puede utilizar el criterio de p-value, si \(p-value < \alpha\) se rechaza la hipotesis nula, por lo que la serie seria estacionaria; asi mismo si \(p-value \ge \alpha\) no se rechaza la hipotesis nula, es decir, la serie es no estacionaria.
Implementando ejemplo y sintaxis en R
library(tseries)
# Cargando la serie de tiempo "Nile" que muestra el flujo anual del rio Nilo, que ya esta cargada en R
prueba_dickey_fuller <- adf.test(Nile, alternative = "stationary", k = 1)
# el argumento stationary hace referencia a establecer la H1, k hace referencia al numero de rezagos que se utilizaran, en este caso utilizaremos 1 rezago.
print(prueba_dickey_fuller)##
## Augmented Dickey-Fuller Test
##
## data: Nile
## Dickey-Fuller = -4.7908, Lag order = 1, p-value = 0.01
## alternative hypothesis: stationary
En este caso nosotros utilizaremos un nivel de significancia del 5%, dicho esto podemos partir del criterio de decision utilizando el \(p-value\), en este mismo sentido, dado que \(p-value < \alpha\) se rechaza la hipotesis nula, es decir que existe suficiente evidencia estadistica que demuestra que la serie es estacionaria
2. Cointegración en el enfoque de Soren Johansen.
El enfoque de Soren Johansen es un procedimiento basado en un modelo de vectores autorregresivos (VAR). Su objetivo es determinar cuántas relaciones de equilibrio a largo plazo (vectores de cointegración) existen entre un grupo de variables que individualmente son no estacionarias (\(I(1)\)).
Según S. Johansen, es necesario analizar las series previamente con el fin de conocer si presentan o no raíces unitarias. Las series que presenten raíces unitarias se colocan en un vector autorregresivo a partir del cual se puede probar la existencia de una o mas combinaciones lineales J(U) o vectores de cointegración, como también se les denomina.
la mayor parte de las series temporales son no estacionarias y las técnicas convencionales de regresión basadas en datos no estacionarios tienden a producir resultados espurios. Sin embargo, las series no estacionarias pueden estar cointegradas si alguna combinación lineal de las series llega a ser estacionaria.
Esta es la ecuación general que deberías incluir en tu metodología: \[\Delta Y_{t} = \Pi Y_{t-1} + \sum_{i=1}^{p-1} \Gamma_{i} \Delta Y_{t-i} + \mu + \varepsilon_{t}\] Donde: \(\Delta Y_{t}\): Es el vector de variables en primeras diferencias (cambios a corto plazo). \(\Pi\): Es la matriz de impacto a largo plazo (aquí está la clave de la cointegración). \(\Gamma_{i}\): Matrices de coeficientes dinámicos a corto plazo. \(\varepsilon_{t}\): Vector de errores (ruido blanco).
Metodología:
Determinar el orden de integración de cada una de las series incluidas en el modelo.
Con aquellas variables que resulten de orden 1, formar un vector autorregresivo VAR. En tal caso:
Seleccionar las variables del modelo. Realizar las transformaciones de las variables, sí las hay. Determinar el retardo óptimo del VAR que asegure que los residuos son ruido blanco (white noise). Especificar las variables determinísticas.(variables dummy, tendencias etc.) *Hacer un diagnóstico del VAR estimado. 3. Aplicar el procedimiento de máxima verosimilitud al VAR para determinar el rango(r) de cointegración del sistema.
Prueba de la traza Prueba del máximo valor propio(eigenvalue)
Estimar el vector de corrección de erróres.
Determinarla relación causal entre las variables incluidas en el modelo
Hipótesis de la prueba.
\(H0:r=0H0:r=0\), lo que quiere decir que no existe presencia de cointegracion entre las variables.
\(H1:r>0H1:r>0\), lo que quiere decir que existe presencia de cointegracion entre las variables.
Sintaxis de implementación en R.
## [1] "mts" "ts"
## e prod rw U
## [1,] 929.6105 405.3665 386.1361 7.53
## [2,] 929.8040 404.6398 388.1358 7.70
## [3,] 930.3184 403.8149 390.5401 7.47
## [4,] 931.4277 404.2158 393.9638 7.27
## [5,] 932.6620 405.0467 396.7647 7.37
## [6,] 933.5509 404.4167 400.0217 7.13
# Seleccionamos el rezago óptimo
rezagos_optimos <- VARselect(Canada, lag.max = 8, type = "both")
rezagos_optimos$selection## AIC(n) HQ(n) SC(n) FPE(n)
## 3 2 1 3
# Ejecución de la prueba
johansen_test <- ca.jo(Canada,
type = "trace", # Prueba de la Traza
ecdet = "trend", # Asumimos tendencia por lo visto en el gráfico
K = 3, # Rezagos sugeridos por AIC (ejemplo)
spec = "longrun")
# Mostrar los resultados
summary(johansen_test)##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , with linear trend in cointegration
##
## Eigenvalues (lambda):
## [1] 4.505013e-01 1.962777e-01 1.676668e-01 4.647108e-02 -6.272159e-17
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 3 | 3.85 10.49 12.25 16.26
## r <= 2 | 18.72 22.76 25.32 30.45
## r <= 1 | 36.42 39.06 42.44 48.45
## r = 0 | 84.92 59.14 62.99 70.05
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## e.l3 prod.l3 rw.l3 U.l3 trend.l3
## e.l3 1.00000 1.0000000 1.0000000 1.00000000 1.00000000
## prod.l3 -41.92624 0.7723987 -0.3468422 0.23574849 -0.12062153
## rw.l3 -76.94645 -0.2572818 -0.4848433 -0.03286331 -0.29511866
## U.l3 -132.85358 2.6289928 2.5757023 1.61283935 1.51474627
## trend.l3 54.56956 -0.1778682 0.1766543 -0.37545112 -0.03414891
##
## Weights W:
## (This is the loading matrix)
##
## e.l3 prod.l3 rw.l3 U.l3 trend.l3
## e.d 0.0002028169 0.14777357 0.02351692 0.01691655 7.361959e-11
## prod.d 0.0001558757 -0.03577746 0.20463284 -0.06258514 1.115569e-10
## rw.d 0.0011022537 -0.18875801 0.04885538 0.05046075 6.961516e-11
## U.d 0.0001125446 -0.07967784 -0.05973735 -0.02781459 -4.682309e-11
# Estimamos el modelo VECM imponiendo r = 1 (basado en el paso anterior)
vecm_model <- cajorls(johansen_test, r = 1)
# Ver los coeficientes de largo plazo (Beta)
vecm_model$beta## ect1
## e.l3 1.00000
## prod.l3 -41.92624
## rw.l3 -76.94645
## U.l3 -132.85358
## trend.l3 54.56956
Criterio de Decisión
El criterio se basa en comparar el Estadístico de Prueba (test) contra el Valor Crítico al 5% (5pct).Regla de Rechazo: Si test > 5pct, se RECHAZA la Hipótesis Nula (\(H_0\)).Regla de No Rechazo: Si test < 5pct, NO SE RECHAZA la Hipótesis Nula (\(H_0\)).
Evaluar Hipótesis Nula \(H_0: r = 0\) (No existe cointegración)
Estadístico (test): 84.92Valor Crítico (5pct): 62.99 Decisión: Como \(84.92 > 62.99\), el estadístico cae en la zona de rechazo.
Se rechaza \(H_0\). Con un 95% de confianza, existe evidencia de que hay al menos 1 vector de cointegración.
Evaluar Hipótesis Nula \(H_0: r \le 1\) (Existe a lo sumo 1 vector) Estadístico (test): 36.42Valor Crítico (5pct): 42.44Decisión: Como \(36.42 < 42.44\), el estadístico es menor que el valor crítico.
No se rechaza \(H_0\). La evidencia estadística sugiere que el número de vectores de cointegración es menor o igual a 1.
Conclusión: Dado que rechazamos que \(r=0\) pero no pudimos rechazar que \(r \le 1\), la conclusión definitiva de este análisis es:Existe exactamente 1 vector de cointegración (\(r=1\)) entre las variables analizada
3. Causalidad en el sentido de GRANGER
Propósito de la prueba
La prueba de causalidad de Granger se utiliza para examinar si una serie temporal puede utilizarse para pronosticar otra. (finnstats, 2021)
Ordóñez (2009) expone la “causalidad de Granger” es cuado se desea saber un par de relaciones sencillas entre la variable X y Y, primero desde la variable X explicando la variable Y y luego Y explicando a X, se obtienen dos componentes de causalidad:
- La causa ocurre antes que el efecto.
- La causa contiene información sobre el efecto que es única y no esta en otra variable.
Por lo cual, una variable causal puede contribuir a la predicción de la variable efecto. Así surge la definición de causalidad de Granger siendo causalidad no en sentido estricto sino en predictibilidad.
La imposición axiomática de un orden temporal es lo que permite interpretar la dependencia estocástica (correlación) como una conexión causal, ya que la correlación es simétrica, pero la “flecha del tiempo impone la estructura necesaria”. La gran ventaja de la definición de causalidad de Granger es que es directamente comprobable a partir de datos observados (Durlauf & Blume, 2012). En la práctica, la prueba busca determinar si la adición de valores rezagados de la variable X mejora la predicción de los valores futuros de la variable Y, más allá de lo que se podría lograr utilizando únicamente los valores pasados de Y y otras variables de información relevante (Z) (finnstats ,2021)
Hipótesis de la prueba.
De acuerdo con Finnstasts (2021), la prueba de causalidad de Granger se formula mediante la comparación de las varianzas del error de predicción o, de forma más general, mediante restricciones de independencia condicional.
\(H_0:\) La serie temporal X no causa que la serie temporal Y se cause en sentido de Granger
Afirmación de no predectibilidad: Los valores pasados de la srie X no añaden información estadísticamente significativa al predecir el valor actual o futuro de Y, una vez que se hayan considerado los valores pasados de Y. Al no rechazar la hipótesis nula se concluye que X no ayuda a pronosticar a Y, por lo tanto, X no causa a Y en el sentido de Granger
\(H_1\): La serie tmeporal X causa que la serie temporal Y se convierta en causa de Granger
Afirmación de predictibilidad: Los valores pasados de X sí contienen información estadísticamente significativa que es útil para mejorar la predicción de Y, más allá de la información contenida en los propios rezagos de Y. Al rechazar la hipótesis nula se concluye que X sí causa a Y en el sentido de Granger, por lo cual, X es útil para pronósticar a Y.
Formalmente, la condición de no-causalidad de Granger, basada en el criterio de la varianza del error de predicción (PV) (Durlauf & Blume, 2012), es:
\(s^2(y_{t+1}|Y_t^{-1},\ X_t^{-1},Z_t^{-1})\ =\ s^2(y_{t+1}|Y_t^{-1},Z_t^{-1})\)
Sintaxis de implementación en R.
En base a Finnstasts (2021) en R, la prueba de causalidad de Granger se implementa usando la función \(grangertest()\) del paquete lmtest
Sintaxis general
grangertest(Y ~ X, order = p, data = datos)
- Y (o X en la primera posición):La variable dependiente o la segunda serie temporal cuyo pronóstico se está probando.
- X (o Y en la segunda posición): La variable predictora o la primera serie temporal que se evalúa si tiene poder predictivo sobre Y
- order: El número de retardos (lags) a utilizar. Este es el número de rezagos pasados de la variable predictora (X) que se incluyen en el modelo. El valor predeterminado (default) es 1
Nota sobre la sintaxis de R: Cuando se utiliza la notación de fórmula en R \(grangertest\) (DAX ~ SMI, order = 3, data = tsData), la variable DAX es la variable de resultado (Y) y SMI es la variable predictora (X). El orden especifica el número de retardos usados para ambas series en los modelos que se comparan.
Estadístico de prueba.
La prueba de causalidad de Granger genera un estadístico de prueba F.
En la salida de R, el valor del estadístico de prueba F se encuentra bajo la columna F.
Criterio de decisión.
El criterio de decisión se basa en el valor p.El valor p correspondiente al estadístico F se denota en la salida de R bajo la columna Pr(>F).
Criterio: Si el valor p (Pr(>F)) es menor que un nivel de significancia particular (por ejemplo, α=0.05), se puede rechazar la hipótesis nula.
Ejemplo de salida de R (SMI predice DAX):
- Valor p: Pr(>F) 1.322e-05. Dado que 1.322e−05 es un valor muy pequeño (mucho menor que 0.05), se rechaza la hipótesis nula. Los asteriscos (***) también indican un alto nivel de significancia.
Interpretación del rechazo, o no rechazo de la Hipótesis Nula de la prueba.
Rechazo de \(H_0\)
Si el p-valor es bajo y se rechaza la hipótesis nula (\(H_0\) de no-causalidad), la conclusión es que la serie temporal X Granger-causa la serie temporal Y.
Por lo cual, se infiere que conocer los valores de X es valioso para pronosticar los valores futuros de Y.
No Rechazo de \(H_0\)
Si el p-valor es alto (mayor o igual al nivel de significancia, por ejemplo, 0.05), no se rechaza la hipótesis nula (\(H_0\)).
Se concluye que la serie X no proporciona un poder predictivo significativo para Y más allá de la información ya contenida en Y misma y otras covariables, por lo que X no Granger-causa Y.
Implementación de un ejemplo.
Se retoma el ejemplo expuesto en “Granger Causality Test in R (with Example)” (finnstats ,2021). Con el conjunto de datos EuStockMarkets, que contiene valores para DAX y SMI (entre otros), para examinar si los valores de SMI predicen los valores de DAX en el futuro.
Realizar la prueba de causalidad de Granger (SMI causa DAX) utilizando el orden (lags) 3 (order = 3)
## Granger causality test
##
## Model 1: DAX ~ Lags(DAX, 1:3) + Lags(SMI, 1:3)
## Model 2: DAX ~ Lags(DAX, 1:3)
## Res.Df Df F Pr(>F)
## 1 1850
## 2 1853 -3 8.4968 1.322e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Se concluye que el estadístico F es 8.4968 y el p-valor Pr(>F) es 1.322e−05. Dado que el p-valor (1.322e−05) es menor que 0.05, se rechaza la hipótesis nula. Se infiere que conocer los valores de SMI es valioso para pronosticar los valores futuros de DAX
Para descartar la posibilidad de causalidad inversa o retroalimentación (feedback), se utiliza DAX como variable predictora y SMI como variable de respuesta
## Granger causality test
##
## Model 1: SMI ~ Lags(SMI, 1:3) + Lags(DAX, 1:3)
## Model 2: SMI ~ Lags(SMI, 1:3)
## Res.Df Df F Pr(>F)
## 1 1850
## 2 1853 -3 2.6576 0.04689 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Entonces, el p-valor del test es 0.04689. Dado que este valor es menor que 0.05, se rechaza la hipótesis nula. Esto indica que los valores de DAX predicen los valores de SMI en el futuro
En este ejemplo particular, se detecta causalidad en ambas direcciones (SMI predice DAX, y DAX predice SMI), una situación que Granger (1969) define como una forma de retroalimentación (feedback).