A31_MAE118_Cointegracion y Causalidad

Tema de investigación: Cointegración y Causalidad.

Métodos para el Análisis Económico GT-03

Docente: Carlos Ademir Pérez Alas

Ciclo II - 2024

Integrantes:

Carpaño Benites, Brandon Edenilson CB22013
Jimenez Carrillo, Sabrina Elizabeth JC22006
López Cabrera, Katherine Lissette LC22029

Explique cómo realizar las siguientes pruebas en R:

1. Prueba de Raíz Unitaria de Dickey & Fuller.

Propósito de la prueba, ¿Para qué se usa?

Definición: Si existe una raíz unitaria en una serie de tiempo, entonces, el valor de uno en el polinomio autorregresivo se encuentra dentro del círculo unitario en el plano complejo. Matemáticamente, si tenemos un modelo autorregresivo de orden p, AR(p), la ecuación característica se puede escribir como:

\[ \Delta y_t = \alpha + \beta t + \gamma y_{t-1} + \delta \Delta y_{t-1} + \epsilon_t \]

Dónde:

  • \(\Delta\) es el operador de diferencia,

  • \(y_t\) es el valor de la serie temporal en el momento \(t\),

  • \(\alpha\) es un término constante,

  • \(\beta t\) representa una tendencia temporal,

  • \(\gamma\) es el coeficiente en el nivel rezagado de la serie, y

  • \(\epsilon_t\) es el término de error.

Una raíz unitaria está presente si \(\phi_1 = 1\) y todos los demás \(\phi\) son cero.

Desde la perspectiva de un econometrista, identificar y tratar las raíces unitarias es crucial para una especificación precisa del modelo. Desde el punto de vista de un estadístico, se trata de garantizar la solidez de las estadísticas inferenciales. Para un analista financiero, las raíces unitarias pueden señalar la diferencia entre una estrategia comercial rentable y una que es simplemente el resultado de características de paseo aleatorio. (citado de fasterCapital)

Para obtener los resultados de si una serie temporal cuenta o no con una raíz unitaria, se realiza la prueba “Dickey Fuller aumentada” (ADF), en la cual se profundizará en los siguientes puntos.

Hipótesis de la prueba.

La prueba Dickey Fuller posee las siguientes hipótesis: \[ \Delta Y_t = \alpha + \beta t + \gamma Y_{t-1} + \sum_{i=1}^{p} \delta_i \Delta Y_{t-i} + \epsilon_t \]

La hipótesis nula \(H_0\) postula que \(\gamma = 0\), lo que indica la presencia de una raíz unitaria. Debe haber una raíz unitaria si el coeficiente del primer rezago de la serie temporal es igual a uno. Esta hipótesis puede probarse de una manera muy simple utilizando el principio del multiplicador de Lagrange.

Hipótesis alternativa: \(H_1\) establece que \(\gamma < 0\) es un coeficiente menor que uno, por lo cual existe estacionariedad

Interpretación: Si una serie temporal posee raíz unitaria, entonces el sistema evaluado tendrá datos permanentes, un ejemplo de ello es lo que establece Durlauf y Blume: Desde la perspectiva de la modelización económica, la cuestión de la persistencia también es importante porque, si las variables macroeconómicas como el PNB real tienen una raíz unitaria, entonces los shocks sobre el PNB real tienen efectos permanentes, mientras que en la teoría tradicional del ciclo económico el efecto de los shocks sobre el PNB real suele considerarse sólo temporal

Sintaxis de implementación en R, explicando cada uno de los argumentos.

Instalar librería “urca”

# ur.df(y, tipo = c("ninguno", "deriva", "tendencia"), rezagos = 1, selectlags = c("Fijo", "AIC", "BIC"))

“ur.df” es el término en inglés para raíz unitaria, unit root.

  • y -> es la función/base con la que se trabaja.

  • tipo/type -> referencia al tipo de prueba que se desee realizar “none” = ninguno, “drift” = deriva y “trend” = tendencia.

  • rezagos/retrasos -> referencia al número de rezagos para la variable endógena que se incluirá.

  • selectlags -> indica la selección de los rezagos se puede lograr según los criterios de información de Akaike “AIC”o de Bayes “BIC”. El número máximo de rezagos considerados se establece mediante lags. El valor predeterminado es utilizar una “fixed”longitud de rezago establecida mediante lags.

Se cuenta también con otra función llamada “uniroot” pero esta función es solo para raices con una sola dimensión, no aplica como tal a la prueba Dickey Fuller.

Fuente: Documentación Datacamp.

Estadístico de prueba

El estadístico de prueba se escribe como p-value en el resultado final, es necesario recordar que la hipótesis nula en este test es que la serie no es estacionaria, si p-value llegase a ser menor de 0.05 (alpha) esto indica que la serie es estacionaria con un nivel de confianza del 95%.

Criterio de decisión

Se explicó anteriormente que acorde a los datos de p-value < alpha (0.05) entonces no se rechaza \(H_0\). De igual forma se puede hacer un criterio con el resultado de alpha, aunque este no sea tan visible en el resultado final de la prueba en ur.df:

Si el parámetro alfa es igual a cero implica que la serie sigue un camino aleatorio, en consecuencia es no estacionaria. Si el parámetro alfa es distinto de cero y es negativo, entonces la serie es estacionaria.

Interpretación del rechazo, o no rechazo de la Hipótesis Nula de la prueba.

\(H_0\) = \(\gamma = 0\), lo que indica la presencia de una raíz unitaria.

\(H_1\) = \(\gamma < 0\) es un coeficiente menor que uno, por lo cual existe estacionariedad.

Implementación de un ejemplo.

library(urca)
data(Raotbl3)
attach(Raotbl3)
lc.df <- ur.df(y=lc, lags=3, type='trend')
summary(lc.df)
## 
## ############################################### 
## # 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 
## -0.044714 -0.006525  0.000129  0.006225  0.045353 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  0.7976591  0.3547775   2.248   0.0270 * 
## z.lag.1     -0.0758706  0.0338880  -2.239   0.0277 * 
## tt           0.0004915  0.0002159   2.277   0.0252 * 
## z.diff.lag1 -0.1063957  0.1006744  -1.057   0.2934   
## z.diff.lag2  0.2011373  0.1012373   1.987   0.0500 . 
## z.diff.lag3  0.2998586  0.1020548   2.938   0.0042 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.01307 on 89 degrees of freedom
## Multiple R-squared:  0.1472, Adjusted R-squared:  0.09924 
## F-statistic: 3.071 on 5 and 89 DF,  p-value: 0.01325
## 
## 
## Value of test-statistic is: -2.2389 3.7382 2.5972 
## 
## 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

Interpretación:

Esta base de datos posee raíz unitaria, no se rechaza \(H_0\) = \(\gamma = 0\), ya que p-value < 0.05, por lo tanto se establece que el sistema evaluado tendrá datos permanentes y la serie no es estacionaria.

2. Cointegración en el enfoque de Soren Johansen.

Propósito de la prueba, es decir ¿Para qué se usa?

Primero es necesario concoer sobre Cointegración, esta significa que dos o más series de tiempo comparten tendencias estocásticas comunes. Así, mientras que cada serie muestra un comportamiento uniforme o de tendencia, una combinación lineal de las series no muestra ninguna tendencia. (p.53)

Esta prueba se caracteriza por:

  • Método basado en modelos VAR (Vectores autorregresivos) Un modelo autorregresivo vectorial general es similar al modelo AR(p), excepto que cada cantidad tiene un valor vectorial y se utilizan matrices como coeficientes. La forma general del modelo VAR(p), sin deriva, viene dada por:

\[X_{t\ }=\ μ\ +\ A_1X_{t-1}+...+A_pX_{t-p}+W_t\]

Dónde \(μ\) es la media vectorial de la serie, \(A_1\) son las matrices de coeficientes para cada rezago y \(W_t\) es un término de ruido gaussiano multivariado con media cero.

  • Prueba basada en el Modelo de Corrección de Errores Vectoriales Fromula base: \[ΔX_{t\ }=\ μ\ +\ Ax_{t-1}+ΔL_1Δx_{t-1}+...\ +L_PΔx_{t-p}+W_t\]

Dónde \(ΔX_{t\ }\) es el operador de diferenciación \(Ax\) es la matriz de coeficientes para el primer rezago \(L_P\) son las matrices para cada rezago diferenciado. La prueba verifica la situación de no cointegración, que ocurre cuando la matriz A=0

Existen dos tipos:

1- eigenvalor máximo \(\ln[LMV(r)/LMV(r+1)]\), donde r=0,1,…,n−1, es utilizada para corroborar la hipótesis nula donde el rango de cointegración es r versus la alterna de que el rango de cointegración es r+1.

Su estadístico de prueba es: \(\ell_{r+1}^{*}-\ell_{r}^{*}=-\frac{T}{2} \ln \left(1-\widehat{\lambda}_{r+1}\right)\)

2- Prueba de traza, se basa en la razón de máxima verosimilitud: \(\ln \left[L_{M V}(r) / L_{M V}(n)\right]\) 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}^{*}-\ell_{0}^{*}=-\frac{T}{2} \sum_{i=r+1}^{n} \log \left(1-\widehat{\lambda}_{i}\right)\)

Fuente: Wilson Sandoval

El procedimiento multivariado de S. Johansen (1988 y 1991), se usa para a probar la existencia de cointegración en la variables I(1) la cual indica integración de primer orden y I(0) que representa ser de orden cero.

En la tecnología de 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 más combinaciones lineales J(U) o vectores de cointegración. (Cuellar, 2021)

Ventajas de la prueba:

  • No trabaja en torno a una variable dependiente

  • Puede detectar diversos vectores de cointegración

  • Trata cada variable como si fueran variables endógenas (Wassell y Saunders, 2008)

Hipótesis de la prueba.

Las series temporales que forman \(X_t\) están cointegradas si las combinaciones lineales \(a'X_t\) son variables aleatorias I(0).

Si \(X_t\) no está cointegrada, entonces \(a'X_t\) será I(1) para cualquier vector a distinto de cero. Las pruebas de cointegración preguntan si \(a'X_t\) es I(1) o I(0).

Hipótesis nula: \(H_0\):\(a'X_t\) -> r = 0 , rango = 0

Variables no cointegradas, bajo el modelo autorregresivo para a´Xt contiene una raíz unitaria

Hipótesis alternativa: \(H_1\):\(a'X_t\) -> r > 0, rango > 0

Variables cointegradas, indica una relación de cointegración entre dos o posiblemente más series de tiempo.En el modelo autorregresivo para \(a'X_t\) es estable.

Acorde a Durlauf, S. y Blume, L. (2010)

Sintaxis de implementación en R, explicando cada uno de los argumentos.

#johansen<-ca.jo(txhs, type="eigen",spec="transitory",ecdet="none",K=2)

Sus argumentos son los siguientes:

  • data.frame -> es la base de datos con la que se desea trabajar.
  • type -> indica con cuál estadística trabajará, sea la prueba de traza “trace” o la prueba de valor propio máximo “eigen”
  • ecdet -> Argumento que permite especificar si se necesita un termino constante o deriva del modelo
  • spect -> Argumentoo utilizado para casos donde se desee trabajar con VEC “longrun” o “transitory”

Estadístico de prueba

Acorde al resultado de R, se debe utilizar p-value, el cual especifica el nivel de significación más bajo al cual se puede rechazar la hipótesis nula. Se debe considerar alpha de 0.05, aunque puede quedar a criterio del investigador.

\(\hat{t} _{ \hat{\alpha}} =\frac{\hat{\alpha} }{SE\left(\alpha\right)}<0\)

• Rechace \(H_0\) si p < \(\alpha\)

• No rechace a \(H_0\) si p > \(\alpha\)

En estadística es convencional rechazar la hipótesis nula con un nivel de significación \(\alpha\) = 0.05 (Cuellar, 2021)

Se pueden utilizar los estadísticos de las pruebas que posee Johansen: 1. Eigen valor máximo: Su estadístico de prueba es: \(\ell_{r+1}^{*}-\ell_{r}^{*}=-\frac{T}{2} \ln \left(1-\widehat{\lambda}_{r+1}\right)\)

  1. Prueba de traza: \(\ell_{A}^{*}-\ell_{0}^{*}=-\frac{T}{2} \sum_{i=r+1}^{n} \log \left(1-\widehat{\lambda}_{i}\right)\)

Criterio de decisión

P<0.10 No significativo

0.05<p<0.10 marginalmente significativo

0.01<p<0.01 Significativo

0.001<p<0.01 altamente significativo

p<0.01 fuertemente significativo

Interpretación del rechazo, o no rechazo de la Hipótesis Nula de la prueba.

Recahzar hipótesis nula implica: Se deben utilizar modelos que permitan resultados en los cuales trabajar los errores, como: ECM o ARDL VECM

No rechazar hipótesis nula: Se recomienda estimar el modelo en primeras diferencias

Implementación de un ejemplo.

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.853773e-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.437019e-13
## LRY.d  0.11502204  0.01975028  0.049938460  1.108654e-03 -1.738409e-13
## IBO.d  0.02317724 -0.01059605  0.003480357 -1.573742e-03 -2.139321e-14
## IDE.d  0.02941109 -0.03022917 -0.002811506 -4.767627e-05 -1.148246e-14

Interpretación de resultados: Para la hipotesis nula de r=0 el estadistico de prueba es mayor que el valor critico correspondiente a 95% , se rechaza la hipotesis nula de no cointegración y se asume que hay al menos 1 vector de cointegración

3. Causalidad en el sentido de Granger.

Propósito de la prueba, es decir ¿Para qué se usa?

En esencia su principal propósito es determinar la existencia o ausencia de relaciones entre variables de serie temporal, es decir que es una herramienta estadística para examinar si una serie puede usarse para pronosticar a otra, mediante una metodología que se enfoca en valores conocidos pasados de una determinada serie o variable para reproducir predicciones futuras sobre el comportamiento de un fenómeno. Según Granger en su discurso del premio Nobel 2003, la causalidad que le representa posee dos componentes, el primero es que la causa le antecede al efecto y el segundo es que la causa contiene información única acerca del efecto y esta no se encuentra en otra variable.

En este sentido, si se habla de dos series temporales y están integradas o relacionadas se dice que al menos una influye sobre la otra, es decir una causa a la otra (Pañeda C. 2009). Este punto es esencial, ya que la causalidad puede evidenciarse en la capacidad de predicción sobre valores futuros de una serie a partir de valores pasados de otra.

La prueba de causalidad en sentido de Granger tiene múltiples aplicaciones prácticas principalmente en economía. Un caso específico de Gómez Aguirre, Mario, & Rodríguez, José Carlos. (2016). muestra que los precios del productor pueden desempeñar un papel importante en la predicción de la inflación de los precios al consumidor. Los resultados sugieren que existe una relación causal en sentido de Granger, donde los cambios en los precios del productor influyen en los precios al consumidor, lo que hace que esta información sea valiosa para mejorar los pronósticos económicos.

Hipótesis de la prueba.

En términos generales y de forma cualitativa según Granger en (López, R. 2022), como hipótesis nula de la prueba se entiende que la serie temporal \(X_t\) no causa que la \(Y_t\) se cause en sentido de granger lo que significa que no existe efectivo significativo de los valores pasados sobre los valores futuros.

Mientras que la hipótesis alternativa es que la serie temporal \(X_t\) si causa que la serie temporal \(Y_t\) se convierta en sentido de granger, es decir, los valores pasados si tienen efecto significativo sobre los valores futuros.

\[Ho: B_1 = 0 (i = 1, 2 … k)\] \[H1: B_1 = 0 (i = 1, 2 ... k) \neq 0\] La hipótesis nula indica que todos coeficientes asociados a los rezagos del modelo son iguales a 0, indicando que la información adicional no incrementa estadísticamente su valor de predicción y por tanto la serie X no causa Granger a Y, por otro lado, la hipótesis alternativa indica que si al menos uno de los coeficientes asociados a los rezagos es distinto de cero, si hay causalidad de granger.

Sintaxis de implementación en R, explicando cada uno de los argumentos.

El test de granger se realiza mediante la prueba estadística F brindando un valor p que coadyuvará en la regla de decisión. Para implementar el test en R se recurre a la función grangertest que es proporcionada por la librería o paquete lmtest y con la siguiente sintaxis se evalúa si la serie temporal \(X_t\) “causa en sentido de granger” a otra serie temporal \(Y_t\).

# grangertest(X, Y, order = 1, test= "F")

Dónde:

  • X: Es el primer conjunto de información, serie de tiempo o variable.

  • Y: El segundo conjunto de información, es decir segunda variable o serie temporal.

  • order: para la primera serié temporal, indica el número de rezagos que se utilizarán. El valor predeterminado es 1 y el test depende de este número de rezagos.

  • test: Hace referencia al tipo de prueba estadista.

Estadístico de prueba

La prueba de causalidad de granger incorpora la estimación de dos regresiones o conjuntos de información para las series temporales respectivas de la siguiente forma:

\[Y_t\sum_{i=1}^{n}\alpha _1X_{t-i}+\sum_{j=1}^{n}\beta _jY_{t=j}+\varepsilon _{1t}\]

\[X_t\sum_{i=1}^{m}\lambda_1X_{t-i}+\sum_{j=1}^{m}\delta_j Y_{t=j}+\varepsilon _{2t}\]

De acuerdo a los planteamientos presentados en (Gujarati, 2010, p. 654) la estimación brinda la Suma de Cuadrados Restringidos \((SCR)\) y la Suma de Cuadrados de los Residuos no restringidos \((SCR_nr)\), posteriormente se construye el estadistico F de la siguiente forma:

\[ F = \frac{SCR_R - SCR_{NR}/m}{SCR_{NR}/(n-k)} \] En donde m es igual al número de términos rezagados de \(X\), n el número total de observaciones y k es el número de parámetros estimados en la regresión no restringida, una distribución F con m y (n-k) grados de libertad.

Criterio de decisión

El criterio de decisión para la prueba de causalidad en el sentido de Granger se basa en evaluar si el p-valor asociado al estadístico F que refleja la salida de la función grangertest ,es menor que el nivel de significancia generalmente a 0.05:

Rechazar \[ H_0: p-value<\alpha \] No rechazar \[H_0: p-value ≥ \alpha\]

  • Rechazar \(H_0\): Si el p-value es menor que \(α\). Esto indica que \(X\) causa a \(Y\) en el sentido de Granger, ya que los rezagos de \(X\) tienen un efecto estadisticamente significativo sobre \(Y\).

  • No rechazar \(H_0\): Si el p-value es mayor o igual a \(α\). En este caso, no hay evidencia estadisticamente suficiente para concluir que \(X\) causa a \(Y\).

Además, si se toma en cuenta directamente el estadístico F:

  • Rechazamos \(H_0\) si el valor de F calculado excede el valor crítico de F determinado para el nivel de significancia y grados de libertad del modelo.

Replicando la salida del ejemplo planteado por Finnstats (2021) R, el valor p-value se encuentra denotado por Pr(>F).

tsData <- EuStockMarkets[, 1:2]
library(lmtest)
grangertest(DAX ~ SMI, order = 3, data = tsData)
## 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

Interpretación del rechazo, o no rechazo de la Hipótesis Nula de la prueba.

El rechazo de la hipótesis nula indica que la serie temporal X causa en el sentido de granger a la serie temporal Y, debido a que los coeficientes asociados a los rezagos son distintos de cero lo que lleva a concluir que existe suficiente evidencia para rechazar la hipótesis. En cuanto a la varianza \((\sigma^{2})\) se tiene lo siguiente:

\[ \sigma^{2}(Y_{t+1}|I_t)< \sigma^{2}(Y{t+1}|I_t - X_t) \]

Es decir, siempre que la varianza de realizar una regresión y de pronosticar a \(Y\) en el siguiente periodo (t+1) condicional a ciertos conjuntos de información, genera una varianza menor que al estimar \(Y_t\) (bajo su propio información) en el siguiente periodo en un conjunto que no excluye la información de \(X\), retomando a Granger, un componente esencial es que existe información única y relevante exclusivamente en determinada causa. Por lo anterior, se concluye que al rechazar la hipótesis nula se extrae parte de la varianza del término de error lo que indica que se mejora la capacidad predictiva de dicho modelo.

Caso contrario, si no se rechaza \(H_0\), significa que los valores pasados de \(X\) no aportan información adicional significativa para predecir a \(Y\), más allá de la proporcionada por los propios valores pasados del conjunto de información de \(Y\). Esto sugiere que no hay evidencia suficiente para afirmar que existe una relación causal en el sentido de Granger entre las serie \(X\) e \(Y\).

Implementación de un ejemplo.

A continuación se presenta el ejemplo extraido de (Benites, L. 2021) sobre el conjunto de datos ChickEgg que se encuentra en la libreria lmtest en ella se encuentra información sobre la cantidad de pollos y huevos que se ha producido en un periodo 53 años, es decir desde 1930 a 1983.

  • Conjunto de datos

Se presentan dos series una denominada “chicken”, haciendo referencia al total de pollos en EE.UU. Mientras que “Egg” representa a la otra serie e indica la producción total de huevos en millones de docenas anuales.

data_egg <- data(ChickEgg)
head (ChickEgg)
##      chicken  egg
## [1,]  468491 3581
## [2,]  449743 3532
## [3,]  436815 3327
## [4,]  444523 3255
## [5,]  433937 3156
## [6,]  389958 3081
grangertest(chicken ~ egg, order = 8, data = ChickEgg)
## Granger causality test
## 
## Model 1: chicken ~ Lags(chicken, 1:8) + Lags(egg, 1:8)
## Model 2: chicken ~ Lags(chicken, 1:8)
##   Res.Df Df      F  Pr(>F)  
## 1     29                    
## 2     37 -8 3.1539 0.01078 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Interpretación: Apartir de la salida anterior, se puede evidenciar el valor P-value denotado por “Pr(>F)” que es de \(0.010 < 0.05\) lo que indica ser un valor menor al nivel de significancia. Por lo tanto,existe suficiente evidencia estadistica para rechazar la Hipótesis Nula.

En primera instancia, se evidencia que la serie huevos es causa granger de la serie pollo, esto a partir de la información historica del conjunto de información \((I_t= Serie_{Eggs} + Serie_{Chicken}+ \varepsilon_t)\), en este caso el test se ha desarrollado con 8 rezagos en vez de los 3 que plantea (Benites, L. 2021), en ambos casos se rechaza la \(H_0\) lo cual es un buen indicador y lo que asegura que la segunda serie si aporta significativaente valor y por lo tanto la varianza es menor al modelo estimado con un solo conjunto de información. Sin embargo, es necesario realizar la prueba inversa de la siguiente forma:

# Test de granger Inverso (Cambia el orden de las series)
# Premisa: La cantidad de pollos predice la cantidad futura de huevos

grangertest(egg ~ chicken, order = 8, data = ChickEgg)
## Granger causality test
## 
## Model 1: egg ~ Lags(egg, 1:8) + Lags(chicken, 1:8)
## Model 2: egg ~ Lags(egg, 1:8)
##   Res.Df Df      F Pr(>F)
## 1     29                 
## 2     37 -8 0.6101 0.7619

Interpretación: Se presenta el caso contrario al anterior, efectivamente el valor de P-value es mayor al nivel de significancia el 0.71 puntos, lo que indica que existe la suficiente evidencia estadistica para No rechazar la hipotesis nula y decir que no hay causalidad en este sentido contrario, en otras palabras, la cantidad de pollos no predice la cantidad de huevos y en terminos generales, pueden existir otros factores exogenos al modelo que afecten la cantidad futura.

  • Con datos aleatorios: El test tambien se puede utilizar con la creación de datos aleatorios a partir de un set de datos de 1,235.0 y tomando series de 5,000 cada una.
#cargar datos

set.seed(1235)

ts1 <- ts(rnorm(n=5000))
ts2 <- ts(rnorm(n=5000))
library (lmtest)
grangertest(ts1, ts2, order=3, test="F")
## Granger causality test
## 
## Model 1: ts2 ~ Lags(ts2, 1:3) + Lags(ts1, 1:3)
## Model 2: ts2 ~ Lags(ts2, 1:3)
##   Res.Df Df      F Pr(>F)
## 1   4990                 
## 2   4993 -3 0.2108  0.889

Como resultado final, según el planteamiento de hipotesis de la prueba es evidente que existe suficiente evidencia estadistica para rechazar la hipótesis nula ya que el valor P-value es mayor al nivel de significancia, indicando de esta manera que la serie 2 no aporta valor de prección.

Referencias bibliográficas