Como realizar um teste de causalidade granger em r


O teste de causalidade de Granger é usado para determinar se uma série temporal é ou não útil para prever outra.

Este teste usa as seguintes hipóteses nulas e alternativas:

Hipótese nula (H 0 ): a série temporal x não causa a série temporal y para Granger

Hipótese alternativa ( HA ): Série temporal x Série temporal de Granger causa y

O termo “causas de Granger” significa que conhecer o valor da série temporal x com um certo atraso é útil para prever o valor da série temporal y em um período posterior.

Este teste produz uma estatística de teste F com um valor p correspondente. Se o valor p estiver abaixo de um certo nível de significância (ou seja, α = 0,05), então podemos rejeitar a hipótese nula e concluir que temos evidências suficientes para afirmar que a série temporal x Granger causa a série temporal y.

Para realizar um teste de Granger-Causalidade em R, podemos usar a função grangertest() do pacote lmtest , que usa a seguinte sintaxe:

grangertest(x, y, ordem = 1)

Ouro:

  • x: a primeira série temporal
  • y: a segunda série temporal
  • ordem: número de deslocamentos a serem usados na primeira série temporal. O valor padrão é 1.

O exemplo passo a passo a seguir mostra como usar esta função na prática.

Etapa 1: definir as duas séries temporais

Para este exemplo, usaremos o conjunto de dados ChickEgg pré-carregado no pacote lmtest. Este conjunto de dados contém valores para o número de ovos produzidos, bem como para o número de galinhas nos Estados Unidos de 1930 a 1983:

 #load lmtest package
library (lmtest)

#load ChickEgg dataset
data(ChickEgg)

#view first six rows of dataset
head(ChickEgg)

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

Etapa 2: realizar o teste de causalidade de Granger

A seguir, usaremos a função grangertest() para realizar um teste de causalidade de Granger para ver se o número de ovos produzidos é preditivo do número futuro de galinhas. Executaremos o teste usando três deslocamentos:

 #perform Granger-Causality test
grangertest(chicken ~ egg, order = 3 , data = ChickEgg)

Granger causality test

Model 1: chicken ~ Lags(chicken, 1:3) + Lags(egg, 1:3)
Model 2: chicken ~ Lags(chicken, 1:3)
  Res.Df Df F Pr(>F)   
1 44                     
2 47 -3 5.405 0.002966 **
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Veja como interpretar o resultado:

  • Modelo 1: Este modelo tenta prever o número de galinhas usando o número de galinhas nos três anos anteriores e o número de ovos nos três anos anteriores como variáveis preditoras.
  • Modelo 2: Este modelo tenta prever o número de galinhas usando apenas o número de galinhas nos três anos anteriores como variáveis preditoras.
  • F: Esta é a estatística do teste F. Acontece que é 5.405.
  • Pr(>F): Este é o valor p que corresponde à estatística do teste F. Acontece que é 0,002966.

Como o valor p é inferior a 0,05, podemos rejeitar a hipótese nula do teste e concluir que conhecer o número de ovos é útil para prever o número futuro de galinhas.

Etapa 3: execute o teste de causalidade Granger ao contrário

Embora tenhamos rejeitado a hipótese nula do teste, é de fato possível que possa ocorrer um caso de causalidade reversa. Em outras palavras, é possível que o número de galinhas provoque uma alteração no número de ovos.

Para descartar essa possibilidade, precisamos realizar o teste de Granger-Causalidade ao contrário, usando galinhas como variável preditora e ovos como variável resposta :

 #perform Granger-Causality test in reverse
grangertest(egg ~ chicken, order = 3 , data = ChickEgg)

Granger causality test

Model 1: egg ~ Lags(egg, 1:3) + Lags(chicken, 1:3)
Model 2: egg ~ Lags(egg, 1:3)
  Res.Df Df F Pr(>F)
1 44                 
2 47 -3 0.5916 0.6238

O valor p do teste é 0,6238. Como não é inferior a 0,05, não podemos rejeitar a hipótese nula. Em outras palavras, o número de galinhas não prevê o número futuro de ovos.

Assim, podemos concluir que conhecer o número de ovos é útil para prever o número futuro de galinhas.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *