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

Resultado PNADc Trimestral - 3° Trimestre/2024

A Análise Macro apresenta os resultados da PNADc Trimestral do 3º trimestre de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Análise exploratória para modelagem preditiva no Python

Antes de desenvolver bons modelos preditivos é necessário organizar e conhecer muito bem os dados. Neste artigo, damos algumas dicas de recursos, como gráficos, análises e estatísticas, que podem ser usados para melhorar o entendimento sobre os dados usando Python.

Como usar modelos do Sklearn para previsão? Uma introdução ao Skforecast

Prever séries temporais é uma tarefa frequente em diversas áreas, porém exige conhecimento e ferramentas específicas. Os modelos de machine learning do Sklearn são populadores, porém são difíceis de aplicar em estruturas temporais de dados. Neste sentido, introduzimos a biblioteca Skforecast, que integra os modelos do Sklearn e a previsão de séries temporais de forma simples.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.