Modelos que usam o Google Trends vs. modelos que usam outras variáveis exógenas: como comparar?

O pessoal do NEOC e o Vítor tocaram, recentemente, no assunto sobre a possibilidade de usar informação do Google Trends na previsão de variáveis macroeconômicas. Em particular, a taxa de desemprego. Neste post, o pessoal do NEOC chegou à conclusão de que sim, existe uma melhora na previsão quando se utiliza o número de buscas (no Brasil) pelo termo "emprego". Aqui, procuramos aprofundar um pouco o assunto, tentando levar em consideração um detalhe importante. A grande vantagem de se utilizar estas variáveis do Google Trends é que elas estão contínuamente disponíveis. Isso implica no fato de que para comparar modelos que usam o gtrends com modelos que utilizam outras variáveis exógenas, é preciso torná-los "comparáveis".  Vejamos por quê.

Como as variáveis do gtrends estão continuamente disponíveis, não precisamos esperar o final do mês ou trimestre para "rodarmos" mais um modelo. Isto é, podemos estimar modelos como

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

onde a variável x já é conhecida no instante t. Isso implica que é preciso levar em consideração a defasagem entre o gtrends e outras variáveis exógenas que você possa colocar para tentar prever y_t. Para comparar um modelo que usa o gtrends com modelos que utilizam outras variáveis exógenas, é preciso tornar esses modelos "comparáveis".  É basicamente isso que fazemos nesse exercício.

grafico01
Buscas no GTrends pelo termo "emprego".

Nesse contexto, geramos dois conjuntos de previsões. Um primeiro conjunto assume que todas as variáveis são conhecidas no instante t, isto é, tanto a população ocupada, a população economicamente ativa e o gtrends estão disponíveis em t, quando queremos prever Desemprego_{t}. No segundo conjunto, por outro lado, assumimos que as variáveis população ocupada e população economicamente ativa estão disponíveis em t-1 e o gtrends está disponível em t, para prever Desemprego_{t}. Ao invés de palavras, equações:

Conjunto 1

    \[ Desemprego_{t} = \alpha_i + \beta_i Desemprego_{t-1} + \gamma_i Trends_t + \epsilon_{i,t}, \]

    \[ Desemprego_{t} = \alpha_j + \beta_j Desemprego_{t-1} + \gamma_j PO_{t} + \epsilon_{j,t}, \]

    \[ Desemprego_{t} = \alpha_k + \beta_k Desemprego_{t-1} + \gamma_k PEA_{t} + \epsilon_{k,t}. \]

Conjunto 2

    \[ Desemprego_{t} = \alpha_i + \beta_i Desemprego_{t-1} + \gamma_i Trends_t + \epsilon_{i,t}, \]

    \[ Desemprego_{t} = \alpha_j + \beta_j Desemprego_{t-1} + \gamma_j PO_{t-1} + \epsilon_{j,t}, \]

    \[ Desemprego_{t} = \alpha_k + \beta_k Desemprego_{t-1} + \gamma_k PEA_{t-1} + \epsilon_{k,t}. \]

Onde Trends_t é a quantidade de vezes que a palavra "emprego" foi utilizada como termo de busca no Brasil no mês t.  Dada a diferença entre a disponibilidade de dados do gtrends e das demais variáveis exógenas, é preciso fazer alguns ajustes. Para isso devemos não só escolher uma medida, que neste caso foi o RMSE, de comparação entre modelos, mas também ter certeza de que a construção dessas medidas leva em consideração as diferenças entre os modelos estimados. Ou seja, devemos saber se estas medidas são efetivamente comparáveis (mais sobre as diferentes medidas você encontra aqui). Portanto, a construção deste exercício se deu da seguinte maneira:

i) Normalizar a amostra de forma que as estimações do conjunto 1 e do conjunto 2 utilizam o mesmo número de observações. Assim, modelos que somente usam variáveis defasadas usam o mesmo número de observações que modelos que usam variáveis em t e t-1. No \mathbf{R} isto pode ser feito de maneira bem simples utilizando a função embed.

ii) Dividir a amostra em duas partes, uma para estimação e outra para avaliação de previsão, isto é, uma parte para construção da medida escolhida. Assim tentamos garantir um número mínimo de observações para construir a estatística.

As figuras a seguir ilustram os resultados das previsões para o primeiro e para o segundo conjunto de previsões, respectivamente.

Usando informações em t e t-1.

Como era de se esperar, se usarmos as informações da população ocupada e da população economicamente ativa em t as previsões são melhores e, consequentemente, mais centradas nos valores observados. Caso contrário, se considerarmos a defasagem existente entre o gtrends e as demais variáveis exógenas, as previsões ficam mais "espalhadas". Note que, por causa disso, se assumirmos o modelo errado estaríamos construindo medidas erradas de avaliação. Dito isto, podemos construir as nossas medidas com base no segundo conjunto de previsões [aquele que considera a diferença entre o gtrends e as demais variáveis exógenas] e finalmente comparar o poder de previsão das diferentes variáveis.

RMSE

Como podemos ver, a variável do Google Trends, mesmo nos dando informação, de certa maneira, "privilegiada", não nos ajuda tanto assim individualmente (pelo menos quando a medida escolhida de acurácia é o RMSE).

Finalmente, é interessante notar que os modelos utilizados neste post vêm se mostrando cada vez piores na hora de fazer previsões, como pode ser visto no gráfico a seguir. Estaria isso indicando alguma possível mudança na dinâmica do mercado de trabalho?

RMSE ao longo do tempo.

_______________________________________

Gostou do post? Quer aprender a fazer o mesmo? Dê uma olhada no nosso curso de Introdução ao R com aplicações em Análise de Conjuntura. Faça no Rio de Janeiro ou leve para sua empresa ou universidade!

Curso04

________________________________________

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O que é e como funcionam Sistemas Multi-Agentes

Sistemas multi-agentes (MAS) representam uma nova forma de estruturar aplicações de inteligência artificial, especialmente úteis para lidar com problemas complexos e distribuídos. Em vez de depender de um único agente generalista, esses sistemas são compostos por múltiplos agentes especializados que colaboram, competem ou se coordenam para executar tarefas específicas. Neste post, explicamos o que são os MAS, seus principais componentes (como LLMs, ferramentas e processos) e as arquiteturas mais comuns.

O que é um Vector Database e como criar um com LangChain

Nesta postagem, mostramos como construir um pipeline simples de RAG (Retrieval-Augmented Generation) usando o LangChain, o modelo Gemini 2.0 Flash e o Vector Database Chroma. Utilizamos como exemplo o Relatório de Inflação de junho de 2025 do Banco Central do Brasil. O fluxo envolve o download e leitura do PDF, divisão do texto com RecursiveCharacterTextSplitter, geração de embeddings com Gemini, armazenamento vetorial com Chroma e busca semântica para responder perguntas com base no conteúdo do relatório. É uma aplicação prática e didática para economistas que desejam integrar IA ao seu fluxo de análise.

Automatizando a Construção de Códigos em Python com LangGraph

Neste post, mostramos como construir um agente de código em Python utilizando LangGraph, LangChain e Gemini. A proposta é construir um protótipo para automatizar o ciclo completo de geração, execução e correção de código com o uso de LLMs, organizando o processo em um grafo de estados.

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.