Métodos para el Análisis Económico
GT-01
MSF Carlos Ademir Pérez Alas
Rosa Audelia Hernández Herrera — HH23026
Fátima Carolina Guillén Aguilar — GA22013
José Ricardo Vides Hernández — VH22011
La prueba de Dickey-Fuller (DF) y Dickey-Fuller Aumentada (ADF) se utiliza para:
El ADF puede estimarse en tres versiones, dependiendo de si se incluye constante y/o tendencia
Modelo A (tendencia + constante)
\[\mathrm{\Delta}y_t=δ_0+δ_1T+αy_{t-1}+\sum_{i=1}^{k} \gamma_k \Delta y_{t-k} + \varepsilon_t\ \] Modelo B (solo constante)
\[\mathrm{\Delta}y_t=αy_{t-1}+\sum_{i=1}^{k} \gamma_k \Delta y_{t-k} + \varepsilon_t\ \] Modelo C (sin constante ni tendencia)
\[\mathrm{\Delta}y_t=δ_0+αy_{t-1}+\sum_{i=1}^{k} \gamma_k \Delta y_{t-k} + \varepsilon_t\ \]
El parámetro clave es \(\alpha\) que acompaña a \(y_{t-1}\).
Hipotesis Nula \[H_0 : \alpha = 0\] (La serie tiene raíz unitaria \(\rightarrow\) es no estacionaria)
Hipotesis Alternativa \[H_1 : \alpha < 0\] (La serie es estacionaria)
Interpretación
Sintaxis
library(urca)
objeto <- ur.df(
y,
type = “trend”, # “none”, “drift” o “trend”
lags = 3, # número de rezagos del ADF
selectlags = “AIC” # opcional: selección automática )
Explicación de los argumentos
type: Define si el modelo incluye
“none” → sin constante ni tendencia
“drift” → solo constante
“trend” → constante + tendencia
lags
Número de rezagos de \(\mathrm{\Delta}y_t\), es decir\(\mathrm{\Delta}y_{t-1}\),\(\mathrm{\Delta}y_{t-2}\),…
Más rezagos → mayor corrección de autocorrelación
selectlags
Deja que R escoja los rezagos automáticamente usando AIC.
\[DF = \frac{\hat{\alpha}}{se(\hat{\alpha})}\]
Salida en R
Dickey-Fuller = -3.25
Se utiliza el p-value que entrega R:
Si p-value < 0.05 Se rechaza la hipotesis nula (\(H_0\)). Es decir, la serie es estacionaria.
Si p-value ≥ 0.05 → No se rechaza la hipotesis nula (\(H_0\)). Es decir, la serie tiene raíz unitaria, es no estacionaria.
Si se rechaza \(H_0\): La serie es estacionaria (media, varianza y autocorrelación aproximadamente constantes en el tiempo).
Si no se rechaza \(H_0\): La serie tiene raíz unitaria (no estacionaria). Es decir, las propiedades estadísticas varían con el tiempo, por lo que no conviene estimar modelos en niveles (riesgo de regresiones espurias).
#Preparación de la data: Usamos la serie "JohnsonJohnson" (ganancias trimestrales de Johnson & Johnson).
data("JohnsonJohnson")
ganancias_JJ <- JohnsonJohnson
library(urca)
# Prueba Dickey-Fuller SIMPLE
df_simple <- ur.df(ganancias_JJ, type = "drift", lags = 0)
# Resultados
summary(df_simple)##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.5290 -0.5052 -0.1515 0.2911 6.3192
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.34657 0.23304 1.487 0.141
## z.lag.1 -0.04563 0.03672 -1.242 0.218
##
## Residual standard error: 1.42 on 81 degrees of freedom
## Multiple R-squared: 0.0187, Adjusted R-squared: 0.006584
## F-statistic: 1.543 on 1 and 81 DF, p-value: 0.2177
##
##
## Value of test-statistic is: -1.2424 1.1267
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.51 -2.89 -2.58
## phi1 6.70 4.71 3.86
Antes de hacer el análisis de prueba de hipotesis es relevante establecer el nivel de significancia al 5% (nivel estandar); ahora sí, pasemos al análisis:
Los resultados de la prueba Dickey–Fuller simple indican que el estadístico τ obtenido (–1.2424) es mayor que los valores críticos al nivel de significancia de 1%, 5% y 10% (-3.51, -2.89 y -2.58 respectivamente). Esto implica que no existe suficiente evidencia estadística para rechazar la hipótesis nula de presencia de raíz unitaria. En consecuencia, la serie utilizada no puede considerarse estacionaria bajo la prueba DF simple y mantiene un comportamiento no estacionario, consistente con procesos con tendencia estocástica
library(urca)
# Prueba Dickey-Fuller AUMENTADA (ADF)
adf_test <- ur.df(ganancias_JJ, type = "trend", lags = 4)
# Resultados
summary(adf_test)##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression trend
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.27267 -0.17348 0.01381 0.12299 1.18302
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.088498 0.136166 -0.650 0.5178
## z.lag.1 0.073336 0.037956 1.932 0.0573 .
## tt 0.010052 0.006304 1.595 0.1152
## z.diff.lag1 -1.069854 0.131507 -8.135 8.57e-12 ***
## z.diff.lag2 -1.012388 0.145806 -6.943 1.41e-09 ***
## z.diff.lag3 -1.006500 0.143949 -6.992 1.14e-09 ***
## z.diff.lag4 0.092346 0.141368 0.653 0.5157
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4127 on 72 degrees of freedom
## Multiple R-squared: 0.9262, Adjusted R-squared: 0.92
## F-statistic: 150.5 on 6 and 72 DF, p-value: < 2.2e-16
##
##
## Value of test-statistic is: 1.9321 16.7049 19.2758
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau3 -4.04 -3.45 -3.15
## phi2 6.50 4.88 4.16
## phi3 8.73 6.49 5.47
Antes de hacer el análisis de prueba de hipotesis es relevante establecer el nivel de significancia al 5% (nivel estandar); ahora sí, pasemos al análisis:
Los resultados de la prueba Dickey–Fuller Aumentada indican que el estadístico τ obtenido (1.9321) es mayor que los valores críticos al 1%, 5% y 10% (−4.04, −3.45 y −3.15 respectivamente). Estos resultados impiden rechazar la hipótesis nula de raíz unitaria, concluyéndose que la serie es no estacionaria en su nivel original.
El enfoque de Johansen es un método econométrico diseñado para analizar si un conjunto de series temporales no estacionarias (generalmente I(1)) mantiene relaciones de equilibrio de largo plazo, llamadas vectores de cointegración. La idea central es que, aunque cada variable pueda tener una tendencia estocástica y evolucionar de manera aparentemente independiente, pueden existir combinaciones lineales de estas series que sí son estacionarias, lo que refleja que las variables se mueven juntas y no se separan indefinidamente (Mata, s.f.).
Según Mata (s.f.), el enfoque de Johansen, desarrollado dentro de un marco multivariado, tiene el siguiente propósito:
-Determinar cuántas relaciones de cointegración existen dentro de un sistema de variables variables 𝐼(1)
-Estimarlas simultáneamente mediante máxima verosimilitud, usando un Modelo Autorregresivo Vectorial (VAR) reescrito como un Modelo de Corrección de Error (VECM).
-Evitar las limitaciones del enfoque Engle-Granger, que sólo permite un vector de cointegración y depende de cuál variable se coloca como dependiente. (Hl mata, nociones fundamentales)
De acuerdo con Johansen, aunque las series económicas sean normalmente no estacionarias, pueden estar enlazadas por fuerzas económicas que las mantienen cerca de un equilibrio común. Su método permite evaluar formalmente ese equilibrio común y las interacciones dinámicas de corto y largo plazo.
\(Y = \mu + A_{1} + Y_{t-1} + \nu _{t}\) donde:
-\(A_{1}\) es una matriz 𝑚×𝑚
-\(\nu _{t}\) es ruido blanco multivariado
Johansen transforma este VAR restando \(Y_{t-1}\) de ambos lados:
\(Y_{t} - Y_{t-1} = \mu + A_{1}Y_{t-1} - Y_{t-1} + \nu _{t}\)
De esta forma se obtiene:
\(\Delta Y_{t}= \mu + A_{1}Y_{t-1} + \nu _{t}\)
donde:
\(A = -I + A_{1}\)
Esta ecuación es un Mecanismo de Corrección de Error (ECM), pero ahora expresado en forma vectorial, por lo que se denomina VECM
\(Y_{t} = \mu + A_{1}Y_{t-1} + A_{2}Y_{t-2} +...+ A_{p}Y_{t-p} + \nu _{t}\)
Si se resta \(Y_{t-1}\) hasta \(Y_{t-p}\) de los dos lados, y se rescribe en función de la \(\Delta Y_{t}\), tenemos:
\(\Delta Y_{t} = \mu + \Gamma_{1}\Delta Y_{t-1} + \Gamma_{2}\Delta Y_{t-2} + .... + \Gamma_{p-1}\Delta Y_{p-1} + AY_{t-p}+e_{t}\)
Donde:
\(\Gamma _{i} = - l + \Gamma _{1} +... +
\Gamma _{i}\)
\(A = -l + A_{1} +...+ A_{p}\)
i= 1,….,p-1
Ahora bien, recordando que en el VECM,la matriz 𝐴 contiene la información de largo plazo del sistema.:
\(\Delta Y_{t} = \mu + \Gamma_{1}\Delta Y_{t-1} + \Gamma_{2}\Delta Y_{t-2} + .... + \Gamma_{p-1}\Delta Y_{p-1} + AY_{t-p}+e_{t}\)
El número de relaciones de cointegración existentes entre las variables depende del rango de𝐴.Según Johansen, pueden darse los siguientes casos:
Si \(r=0\), la matriz 𝐴 es nula, por lo que no existe ninguna combinación lineal estacionaria entre las variables. En este caso, no hay cointegración y las variables no presentan relación de equilibrio de largo plazo.
Si \(r=m\), el rango es completo y el proceso multivariante \(Y_{t}\) es estacionario en niveles. Las variables no contienen tendencias estocásticas y por tanto no requieren diferenciación. Se pueden definir \(m-1\) vectores de cointegración que anulan las tendencias comunes.
Si \(0 < r < m\) el sistema presenta \(r\) vectores de cointegración. Este es el caso más relevante en aplicaciones económicas, ya que implica que, aunque las variables sean \(I(1)\) existe al menos una combinación lineal estacionaria que representa una relación de equilibrio de largo plazo.
En los casos donde \(r>0\) la matriz 𝐴 puede descomponerse como: \(A = \gamma{}\alpha'\)
Donde: \(\alpha\) contiene los vectores de cointegración \(\gamma\) contiene los coeficientes de ajuste hacia el equilibrio
Hipotesis nula: \(H_{0}: r=0\), no cointegración → todas las variables siguen tendencias separadas. Hipotesis alternativa: \(H_{a}: r=1\) , existe exactamente un vector de cointegración → las variables comparten al menos una tendencia común.
Johansen parte de la hipótesis más restrictiva: que no existe relación de equilibrio entre las variables. Esta estructura secuencial permite determinar cuántas relaciones de largo plazo están presentes sin asumirlo a priori.
La secuencia de la prueba de hipotesis es algo como:
Hipotesis nula: \(H_{0}: r=0\)
Hipotesis alternativa: \(H_{a}: r=1\)
Si no se rechaza, el proceso se detiene: no existe cointegración.
Hipotesis nula: \(H_{0}: r=1\)
Hipotesis alternativa: \(H_{a}: r=2\)
Hipotesis nula: \(H_{0}: r=2\)
Hipotesis alternativa: \(H_{a}: r=3\)
Y así sucesivamente, hasta:
Encontrar un \(H_{0}\) que no pueda rechazarse, o llegar a un \(r=m\), en cuyo caso todas las variables serían estacionarias.
Para contrastar la hipótesis nula de que hay como máximo r vectores de cointegración frente a la alternativa de que hay m, \(r\leq m\), el contraste de razón de versosimilitud viene dado por los estadísticos de la traza y de la raíz máxima:
\(Traza\left ( r_{0} \right )= -2T \sum_{i=r_{0}+1}^{m} ln(1-\lambda _{i})\)
\(MaxEig\left ( r_{0} \right )= -2Tln(1-\lambda _{r_{0}+1})\)
Para la imprementación en R de la prueba de cointegración desde el enfoque de Johansen, utilizamos la libreria “Urca”: Paquete urca de Rstudio, desarrollado por Bernhard Pfaff, Eric Zivot y Matthieu Stigler en 2016. «urca» es la abreviatura de Pruebas de Raíz Unitaria y Cointegración para Datos de Series Temporales. El paquete proporciona funciones para realizar pruebas de cointegración y de raíz unitaria.
Estrutura
ca.jo(x, type = c("eigen", "trace"), ecdet = c("none", "const", "trend"), K = 2, spec=c("longrun", "transitory"), season = NULL, dumvar = NULL)Que quiere decir:
x: Matriz de datos a investigar para la cointegración.
type: La prueba a realizar, ya sea ‘eigen’ o ‘trace’.
ecdet: Carácter, ‘ninguno’ para no interceptar en cointegración, ‘const’ para término constante en cointegración y ‘tendencia’ para variable de tendencia en cointegración.
k: El orden de desfase de las series (niveles) en el VAR.
spec: Determina la especificación del VECM, consulte los detalles a continuación.
season: Si se deben incluir dummies estacionales, la frecuencia de los datos debe establecerse en consecuencia, es decir, ‘4’ para datos trimestrales.
dumvar: Si se deben incluir variables ficticias, una matriz con dimensión de fila igual a x se puede proporcionar.
library(urca)
data(denmark)
sjd <- denmark[, c("LRM", "LRY", "IBO", "IDE")]
sjd.vecm <- ca.jo(sjd, ecdet = "const", type="eigen", K=2, spec="longrun",
season=4)
summary(sjd.vecm)##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: maximal eigenvalue statistic (lambda max) , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 4.331654e-01 1.775836e-01 1.127905e-01 4.341130e-02 6.668049e-16
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 3 | 2.35 7.52 9.24 12.97
## r <= 2 | 6.34 13.75 15.67 20.20
## r <= 1 | 10.36 19.77 22.00 26.81
## r = 0 | 30.09 25.56 28.14 33.24
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## LRM.l2 LRY.l2 IBO.l2 IDE.l2 constant
## LRM.l2 1.000000 1.0000000 1.0000000 1.000000 1.0000000
## LRY.l2 -1.032949 -1.3681031 -3.2266580 -1.883625 -0.6336946
## IBO.l2 5.206919 0.2429825 0.5382847 24.399487 1.6965828
## IDE.l2 -4.215879 6.8411103 -5.6473903 -14.298037 -1.8951589
## constant -6.059932 -4.2708474 7.8963696 -2.263224 -8.0330127
##
## Weights W:
## (This is the loading matrix)
##
## LRM.l2 LRY.l2 IBO.l2 IDE.l2 constant
## LRM.d -0.21295494 -0.00481498 0.035011128 2.028908e-03 2.000335e-13
## LRY.d 0.11502204 0.01975028 0.049938460 1.108654e-03 -2.479945e-13
## IBO.d 0.02317724 -0.01059605 0.003480357 -1.573742e-03 -1.732570e-14
## IDE.d 0.02941109 -0.03022917 -0.002811506 -4.767627e-05 9.675930e-15
Johansen hace pruebas secuenciales:
\(H_{o}: r=1; H _{1}: r=1\)
\(H_{o}: r\leq 1; H _{1}: r=2\)
\(H_{o}: r\leq 2; H _{1}: r=3\)
Tenemos que la regla general es:
Si el estadistico de prueba > valor critico -> Rechazo \(H_{0}\) Si el estadistico de prueba \(\leq\) valor critico -> No rechazo de \(H_{0}\)
Tomamos (como es estandar) un valor critico del 5%
\(H_{o}: r=1\)
Estadistico de prueba: 30.09 y valor crítico (5%): 28.14 -> Se rechaza \(H_{o}\)
\(H_{o}: r\leq 1\)
Estadistico de prueba: 10.36 y valor crítico (5%): 22.00 -> No se rechaza \(H_{o}\)
Entonces dado los resultados podemos decir:
La prueba de Johansen indica que el estadístico para la hipótesis nula \(H_{0}: r=0\) es 30.09, mayor que el valor crítico al 5% (28.14). Por lo tanto, se rechaza la ausencia de cointegración y se concluye que existe al menos un vector de cointegración.
Para la hipótesis \(H_{0}: r\leq 0\), el estadístico es 10.36, inferior al valor crítico de 22.00. En consecuencia, no se rechaza dicha hipótesis.
Por tanto, el número de vectores de cointegración es \(r=1\)
## Time-Series [1:84, 1:4] from 1980 to 2001: 930 930 930 931 933 ...
## - attr(*, "dimnames")=List of 2
## ..$ : NULL
## ..$ : chr [1:4] "e" "prod" "rw" "U"
# Transformaciones
lprod <- log(Canada[, "prod"])
lempl <- log(Canada[, "e"])
lrw <- log(Canada[, "rw"])
# Combinarlos
datos_canada <- cbind(lprod, lempl, lrw)
colnames(datos_canada) <- c("lprod", "lempl", "lrw")# Prueba de Johanse sin constante ni tendencia
summary(ca.jo(datos_canada,
type = "trace",
ecdet = "none",
spec = "longrun",
K = 4))##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , with linear trend
##
## Eigenvalues (lambda):
## [1] 0.35441097 0.08728980 0.01483889
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 2 | 1.20 6.50 8.18 11.65
## r <= 1 | 8.50 15.66 17.95 23.52
## r = 0 | 43.51 28.71 31.52 37.22
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## lprod.l4 lempl.l4 lrw.l4
## lprod.l4 1.00000 1.00000000 1.00
## lempl.l4 -139.39013 -1.23780379 -199243.99
## lrw.l4 44.42791 0.07838428 31621.84
##
## Weights W:
## (This is the loading matrix)
##
## lprod.l4 lempl.l4 lrw.l4
## lprod.d -4.067373e-05 -0.04153097 3.038831e-07
## lempl.d -1.713456e-04 0.02622093 1.173224e-08
## lrw.d -1.802335e-03 -0.07520928 -4.327843e-08
#Prueba de Johansen constante
summary(ca.jo(datos_canada,
type = "trace",
ecdet = "const",
spec = "longrun",
K = 4))##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 4.402668e-01 1.115257e-01 6.708714e-02 2.261467e-14
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 2 | 5.56 7.52 9.24 12.97
## r <= 1 | 15.02 17.85 19.96 24.60
## r = 0 | 61.44 32.00 34.91 41.07
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## lprod.l4 lempl.l4 lrw.l4 constant
## lprod.l4 1.00000 1.0000000 1.0000000 1.0000000
## lempl.l4 26.80793 -2.1938561 -0.2485340 -8.5312264
## lrw.l4 -9.16586 0.3255564 -0.1463649 0.9968342
## constant -133.31321 7.0363851 -3.4146811 46.3452764
##
## Weights W:
## (This is the loading matrix)
##
## lprod.l4 lempl.l4 lrw.l4 constant
## lprod.d 0.001989563 0.03476679 -0.078327693 2.074143e-14
## lempl.d 0.000997473 0.01615359 0.008898532 7.268923e-13
## lrw.d 0.007179302 -0.07174054 -0.012450421 1.650235e-11
#Prueba de Johansen con tendencia
summary(ca.jo(datos_canada,
type = "trace",
ecdet = "trend",
spec = "longrun",
K = 4))##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , with linear trend in cointegration
##
## Eigenvalues (lambda):
## [1] 4.085741e-01 1.615856e-01 4.433519e-02 -2.823878e-17
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 2 | 3.63 10.49 12.25 16.26
## r <= 1 | 17.73 22.76 25.32 30.45
## r = 0 | 59.74 39.06 42.44 48.45
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## lprod.l4 lempl.l4 lrw.l4 trend.l4
## lprod.l4 1.000000000 1.0000000000 1.000000000 1.000000000
## lempl.l4 -1.490748478 -0.0002936820 -6.030105657 -6.318595754
## lrw.l4 0.932035558 0.1808644860 -0.059703465 4.721923732
## trend.l4 -0.001223481 -0.0007688756 0.002183195 -0.009216357
##
## Weights W:
## (This is the loading matrix)
##
## lprod.l4 lempl.l4 lrw.l4 trend.l4
## lprod.d -0.036824084 -0.15761053 0.017790005 -7.553715e-12
## lempl.d -0.008834077 0.03872771 0.003547864 -2.691648e-13
## lrw.d -0.154596314 -0.03090215 -0.013020600 -1.238563e-11
La prueba de causalidad en el sentido de Granger busca determinar si la variable \(X_t\) contiene información útil para predecir el comportamiento futuro de la variable \(Y_t\)
Esta prueba no pretende identificar causalidad real o estructural, sino una causalidad predictiva, entendida como la capacidad de una variable de mejorar la predicción de otra cuando se incorporan sus valores pasados. La lógica es sencilla: si el pasado de X ayuda a anticipar el futuro de Y con mayor precisión que cuando solo se usa la historia de Y, entonces se dice que X “Granger-causa” a Y.
Este análisis es fundamental en econometría porque muchas relaciones económicas muestran retrasos temporales: cambios en una variable pueden reflejarse en otra después de cierto tiempo. Por ello, la prueba de Granger permite evaluar qué variable es temporalmente líder y cuál es seguidora, lo que resulta esencial para predicciones, análisis de políticas, modelos VAR y estudios de transmisión de choques económicos. En esencia, la prueba evalúa si agregar la historia de X mejora el siguiente modelo básico:
Modelo restringido:
\[ Y_t = \alpha_0 + \sum_{i=1}^{p} \alpha_i Y_{t-i} + u_t \] Este es el modelo “básico” o de referencia. Es absolutamente necesario, ya que representa lo máximo que puede predecirse de Y sin usar X. Sin él, no sería posible determinar si X agrega información.
Modelo irrestricto (Y depende de su pasado y del pasado de X):
\[ Y_t = \alpha_0 + \sum_{i=1}^{p} \alpha_i Y_{t-i} + \sum_{i=1}^{p} \beta_i X_{t-i} + \varepsilon_t \]
Los coeficientes \(\beta_i\)indican cuánto influye cada rezago \(X_{t-i}\) en \(Y_t\) Si alguno de ellos es significativo, el modelo irrestricto mejora la predicción y se dice que X Granger-causa a Y.
Las hipótesis se construyen en torno a los coeficientes \(\beta_i\) , porque estos representan el efecto de los rezagos de X sobre Y.
Hipótesis Nula (H₀):
Ningún rezago de X contribuye a explicar Y
\[ H_0 : \beta_1 = \beta_2 = \dots = \beta_p = 0 \]
Hipótesis Alternativa \(H_1\):
Al menos un rezago de X sí aporta información predictiva adicional sobre Y.
\[ H_1 : \exists\, \beta_j \neq 0 \]
Para comprobar si los coeficientes \(\beta_i\) son conjuntamente iguales a cero, se compara el ajuste del modelo restringido y el irrestricto.
El estadístico clásico es:
stadístico F:
\[ F = \frac{(SSR_R - SSR_{UR})/p}{SSR_{UR}/(n - k)} \]
Donde:
\(SSR_R\): suma de residuos del modelo restringido
\(SSR_{UR}\): suma de residuos del modelo irrestricto
\(p\): número de rezagos de X
\(n\): tamaño de la muestra
\(k\): número total de parámetros del modelo irrestricto
Versión Chi-cuadrado (Wald) usada en VAR:
\[ \chi^2 = \hat{\beta}' \left[ Var(\hat{\beta})^{-1} \right] \hat{\beta} \]
Se basa en el p-value del estadístico (F o Wald):
Si p-value < 0.05 → Rechazar H₀
Si p-value ≥ 0.05 → No rechazar H₀
Si se rechaza H₀:
Los coeficientes \(\beta_i\) son significativos. Se concluye:
𝑋 Granger-causa𝑌
Esto significa que el pasado de X mejora la predicción de Y.
Si NO se rechaza H₀:
Los rezagos de X no agregan información relevante. Se concluye:
𝑋 no Granger-causa𝑌
Esto indica que X no aporta capacidad predictiva adicional sobre Y en el modelo lineal considerado.
La función más usada para aplicar la prueba de Granger en R es:
grangertest(Y ~ X, order = p)
Que pertenece al paquete lmtest:
library(lmtest)
Y ~ X indica la dirección de causalidad a evaluar
order indica el numero de rezagos (p)
Se busca demostrar el uso de la prueba de causalidad de Granger usando datos históricos de índices bursátiles europeos (EuStockMarkets). Como ejemplo, se analiza si los cambios en el índice SMI (Suiza) pueden predecir los cambios en el índice DAX (Alemania).
Hipótesis de la prueba:
H₀ (nula): Los rezagos de SMI no Granger-causan a DAX.
H₁ (alternativa): Los rezagos de SMI sí Granger-causan a DAX.
Datos
Prueba de causalidad de Granger
options(scipen = 999)
library(lmtest)
granger1 <- grangertest(DAX~SMI,order=3,data = Data_Eu)
print(granger1)## 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 0.00001322 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Para este caso:
Model 1 (completo): incluye los rezagos de DAX y los rezagos de SMI.
Model 2 (reducido): incluye solo los rezagos de DAX.
F = 8.4968 (estadístico de la prueba)
Pr(>F) = 0.00001322 (p-value)
Interpretación: Dado que el p-value (0.00001322) < 0.05. Por lo tanto, se rechaza H₀.Es decir, hay evidencia estadística de que los rezagos de SMI ayudan a predecir DAX, es decir, SMI Granger-causa a DAX.
Prueba de causalidad de Granger a la inversa
options(scipen = 999)
library(lmtest)
granger2 <- grangertest(SMI~DAX,order=3,data = Data_Eu)
print(granger1)## 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 0.00001322 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Para este caso:
Model 1 (completo): incluye los rezagos de DAX y los rezagos de SMI.
Model 2 (reducido): incluye solo los rezagos de DAX.
F = 8.4968 (estadístico de la prueba)
Pr(>F) = 0.00001322 (p-value)
Interpretación: Dado que el p-value (0.00001322) < 0.05. Por lo tanto, se rechaza H₀.Es decir, hay evidencia estadística de que los rezagos de DAX ayudan a predecir SMI, es decir, DAX Granger-causa a SMI.
Se pretende analizar la relación entre la tasa de interés promedio ponderada y el Índice de Precios al Consumidor (IPC) en El Salvador para el año 2024, usando datos oficiales del Banco Central de Reserva (BCR). El objetivo es determinar si los cambios en la tasa de interés tienen un efecto predictivo sobre la inflación, medida por el IPC.
Hipótesis:
Hipótesis nula (H₀): Los rezagos de la tasa de interés no Granger-causan al IPC.
Hipótesis alternativa (H₁): Los rezagos de la tasa de interés sí Granger-causan al IPC.
Datos
Prueba de causalidad de Granger
Para este caso:
Model 1: Modelo “completo” que incluye los rezagos del IPC y de la Tasa.
Model 2: Modelo “reducido” que incluye solo los rezagos del IPC.
La prueba compara si agregar los rezagos de la Tasa mejora la predicción del IPC.
F = 1.6035 (estadístico de la prueba)
Pr(>F) = 0.4064 (p-value)
Interpretación: Dado que el p-value (0.4064) > 0.05, no rechazamos H₀, lo que significa que según la prueba, los rezagos de la Tasa de interes no ayudan a predecir el IPC en este conjunto de datos.
Prueba de causalidad de Granger a la inversa
Para este caso:
Model 1: Modelo completo que incluye rezagos de Tasa y rezagos de IPC.
Model 2: Modelo reducido con solo rezagos de Tasa.
F = 0.9299 (estadístico de la prueba)
Pr(>F) = 0.5555 (p-value)
Interpretación: Dado que el p.value (0.5) > 0.05, no se rechaza la H₀, lo que significa que según la prueba, los rezagos del IPC no ayudan a predecir la tasa de interes en este conjunto de datos.
-Catalan, H. (s. f.). Curso internacional: Construcción de escenarios económicos y econometría avanzada [Material del curso].
-Universidad Nacional de Colombia, Facultad de Artes. https://cepal.org
-Mata, H. L. (s.f.). Nociones Elementales de Cointegración: Enfoque de Soren Johansen. Borrador para discusión, Universidad de los Andes.
-Quintana, C., y Mendoza, E. (2012). Econometría aplicada utilizando R. [Documento o Manual]. Durlauf, S. N., & Blume, L. E. (Eds.). (2010). Macroeconometrics and time series analysis. Palgrave Macmillan.
-LNE. (2009, 8 de junio). Granger: «La casualidad no existe, todo tiene una causalidad y una cointegración». La Nueva España. https://www.lne.es/economia/2009/06/08/granger-casualidad-causalidad-cointegracion-21519334.html
-R-bloggers. (2021, noviembre). Granger causality test in R with example. https://www.r-bloggers.com/2021/11/granger-causality-test-in-r-with-example/
-Aptech. (s.f.). Introduction to Granger causality. Aptech Blog. https://www.aptech.com/blog/introduction-to-granger-causality/
-Damavis. (s.f.). Causalidad de Granger: causalidades en series temporales. Blog de Damavis. https://blog.damavis.com/causalidad-de-granger-causalidades-en-series-temporales/