O ovo ou a galinha? Teste de causalidade de Granger na granja

O ovo ou a galinha é uma referência a um dilema clássico de causalidade que comumente surge da pergunta "O que veio primeiro, o ovo ou a galinha?" O dilema parte da observação de que a galinha nasce do ovo e o ovo é colocado pela galinha, de modo que seria difícil determinar a sequência dos acontecimentos. A resposta é apropriadamente endereçada pela biologia evolutiva, mas aqui faremos uso desse dilema mundano para trazer um pouco de luz com uma aplicação do teste de causalidade de Granger.

Causalidade no sentido de Granger

O teste de causalidade de Granger serve para verificar se uma série temporal é útil em termos de previsão de outra série temporal, ou seja, o termo "causalidade" deve ser pensado como "precedência temporal". Portanto, ara entender e aplicar o teste vale começar distinguindo:

  • O que o teste não é: o teste de causalidade de Granger não testa a causalidade no sentido estrito entre duas variáveis, ou seja, não estamos investigando inferência causal - tópico muito explorado em áreas da estatística e econometria - entre X e Y.
  • O que o teste é: no teste de causalidade de Granger a causalidade tem o sentido de precedência temporal, ou seja, com o teste podemos avaliar se uma variável X precede temporalmente uma variável  Y, quando valores defasados de X, além de valores defasados de Y, ajudam a prever o valor presente de Y. E essa informação de precedência temporal não necessariamente significa que uma variável causa a outra.

Por isso que é usado, quando identificamos precedência temporal com o teste, uma terminologia diferente para evitar confusão, ou seja, falamos que a "série X causa no sentido de Granger a série Y" ou "X Granger-causa Y".

Intuitivamente, com a aplicação do teste podemos dizer que uma série temporal X Granger-causa outra série temporal Y se as previsões dos valores de Y com base em seus próprios valores defasados e nos valores defasados de X forem "melhores" do que as previsões de Y baseadas apenas nos próprios valores defasados de Y. Formalmente, o teste compara dois modelos de regressão linear:

  • Modelo restritoyt = α0 + α1yt−1 + ⋯ + αmyt−m + errot
  • Modelo irrestritoyt = α0 + α1yt−1 + ⋯ + αmyt−m + β1xt-1 + ⋯ + βmxt−m + errot

O número de defasagens m deve ser especificado pelo usuário. Dessa forma, testa-se as hipóteses:

  • Hipótese nula: a série temporal X não Granger-causa a série Y
  • Hipótese alternativa: a série temporal X Granger-causa a série Y

Um teste F é então aplicado para determinar se os coeficientes dos valores passados de xt são conjuntamente iguais a zero (H0: β1 = ⋯ = βm = 0), produzindo um p-valor. Dessa forma, se o p-valor for menor que um determinado nível de significância (por exemplo, 5%), podemos rejeitar a hipótese nula e dizer que a série temporal X Granger-causa a série Y. Isso significa que os valores de previstos para Y baseados em suas próprias defasagens e em defasagens de X são melhores do que valores previstos para Y baseados somente em defasagens de Y. Usualmente aplica-se o teste em ambas as direções, ou seja, de X Y e de Y X.

Na prática, você deve testar se as séries de interesse são estacionárias (testes como ADF, PP, KPSS, etc.), diferenciar as séries se necessário e então aplicar o teste de causalidade de Granger nas séries estacionárias (diferenciadas ou não).

Supondo que o dilema do ovo e da galinha possa ser representado através dos dados disponibilizados por Zeileis e Hothorn (2002), isto é, as séries temporais anuais de população de galinhas em 1º de dezembro e produção de milhões de dúzias de ovos nos EUA expostas no gráfico acima, partimos agora para a aplicação prática do que foi exposto acima.

Este exercício tem inspiração nos trabalhos prévios de Thurman e Fisher (1988) e Shikida et al. (2011). Códigos para replicação estão disponíveis para membros do Clube AM.

Testes de estacionariedade

Em primeiro lugar, aplicamos os testes de estacionariedade ADF, KPSS e PP em diversas especificações para as séries de ovos e galinhas. Abaixo apresentamos os resultados resumidos, mostrando o número de diferenças para a série ser estacionária, ao nível de significância de 5%:

Como resultado, todos os testes concordam que as séries são não estacionárias. Dessa forma, tiramos a primeira diferença das mesmas antes de prosseguir.

Teste de Causalidade de Granger

O próximo passo é aplicar o teste de causalidade de Granger sobre as séries de ovos e galinhas "estacionárias". Como dito, um número de defasagens deve ser especificado e há várias formas de realizar isso (como o uso de critérios de informação), mas aqui simplesmente testamos de 1 a 5 defasagens e encontramos resultados similares. Abaixo apresentamos os resultados do teste de causalidade de Granger em ambas as direções, ovo → galinha e galinha → ovo, usando 4 galinhas/ovos "defasadas":

Analisando os resultados, na direção Ovo → Galinha rejeitamos a hipótese nula ao nível de 5%, ou seja, podemos dizer que há precedência temporal ou, mais formalmente, a série temporal Ovo Granger-causa a série temporal Galinha. Na direção oposta falha-se em rejeita a hipótese nula (portanto Galinha não Granger-causa Ovo). Informalmente, o que o teste está dizendo é que ovos precedem galinhas, o que é coerente com a resposta da biologia evolutiva.

Saiba mais

Espero que esse exercício tenha despertado o seu interesse sobre esses assuntos e outras possíveis aplicações. Saiba mais e se aprofunde nos tópicos através dos nossos Cursos de Econometria Aplicada. Tenha acesso aos códigos de replicação fazendo parte do Clube AM.

Referências

Shikida, C., de Araujo Junior, A. F., & de Figueiredo, E. A. (2011). Ovos e galinhas: revisitando um dilema secular a partir de dados brasileiros. Revista Economia & Tecnologia, 7(3).

Thurman, W. N., & Fisher, M. E. (1988). Chickens, eggs, and causality, or which came first. American journal of agricultural economics, 70(2), 237-238.

Zeileis, A., & Hothorn, T. (2002). Diagnostic Checking in Regression Relationships. R News 2: 7–10.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

Criando um Dashboard de análise de Ações no Python

Um Dashboard é um painel de controle que consolida uma variedade de informações sobre um determinado objeto de estudo em um ou mais painéis. Ele simplifica significativamente o processo de análise de dados, oferecendo uma visão global e fácil de entender. Uma maneira simples de construir um Dashboard para acompanhar uma ação específica é utilizando duas ferramentas: Quarto e Python. Neste post, mostramos o resultado da criação de um Dashboard de Ação.

Analisando séries temporais no Python e esquecendo de vez o Excel

Séries temporais representam uma disciplina extremamente importante em diversas áreas, principalmente na economia e na ciência de dados. Mas, afinal, como lidar com esses dados que se apresentam ao longo do tempo? Neste exercício, demonstraremos como compreender uma série temporal e como o Python se destaca como uma das melhores ferramentas para analisar esse tipo de dado.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.