Cómo realizar una prueba de causalidad de Granger en R

La prueba de causalidad de Granger se utiliza para determinar si una serie de tiempo es útil para pronosticar otra.

Esta prueba utiliza las siguientes hipótesis nulas y alternativas:

Hipótesis nula (H 0 ): la serie de tiempo x no causa la serie de tiempo de Granger y

Hipótesis alternativa (H A ): Serie de tiempo x Serie de tiempo de causas de Granger y

El término «causas de Granger» significa que conocer el valor de la serie de tiempo x en un cierto retraso es útil para predecir el valor de la serie de tiempo y en un período de tiempo posterior.

Esta prueba produce un estadístico de prueba F con un valor p correspondiente. Si el valor p es menor que un cierto nivel de significancia (es decir, α = .05), entonces podemos rechazar la hipótesis nula y concluir que tenemos suficiente evidencia para decir que la serie de tiempo x Granger-causa la serie de tiempo y.

Para realizar una prueba de causalidad de Granger en R, podemos usar la función grangertest () del paquete lmtest , que usa la siguiente sintaxis:

grangertest (x, y, order = 1)

dónde:

  • x: la primera serie temporal
  • y: la segunda serie temporal
  • orden: el número de retrasos que se utilizarán en la primera serie de tiempo. El valor predeterminado es 1.

El siguiente ejemplo paso a paso muestra cómo utilizar esta función en la práctica.

Paso 1: definir la serie de dos tiempos

Para este ejemplo, usaremos el conjunto de datos ChickEgg que viene precargado en el paquete lmtest. Este conjunto de datos contiene valores para la cantidad de huevos fabricados junto con la cantidad de pollos en los EE. UU. Desde 1930 hasta 1983:

#cargar 
biblioteca de paquetes lmtest (lmtest)

#cargar datos del conjunto de
 datos de ChickEgg (ChickEgg)

#ver las primeras seis filas del encabezado del conjunto de datos
 (ChickEgg)

     Gallina, huevo
[1,] 468491 3581
[2,] 449743 3532
[3,] 436815 3327
[4,] 444523 3255
[5,] 433937 3156
[6,] 389958 3081

Paso 2: Realice la prueba de causalidad de Granger

A continuación, usaremos la función grangertest () para realizar una prueba de Causalidad de Granger para ver si el número de huevos fabricados es predictivo del número futuro de pollos. Ejecutaremos la prueba usando tres retrasos:

# realizar la prueba de causalidad de Granger 
grangertest (gallina ~ huevo, orden = 3 , datos = huevo de gallina)

Prueba de causalidad de Granger

Modelo 1: pollo ~ Lags (pollo, 1: 3) + Lags (huevo, 1: 3)
Modelo 2: pollo ~ Lags (pollo, 1: 3)
  Res.Df Df F Pr (> F)   
1 44                     
2 47-3 5,405 0,002966 **
---
Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1

Aquí se explica cómo interpretar el resultado:

  • Modelo 1: Este modelo intenta predecir el número de pollos utilizando el número de pollos en los tres años anteriores y el número de huevos en los tres años anteriores como variables predictoras.
  • Modelo 2: Este modelo intenta predecir el número de pollos utilizando solo el número de pollos en los tres años anteriores como variables predictoras.
  • F: Esta es la estadística de prueba F. Resulta que son las 5.405.
  • Pr (> F): este es el valor p que corresponde al estadístico de prueba F. Resulta ser .002966.

Dado que el valor p es menor que .05, podemos rechazar la hipótesis nula de la prueba y concluir que conocer el número de huevos es útil para predecir el número futuro de pollos.

Paso 3: Realice la prueba de causalidad de Granger a la inversa

Aunque rechazamos la hipótesis nula de la prueba, en realidad es posible que exista un caso de causalidad inversa. Es decir, es posible que la cantidad de pollos esté provocando que la cantidad de huevos cambie.

Para descartar esta posibilidad, necesitamos realizar la prueba de Causalidad de Granger a la inversa, utilizando pollos como variable predictora y huevos como variable de respuesta :

#realice la prueba de causalidad de Granger en reversee 
grangertest (huevo ~ pollo, orden = 3 , datos = ChickEgg)

Prueba de causalidad de Granger

Modelo 1: huevo ~ Lags (huevo, 1: 3) + Lags (pollo, 1: 3)
Modelo 2: huevo ~ Lags (huevo, 1: 3)
  Res.Df Df F Pr (> F)
1 44                 
2 47-3 0,5916 0,6238

El valor p de la prueba es 0,6238. Dado que esto no es menos de .05, no podemos rechazar la hipótesis nula. Es decir, la cantidad de pollos no predice la cantidad futura de huevos.

Por tanto, podemos concluir que conocer el número de huevos es útil para predecir el número futuro de pollos.

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Para consultar desde otra pestaña dentro de la misma hoja de cálculo en Hojas de cálculo de Google, puede usar…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!