UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA
CICLO II-2021
“Laboratorio 3: Cointegración y Causalidad”
Métodos para el Análisis Económico.
Docente:
Carlos Ademir Pérez Alas.
Integrantes:
Argueta Velasco Rocío Azucena. (AV14026)
Henríquez Urias Gerson Stanley. (HU17001)
Sanchez Reyes Paola Rosmery. (SR16050)
Velásquez González Jóse Roberto. (VG16027)
Grupo Teorico:
03
Ciudad Universitaria, Viérnes 03 de diciembre de 2021.
Se usa para ver si existen raíces unitarias en las series de tiempo con el objetivo de verificar estacionaridad. Es decir, la prueba de raíz unitaria verifica si la variable es estacionaria en diferencia comparada si es no estacionaria, y en consecuencia puede contribuir a evitar el problema de regresión espuria. La prueba Dickey-Fuller estándar fue diseñada para ofrecer una prueba directa de estacionariedad en diferencia contra estacionariedad.
\[ ∆y_t = αy_(t-1)+∈_t\] \[ Ho: \alpha=0\ \ \rightarrow\ \ (\emptyset-1)=0\ \ \rightarrow\ \ \emptyset=1\] Si el parámetro alfa es igual a cero implica que la serie sigue un camino aleatorio, en consecuencia, es no estacionaria.
\[H1:\alpha\neq0\rightarrow\left(\emptyset-1\right)\neq0\rightarrow\emptyset\neq1 \alpha<0\ \ \rightarrow\ \ (\emptyset-1)<0\ \ \rightarrow\ \ \emptyset<1\ \] Si el parámetro alfa es distinto de cero y es negativo, entonces la serie es estacionaria.
#Se cargan las librerias necesarias
library(tseries) # este paquete nos permite manipular datos correspondientes a series temporales.
library(urca) # permite hacer distintas pruebas econometricas como el test de Raíz Unitaria.
library(forecast) # permite nombrar a las variables con el nombre que te sea conveniente
#Cargamos los datos para la prueba
co2<-read.csv("C:/datos/co2.csv", header = TRUE, sep = ";")
#Transformamos los datos en una serie temporal
co2ts<-ts(co2$CO2, start = c(1959,1), frequency = 12)
print(co2ts)
#Trazamos la serie de tiempo co2ts
library(ggfortify) # para usar las funciones de ggplot2:: autoplot
autoplot(co2ts, ts.colour = "blue", ts.linetype = "dashed")
autoplot(acf(co2ts, plot = FALSE)) # función de autocorrelación para comprobar si la serie es estacionaria
autoplot(stl(co2ts, s.window = "periodic"), ts.colour = "red") # descomponemos la serie para analizar los componentes por separado
#Modelado de la serie
ndiffs(co2ts) # calculamos el numero de diferencias regulares
nsdiffs(co2ts) # calculamos el numero de diferencias estacionales
diff.co2ts<-autoplot(diff(co2ts), ts.linetype = "dashed", ts.colour = "darkmagenta") # se elimina de la serie la componente de tendencia
diff.co2ts
autoplot(acf(diff(co2ts), plot = FALSE)) # verificamos si la serie sigue sin ser estacionaria
diff.co2ts.12<-diff(co2ts, lag = 12) # para eliminar el componente estacional
autoplot(diff.co2ts.12, ts.colour = "darkorange4", ts.linetype = "dashed")
#Aplicamos el test de Dickey & Fuller
library(tseries)
adf.test(diff.co2ts.12)
summary(diff.co2ts.12)
Estadístico t de Student: \[\ {\hat{t}}_{\hat{\alpha}} =\frac{\hat{\alpha}}{SE(\hat{\alpha})}\] En este caso R proporciona la salida: -3.7783
Hay dos condiciones para que la serie de tiempo sea estacionaria:
Rechazar la Ho
Que el estimador alfa sea negativo
Y se prueba con estas condiciones de estacionaridad:
Estadístico de prueba <0
P-value < 0.05
En este caso R proporciona las salidas:
Estadistico de prueba: -3.7783
P-value: 0.02201
Ho: r = 0 contra H1: r ≠ 0. Si no puede rechazarse la hipótesis nula (p-valué > 0.05) la serie es no estacionaria y tiene raíz 1 (I(1)) si se rechaza la nula (p-valué <0.05) la serie es estacionaria significa que las variables cointegran y se mantienen juntas en el tiempo.
En este caso en nuestro ejercicio ya que el P-value < 0.05 comprobamos que la serie es estacionaria, por lo cual SE RECHAZA Ho.
Se presenta acontinuación un ejemplo propuesto por PalominoM (2017) para realizar la respectiva prueba de Raiz Unitaria de Dickey & Fuller.
library(forecast)
library(tseries)
library(urca)
co2<-read.csv("~/Stanley/MAE/co2.csv", header = TRUE, sep = ";")
co2ts<-ts(co2$CO2, start = c(1959,1), frequency = 12)
print(co2ts)## Jan Feb Mar Apr May Jun Jul Aug Sep Oct
## 1959 333.13 332.09 331.10 329.14 327.36 327.29 328.23 329.55 330.62 331.40
## 1960 333.92 333.43 331.85 330.01 328.51 328.41 329.25 330.97 331.60 332.60
## 1961 334.68 334.17 332.96 330.80 328.98 328.57 330.20 331.58 332.67 333.17
## 1962 336.82 336.12 334.81 332.56 331.30 331.22 332.37 333.49 334.71 335.23
## 1963 337.95 338.00 336.37 334.47 332.46 332.29 333.76 334.80 336.00 336.63
## 1964 339.05 339.27 337.64 335.68 333.77 334.09 335.29 336.76 337.77 338.26
## 1965 341.47 341.31 339.41 337.74 336.07 336.07 337.22 338.38 339.32 340.41
## 1966 343.02 342.54 340.88 338.75 337.05 337.13 338.45 339.85 340.90 341.70
## 1967 344.28 343.42 342.02 339.97 337.84 338.00 339.20 340.63 341.41 342.68
## 1968 345.92 345.40 344.16 342.11 340.11 340.15 341.38 343.02 343.87 344.59
## 1969 347.38 346.78 344.96 342.71 340.86 341.13 342.84 344.32 344.88 345.62
## 1970 348.53 347.87 346.00 343.86 342.55 342.57 344.11 345.49 346.04 346.70
## 1971 349.93 349.26 347.44 345.55 344.21 343.67 345.09 346.27 347.33 347.82
## 1972 351.71 350.94 349.10 346.77 345.73
## Nov Dec
## 1959 331.87 333.18
## 1960 333.57 334.72
## 1961 334.86 336.07
## 1962 336.54 337.79
## 1963 337.93 338.95
## 1964 340.10 340.88
## 1965 341.69 342.51
## 1966 342.70 343.65
## 1967 343.04 345.27
## 1968 345.11 347.07
## 1969 347.23 347.62
## 1970 347.38 349.38
## 1971 349.29 350.91
## 1972
library(ggfortify)
autoplot(co2ts, ts.colour = "red", ts.linetype = "dashed")autoplot(acf(co2ts, plot = FALSE))autoplot(stl(co2ts, s.window = "periodic"), ts.colour = "red")ndiffs(co2ts)## [1] 1
nsdiffs(co2ts)## [1] 1
diff.co2ts<-autoplot(diff(co2ts), ts.linetype = "dashed", ts.colour = "darkmagenta")
diff.co2tsautoplot(acf(diff(co2ts), plot = FALSE))diff.co2ts.12<-diff(co2ts, lag = 12)
autoplot(diff.co2ts.12, ts.colour = "darkorange4", ts.linetype = "dashed")#Prueba Dickey Fuller
library(tseries)
adf.test(diff.co2ts.12)##
## Augmented Dickey-Fuller Test
##
## data: diff.co2ts.12
## Dickey-Fuller = -3.7783, Lag order = 5, p-value = 0.02201
## alternative hypothesis: stationary
summary(diff.co2ts.12)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.150 1.070 1.380 1.407 1.770 2.650
Con lo cual podemos deducir que es estacionaria
Soluciona los problemas de la metodología de cointegración propuesta por Engle y Granger, haciendo la estimación en tan solo una cointegración. El procedimiento de Johansen no es más que una generalización multivariante de los tests de raíces unitarias.
En los análisis de Engle y Granger, dicha tendencia común es un proceso simple. El enfoque de Johansen permite contrastar procesos más complejos o que incluyan más variables.
Entre sus principales caracteristicas se tienen:
Para determinar el número de vectores de cointegración la metodología de Johansen utiliza dos pruebas:
Esta prueba está basada en la razón de máxima verosimilitud \(ln[LMV(r)/LMV(r+1)]\), y se efectua secuencialmente para
\(r=0,1,…,n−1\)
Esta prueba corrobora la hipótesis nula de que el rango de cointegración es \(r\) versus la alterna de que el rango de cointegración es \(r+1\)
\({\ell_{r+1}^\ast-\ \ell}_r^\ast=\ -\ \frac{T}{2}\ln{\left(1-\ {\hat{\lambda}}_{r+1}\right)}\)
Esta prueba se basa en la razón de máxima verosimilitud \(ln[LMV(r)/LMV(n)]\) y es efectuada secuencialmente para \(r=n−1,…,1,0\) Esta prueba comprueba la hipótesis nula de que el rango de cointegración es \(r\) frente a la alternativa que el rango de cointegración es \(n\) El estadístico de prueba es.
\(\ell_{A\ }^\ast-\ \ell_{0\ }^\ast=\ -\ \frac{T}{2}\ \ \sum_{i=r+1}^{n}\log{(1-\ \hat{\lambda})}\)
Para ambas pruebas se tienen las siguientes hipótesis:
HO: \(r=0\) No existen vectores de cointegración.
HA: \(r<=n\) Existe un vector de cointegración.
Se utilizara la librería “urca” para realizar pruebas de raíz unitaria y de cointegración para datos de series temporales
Dentro de esta libreria se encuentra la función “ca.jo” que brinda el cálculo de la cointegración por el enfoque de johansen.
library(urca)
# ca.jo (x, type = c ("eigen", "trace"), ecdet = c ("none", "const", "trend"), K = 2, spec = c ("longrun", "transitory"), season = NULL, dumvar = NULL)
Los argumentos que se utilizan son:
X: Matriz de datos a investigar para la cointegración.
type: La prueba a realizar, ya sea “eigen” para la prueba de autovalor maximo o “trace” para la prueba de traza .
ecdet: Caracter “none” para no interceptar en la cointegración, “const” para término constante en cointegración y “trend” para la variable de tendencia en cointegración
K: El orden de retraso de la serie (niveles) en el VAR
spec: Determina la especificación del VECM.
season: Si se deben incluir variables ficticias estacionales, la frecuencia de los datos debe establecerse en consecuencia, es decir 4 para datos trimestrales.
dumvar: Si se deben incluir variables ficticias, se puede proporcionar una matriz con una dimensión de fila igual a x.
Para la salida de ambas pruebas, los estadisticos de estas se ubicaran en la columna test del resumen de estadisticas de pruebas y valores criticos
Traza@teststat
7.890066 29.525965 117.299510
El criterio de decisión para rechazar la hipótesis nula en ambas pruebas consiste el comparar el valor del estadistico de prueba y un valor critico (para este caso un nivel de significancia de 0.05), si el estadistico es mayor se rechaza la hipótesis nula, de lo contrario no.
Traza@cval
r=0 34.91
Para la salida de la prueba de Traza del enfoque de Johansen, para \(r=0\) el valor crítico al nivel de significancia del 0.05 es de 34.91 mientras que el estadistico de prueba para este rango es de 117.299510 y 117.299510 > 34.91. Por lo que se rechaza esta hipótesis nula.
Siguiendo el mismo ejemplo de la prueba de Traza, como se ha rechazado la hipótesis nula de no cointegración \(r=0\) esto significa que existe al menos 1 vector de cointegración, en caso contrario , si no se rechaza esta hipótesis nula significaria que no hay cointegración.
Se presentará el ejemplo propuesto por Eloriaga (2020) para realizar las dos pruebas de cointegración de Johansen.
library(vars)
library(urca)
library(forecast)
library(tidyverse)
#Carga de Dataset
data <- read_csv("~/Stanley/MAE/VECM_LectureNotes.csv")
head(data)## # A tibble: 6 x 15
## CPI Date GDP lnCPI lnGDP M4 M3 M1 lnM4 lnM3 lnM1 M2 lnM2
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 64.6 1/31~ 1.84e6 4.17 14.4 10.2 6.57 19.0 2.32 1.88 2.94 6.73 1.91
## 2 65.1 5/1/~ 1.93e6 4.18 14.5 8.97 5.63 12.2 2.19 1.73 2.50 5.73 1.75
## 3 65.5 8/1/~ 1.91e6 4.18 14.5 6.93 4.4 9.87 1.94 1.48 2.29 4.3 1.46
## 4 65.7 10/3~ 2.16e6 4.19 14.6 5.17 4 8.7 1.64 1.39 2.16 3.93 1.37
## 5 66.5 1/31~ 1.97e6 4.20 14.5 5.47 5.3 10.8 1.70 1.67 2.38 5.3 1.67
## 6 67.4 5/1/~ 2.08e6 4.21 14.5 6.2 5.37 12.3 1.82 1.68 2.51 5.33 1.67
## # ... with 2 more variables: Consumption <dbl>, lnConsumption <dbl>
#Crear Objetos de series temporales
GDP <- ts(data$lnGDP, start = c(2003,1,31), frequency = 4)
CPI <- ts(data$lnCPI, start = c(2003,1,31), frequency = 4)
M3 <- ts(data$lnM3, start = c(2003,1,31), frequency = 4)
#Se crea un dataframe con los objetos de series temporales
df <- cbind(GDP,CPI,M3)
#Criterio de selección de Lags
lagselect <- VARselect(df, lag.max = 7, type = "const")
lagselect$selection## AIC(n) HQ(n) SC(n) FPE(n)
## 6 5 4 5
#Se utlizaran los 5 de la salida para el error de predicción , se usara 5 - 1 = 4Traza<- ca.jo(df, type = "trace", ecdet = "const", K = 4)
summary(Traza)##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 7.408536e-01 2.831294e-01 1.143077e-01 -1.025883e-16
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 2 | 7.89 7.52 9.24 12.97
## r <= 1 | 29.53 17.85 19.96 24.60
## r = 0 | 117.30 32.00 34.91 41.07
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## GDP.l4 CPI.l4 M3.l4 constant
## GDP.l4 1.0000000 1.000000 1.0000000 1.000000000
## CPI.l4 -1.9652971 -3.401060 -2.3478809 -1.258575716
## M3.l4 0.1534219 -5.703423 0.1823729 -0.004795708
## constant -4.2100503 15.387818 -4.6126235 -9.216460807
##
## Weights W:
## (This is the loading matrix)
##
## GDP.l4 CPI.l4 M3.l4 constant
## GDP.d 0.027782440 -4.455686e-05 -0.01509218 2.231752e-15
## CPI.d 0.001718154 5.843056e-04 0.01124142 1.957418e-14
## M3.d -0.022303210 5.927883e-02 -0.28911043 -4.671628e-12
Para la hipotesis nula de \(r=0\) el estadistico de prueba \(r\) es mayor que el valor critico correspondiente a 95% , por lo tanto se rechaza la hipotesis nula de no cointegración y se asume que hay al menos 1 vector de cointegración, de igual forma hasta llegar a la hipotesis nula de \(r<=2\) , el estadístico de prueba es menor de el valor critico correspondiente al 95%, por lo tanto no se rechaza esta hipotesis nula y se asume que existen al menos 2 vectores de cointegración.
#Prueba de Johansen (Maximo autovalor )
eigenmax <- ca.jo(df, type = "eigen", ecdet = "const", K = 4)
summary(eigenmax)##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: maximal eigenvalue statistic (lambda max) , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 7.408536e-01 2.831294e-01 1.143077e-01 -1.025883e-16
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 2 | 7.89 7.52 9.24 12.97
## r <= 1 | 21.64 13.75 15.67 20.20
## r = 0 | 87.77 19.77 22.00 26.81
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## GDP.l4 CPI.l4 M3.l4 constant
## GDP.l4 1.0000000 1.000000 1.0000000 1.000000000
## CPI.l4 -1.9652971 -3.401060 -2.3478809 -1.258575716
## M3.l4 0.1534219 -5.703423 0.1823729 -0.004795708
## constant -4.2100503 15.387818 -4.6126235 -9.216460807
##
## Weights W:
## (This is the loading matrix)
##
## GDP.l4 CPI.l4 M3.l4 constant
## GDP.d 0.027782440 -4.455686e-05 -0.01509218 2.231752e-15
## CPI.d 0.001718154 5.843056e-04 0.01124142 1.957418e-14
## M3.d -0.022303210 5.927883e-02 -0.28911043 -4.671628e-12
Para la hipotesis nula de \(r=0\) el estadistico de prueba es mayor que el valor critico correspondiente a 95% , por lo tanto se rechaza la hipotesis nula de no cointegración y se asume que hay al menos 1 vector de cointegración, de igual forma hasta llegar a la hipotesis nula de \(r<=2\) , el estadístico de prueba es menor de el valor critico correspondiente al 95%, por lo tanto no se rechaza esta hipotesis nula y se asume que existen al menos 2 vectores de cointegración.
La afirmación respecto a la causalidad tiene exactamente dos componentes:
La causa ocurre antes del efecto, y
La causa contiene información sobre el efecto que es única y no está en otra variable.
Una consecuencia de esta afirmación es que la variable causal puede contribuir a la predicción de la variable efecto después de que se hayan utilizado previamente otros datos ( “causalidad a la Granger”). La prueba de causalidad de Granger se usa para examinar si una serie de tiempo se puede usar para pronosticar otra. Dados dos conjuntos de datos de series de tiempo,“X” y “Y,” la causalidad de Granger es un método que intenta determinar si es probable que una serie influya en el cambio de la otra. Esto se logra tomando diferentes rezagos de una serie y usándolos para modelar el cambio en la segunda serie.
\[H0:X→Y\]
La serie de tiempo x causa que la serie de tiempo Y.
\[H1:X≠Y\]
La serie de tiempo X no causa la serie de tiempo Y a la propia causa de Granger.
Conocer el valor de una serie de tiempo X en un desfase dado es valioso para pronosticar el valor de una serie de tiempo Y en un período de tiempo posterior que se conoce como “causas de Granger.”
Esto se logra tomando diferentes rezagos de una serie y usándolos para modelar el cambio en la segunda serie. Creamos dos modelos que predicen y, uno con solo valores pasados de y (Ω) y el otro con valores pasados de y y x (π). Los modelos se dan a continuación, donde k es el número de retrasos en la serie temporal:
\[Sea Ω = yt = β0 + β1yt-1 +⋯ + βkyt-k + e\]
\[π = yt = β0 + β1yt-1 +… + βkyt-k + α1xt-1 +… + αkxt-k + e\]
La versión de Granger establece que x, es “media independiente” de la corriente y condicional en x actual y pasado. Granger extendido la definición de “y no causa x” es más fuerte que la condición de que y sea independiente de x futuro condicional de x actual y pasado; entonces la no causalidad es más fuerte que la exogeneidad estricta. Sin embargo, bajo una condición de regularidad débil, si y es independiente de x futuro condicional en x actual y pasado y y pasado, entonces y no causa x.
library(lmtest) # El paquete R "lmtest" incorpora el procedimiento de causalidad de Granger, que prueba los modelos de regresión lineal.Una colección de pruebas, conjuntos de datos y ejemplos para la verificación de diagnóstico en modelos de regresión lineal. Además, se proporcionan algunas herramientas genéricas para la inferencia en modelos paramétricos.
En R, podemos usar la función grangertest del paquete lmtest para realizar una prueba Granger-Causality, que tiene la siguiente sintaxis:
dónde:
X: Esta es la primera serie temporal.
Y: el segundo conjunto de la serie temporal.
data("EuStockMarkets") # Cargar los datos
Estandarizar la data
tsData<-EuStockMarkets[,1:2] # Este conjunto de datos contiene valores para los valores DAX, SMI, CAC y FTSE, pero estamos utilizando solo valores DAX y SMI.
head(tsData) # Mostar primeras 6 filas
library(lmtest) # Realizar la prueba de causalidad de Granger
grangertest(DAX~SMI, order=3, data = tsData)
grangertest # para examinar si los valores de SMI predicen los valores de DAX en el futuro.
La prueba F, la prueba t o la prueba de Wald (utilizadas en R) se calculan para probar las siguientes hipótesis nulas y alternativas:
\[H0: αi = 0 [1, k]\]
Sea cero para cada i del elemento.
\[H1: αi ≠ 0 [1, k]\] Sea cero para al menos 1 i del elemento.
Esencialmente, estamos tratando de determinar si podemos decir que estadísticamente x proporciona más información sobre los valores futuros de y que los valores pasados de y solo. Bajo esta definición, está claro que no estamos tratando de probar la causalidad real, solo que los dos valores están relacionados por algún fenómeno. En ese sentido, también debemos ejecutar este modelo a la inversa para verificar que y no proporcione información sobre los valores futuros de x. Si encontramos que este es el caso, es probable que exista alguna variable exógena, z, que deba controlarse o podría ser una mejor candidata para una mayor causalidad.
P-Value > Nivel de significancia, no se rechaza la hipotesis nula.
En las varibles se establece de que X no causa a y, en dado caso puede darse que sea a la inversa. Rechazar la HO Estadistico de prueba sea 0 *P-value<0.05 Las salidas que genera R
El estadístico de prueba F se denota con la letra F igual a 12.819 y el valor p que corresponde al estadístico de prueba F es Pr (> F) 0.000352.
el valor p es menor que 0.05 siendo de 0.04689
H0: αi = 0 [1, k] y la inversa H1: αi ≠ 0 [1, k NO Rechazar la hipótesis nula e inferir que la serie de tiempo si el valor p es mayor que un nivel de significancia particular (por ejemplo = 0.05).
El valor p de la prueba es 0.04689. Rechazamos la hipótesis nula porque este valor es menor que 0.05. Es decir, los valores de DAX predicen los valores de SMI en el futuro.
Implementacion de un ejemplo
Cargar los datos
library(lmtest)
library(zoo)
tsData <- EuStockMarkets[, 1:2]
head(tsData)## Time Series:
## Start = c(1991, 130)
## End = c(1991, 135)
## Frequency = 260
## DAX SMI
## 1991.496 1628.75 1678.1
## 1991.500 1613.63 1688.5
## 1991.504 1606.51 1678.6
## 1991.508 1621.04 1684.1
## 1991.512 1618.16 1686.6
## 1991.515 1610.61 1671.6
Realizar la prueba de causalidad de Granger.
library(lmtest)
grangertest(DAX~SMI, data=tsData)## Granger causality test
##
## Model 1: DAX ~ Lags(DAX, 1:1) + Lags(SMI, 1:1)
## Model 2: DAX ~ Lags(DAX, 1:1)
## Res.Df Df F Pr(>F)
## 1 1856
## 2 1857 -1 12.819 0.000352 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
grangertest ## function (x, ...)
## {
## UseMethod("grangertest")
## }
## <bytecode: 0x000000001c08aec0>
## <environment: namespace:lmtest>
El estadístico de prueba F se denota con la letra F igual a 12.819 y el valor p que corresponde al estadístico de prueba F es Pr (> F) 0.000352.
Realizar la prueba de Causalidad de Granger a la inversa.
grangertest(SMI~DAX, order=3, data=tsData)## 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
El valor p de la prueba es 0.04689. Rechazamos la hipótesis nula porque este valor es menor que 0.05. Es decir, los valores de DAX predicen los valores de SMI en el futuro.
Como resultado, podemos concluir que conocer los valores de SMI es útil para proyectar los valores de DAX en el futuro.
El propósito de este test es examinar causalidad unidireccional, estimando una ecuación de \(Y\) en función de valores pasados suyos y de valores pasados y futuros de \(X\). De esta forma, si los valores futuros de \(X\) son no significativos, entonces la variable \(Y\) no causa a \(X\).
En una prueba de causalidad de Granger, Christopher Sims explota el hecho de que el futuro no puede causar el presente para decidir si una variable \(Y\) causa una variable \(X\), Sims propone estimar el siguiente par de ecuaciones:
\[Y_t=α_1+∑_{i=1}β_{i} X_{t-i}+∑_{i=1}γ_{i} Y_{t-i}+∑_{i=1}λ_{i} X_{t+i} +ε_{1t}\]
\[X_t=α_2+∑_{i=1}δ_{i} X_{t-i}+∑_{i=1}θ_{i} Y_{t-i}+∑_{i=1}ω_{i} Y_{t+i} +ε_{2t}\]
Estas regresiones incluyen valores rezagados, actuales y futuros, o adelantados, de las regresoras; los términos como \(X_{t+1}\), \(X_{t+2}\), se llaman términos adelantados.
\(Y\) es causa según Granger de \(X\), debe haber alguna relación entre \(Y\) y los valores adelantados, o futuros, de \(X\). De esta manera, en lugar de probar que \(∑βi=0\), se debe probar que \(∑λi=0\) en la primera ecuación. Por tanto:
\(H_0:∑λi≠0\)
\(H_1:∑λi=0\)
Si se rechaza la hipótesis nula, la causalidad va de \(Y\) a \(X\), y no de \(X\) a \(Y\), porque el futuro no puede causar el presente. Los mismos comentarios aplican a la segunda ecuación.
Para realizar la prueba de Sims, se estima la primera ecuación sin los términos adelantados (regresión restringida) y después se estima la primera ecuación con los términos adelantados (regresión no restringida). Enseguida se realiza la prueba \(F\). Si el estadístico \(F\) es significativo (por ejemplo, en el nivel de 5%), se concluye que es \(Y\) la que causa, según Granger, \(X\). Los mismos comentarios aplican a la segunda ecuación.