Como resolver problemas de multicolinearidade em modelos preditivos?

A multicolinearidade é um problema que pode ocorrer em regressões quando duas ou mais variáveis independentes explicam o mesmo fenômeno. Como exemplo, imagine um modelo de regressão para precificar imóveis usando como variáveis a área e o número de cômodos.

Dessa forma, duas ou mais variáveis independentes altamente correlacionadas podem ser um um alerta de multicolinearidade, o que causa distorções no modelo estimado:

  • Erros padrão maiores (menor eficiência e estimativas menos precisas);
  • Estimadores sensíveis a pequenas variações dos dados;
  • Dificuldade na separação dos efeitos de cada uma das variáveis.

A identificação do problema da multicolinearidade pode ser feita pelos seguintes testes estatísticos:

  • Farrar & Glauber
  • VIF (Variance Inflation Factor)
  • Tolerance

No caso da estatística VIF, mais comumente utilizada, calculamos:

onde r_k é o coeficiente de correlação da variável k com as demais variáveis.

Com o valor da estatística VIF em mãos, costuma-se utilizar as seguintes regras de bolso para identificar multicolinearidade:

  • VIF <= 1: sem multicolinearidade;
  • 1 < VIF < 10: multicolinearidade aceitável;
  • VIF >= 10: multicolinearidade problemática.

Dessa forma, o VIF pode ser utilizado como critério de decisão para seleção de variáveis em modelos preditivos.

Exemplo em Python

Primeiro importamos as bibliotecas necessárias e uma tabela de séries temporais mensais:

ipca selic cambio pib_mensal inpc
data
2000-01-01 0.62 19.00 1.8037 92576.6 0.61
2000-02-01 0.13 19.00 1.7753 91770.4 0.05
2000-03-01 0.22 19.00 1.7420 92579.9 0.13
2000-04-01 0.42 18.50 1.7682 91376.2 0.09
2000-05-01 0.01 18.50 1.8279 98727.0 -0.05
... ... ... ... ... ...
2023-12-01 0.56 12.25 4.8972 939618.2 0.55
2024-01-01 0.42 11.75 4.9144 883698.6 0.57
2024-02-01 0.83 11.25 4.9644 897934.3 0.81
2024-03-01 0.16 11.25 4.9801 972728.9 0.19
2024-04-01 0.38 10.75 5.1291 959465.9 0.37

292 rows × 5 columns

Agora calculamos o VIF:

Variável VIF
2 selic 1.759677
3 cambio 3.022878
4 pib_mensal 4.234595
1 ipca 12.199325
5 inpc 12.382441
0 const 24.036187

A tabela mostra as variáveis testadas e a estatística VIF. Note que variáveis “semelhantes”, como as taxas de inflação, apresentam estatísticas VIF elevadas, indicando multicolinearidade.

Conclusão

O VIF é uma estatística útil para identificar multicolinearidade em problemas de regressão. Neste artigo, mostramos seu cálculo, a interpretação e uma aplicação em Python.

Quer aprender mais?

Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA. 

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O papel da credibilidade do Banco Central na desinflação da economia

O objetivo deste trabalho é mensurar a credibilidade da política monetária brasileira através de diferentes métricas e verificar empiricamente se uma maior credibilidade contribui para a redução da inflação. Realizamos a modelagem econométrica usando o pacote {systemfit} disponível na linguagem. Ao fim, criamos um relatório reprodutível com a combinação Quarto + R.

Análise de Criptomoedas com Python

Aprenda a estruturar um pipeline de dados financeiros com Python. Ensinamos a construção de um dashboard automatizado para coleta, tratamento e visualização de criptomoedas via API.

Como Construir um Monitor de Política Monetária Automatizado com Python?

Descubra como transformar dados do Banco Central em inteligência de mercado com um Monitor de Política Monetária Automatizado. Neste artigo, exploramos o desenvolvimento de uma solução híbrida (Python + R) que integra análise de sentimento das atas do COPOM, cálculo da Regra de Taylor e monitoramento da taxa Selic. Aprenda a estruturar pipelines ETL eficientes e a visualizar insights econômicos em tempo real através de um dashboard interativo criado com Shiny, elevando o nível das suas decisões de investimento.

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.