Multicolinearidade | Detectando multicolinearidade com VIF

Conteúdo

Introdução

A multicolinearidade pode ser difícil de pronunciar, mas é um tópico que você deve conhecer na área de aprendizado de máquina. Eu o conheço por causa da minha experiência em estatística, mas tenho visto muitos profissionais que não sabem que existe multicolinearidade.

Isso é especialmente prevalente em pessoas com aprendizado de máquina que vêm de treinamento não matemático. E mesmo quando sim, a multicolinearidade pode não ser o tópico mais importante para entender em sua jornada, ainda é importante o suficiente para aprender. Especialmente se você estiver sentado para entrevistas com cientistas de dados!!

Multicolinearidade

Então, neste post, vamos entender o que é multicolinearidade, por que isso é um obstáculo, o que causa a multicolinearidade e então vamos entender como detectar e corrigir a multicolinearidade.

Antes de se aprofundar, é imperativo ter um conhecimento básico de regressão e alguns termos estatísticos. Para isto, Eu recomendo fortemente verificar os seguintes recursos:

Tabela de conteúdo

  • O que é multicolinearidade?
  • O problema de ter multicolinearidade
  • O que causa multicolinearidade?
  • Detectando multicolinearidade com VIF
  • Fixação de multicolinearidade

O que é multicolinearidade?

A multicolinearidade ocorre quando duas ou mais variáveis ​​independentes são altamente correlacionadas entre si em um modelo de regressão.

Isso significa que um variável pode ser previsto a partir de outra variável independente em um Modelo de regressão. Como um exemplo, altura e peso, renda familiar e consumo de água, quilometragem e preço de um carro, tempo de estudo e tempo livre, etc.

Deixe-me dar um exemplo simples de nossa vida cotidiana para explicar isso.. Colin adora assistir TV enquanto mastiga batatas fritas. Quanto mais televisão você assiste, quanto mais batatas ele come e mais feliz fica!

Agora, se pudéssemos quantificar a felicidade e medir a felicidade de Colin enquanto ele está ocupado fazendo sua atividade favorita, Qual você acha que teria o maior impacto na felicidade deles? Comendo batatas fritas ou assistindo TV? Isso é difícil de determinar porque, na época, tentamos medir a felicidade de Colin ao comer batatas fritas., comece a assistir tv. E no momento em que tentamos medir sua felicidade ao assistir televisão, comece a comer batatas fritas.

Comer batata frita e assistir televisão estão altamente correlacionados no caso de Colin e não podemos determinar individualmente o impacto das atividades individuais em sua felicidade.. Esse é o problema da multicolinearidade!!

Então, Por que você deve se preocupar com a multicolinearidade no aprendizado de máquina contexto? Vamos responder a essa pergunta abaixo.

O problema de ter multicolinearidade

A multicolinearidade pode ser um obstáculo em um modelo de regressão porque não conseguimos distinguir entre os efeitos individuais das variáveis ​​independentes sobre a variável dependente.. Como um exemplo, suponha que na próxima equação linear:

Y = W0 + W1 * X1 + W2 * X2

O coeficiente W1 é o aumento em Y para um aumento unitário em X1, mantendo X2 constante.. Mas como X1 e X2 são altamente correlacionados, mudanças em X1 também causariam mudanças em X2 e não pudemos ver seu efeito individual em Y.

“Isso torna os efeitos de X1 em Y difíceis de distinguir dos efeitos de X2 em Y”.

É possível que a multicolinearidade não afete tanto a precisão do modelo. Mas podemos perder a confiabilidade ao determinar os efeitos das características individuais em seu modelo., e isso pode ser um obstáculo quando se trata de interpretabilidade.

O que causa multicolinearidade?

A multicolinearidade pode ocorrer devido aos seguintes problemas:

  • Pode haver multicolinearidade devido a problemas no conjunto de dados no momento da criação. Esses problemas podem ser devido a experimentos mal planejados, dados altamente observáveis ​​ou a incapacidade de manipular os dados:
    • Como um exemplo, determinar o consumo de eletricidade de uma residência com base na renda familiar e o número de eletrodomésticos. Aqui, sabemos que a quantidade de aparelhos elétricos em uma casa aumentará com a renda familiar. Apesar disto, isso não pode ser excluído do conjunto de dados.
  • A multicolinearidade também pode ocorrer ao criar novas variáveis ​​que dependem de outras variáveis:
    • Como um exemplo, criar uma variável para o IMC a partir das variáveis ​​de altura e peso incluiria informações redundantes no modelo.
  • Incluindo variáveis ​​idênticas no conjunto de dados:
    • Como um exemplo, incluem variáveis ​​de temperatura em Fahrenheit e temperatura em Celsius
  • O uso impreciso de variáveis ​​dummy também pode causar um obstáculo de multicolinearidade. Isso é chamado Armadilha de variável fictícia:
    • Como um exemplo, em um conjunto de dados contendo a variável de status de casamento com dois valores únicos: ‘casado’, 'solteiro'. A criação de variáveis ​​fictícias para ambos incluiria informações redundantes. Podemos nos contentar com uma única variável que contém 0/1 para o 'estado de casado’ / 'solteiro'.
  • Em alguns casos, dados insuficientes também podem causar problemas de multicolinearidade

Detecção de multicolinearidade usando VIF

Vamos tentar detectar a multicolinearidade em um conjunto de dados para dar uma ideia do que pode dar errado.

Eu criei um conjunto de dados que determina o salário de uma pessoa em uma empresa com base nas seguintes características:

  • Sexo (0 – mulher, 1 cara)
  • Idade
  • Anos de serviço (anos de trabalho na empresa)
  • Nível de educação (0 – sem educação formal, 1 – estudante universitário, 2 – pós-graduação)

Conjunto de dados multicolinearidade

A multicolinearidade pode ser detectada por meio de vários métodos. Neste post, vamos nos concentrar no mais comum: VIVAZ (fatores de inflação variáveis).

”VIF determina a força da correlação entre as variáveis ​​independentes. É previsto pegando uma variável e fazendo uma regressão contra qualquer outra variável. “

o

A pontuação VIF de uma variável independente representa o quão bem a variável é explicada por outras variáveis ​​independentes.

R ^ 2 O valor é determinado para descobrir o quão bem uma variável independente é descrita pelas outras variáveis ​​independentes. Um alto valor de R ^ 2 significa que a variável é altamente correlacionada com as outras variáveis. Isso é capturado pelo VIVAZ listado abaixo:

Fórmula VIF

Então, o mais perto R ^ 2 valorizar um 1, quanto maior o valor VIF e maior a multicolinearidade com a variável independente particular.

  • VIF começa em 1 e não tem limite superior
  • VIF = 1, nenhuma correlação entre a variável independente e as outras variáveis
  • VIF superior a 5 o 10 indica uma alta multicolinearidade entre esta variável independente e as outras

Multicolinearidade: Valores VIF

Podemos ver aqui que a 'Idade’ e os 'anos de serviço’ têm um alto valor VIF, o que significa que eles podem ser previstos por meio de outras variáveis ​​independentes no conjunto de dados.

Embora a matriz de correlação e os diagramas de dispersão também possam ser usados ​​para encontrar multicolinearidade, seus resultados mostram apenas a ligação bivariada entre as variáveis ​​independentes. VIF é o preferido, pois pode mostrar a correlação de uma variável com um grupo de outras variáveis.

Fixação de multicolinearidade

Excluir um dos recursos correlacionados ajudará a reduzir a multicolinearidade entre os recursos correlacionados.:

Multicolinearidade: Valores VIF após a remoção da variável

A imagem à esquerda contém o valor VIF original para as variáveis ​​e a imagem à direita após a exclusão da variável 'Idade'.

Conseguimos excluir a variável ‘Idade’ do conjunto de dados porque suas informações estavam sendo capturadas pela variável 'Anos de serviço'. Isso reduziu a redundância em nosso conjunto de dados.

A exclusão de variáveis deve ser um procedimento iterativo que começa com a variável que tem o maior valor de VIF porque sua tendência é capturada em grande número. medir por outras variáveis. Se você fizer isto, você notará que os valores VIF para outras variáveis ​​também teriam sido reduzidos, mesmo quando em uma extensão diferente.

Em nosso exemplo, após excluir a variável ‘Idade’, os valores VIF para todas as variáveis ​​diminuíram em uma extensão diferente.

A seguir, combinar as variáveis ​​correlacionadas em uma e eliminar as outras. Isso reduzirá a multicolinearidade:

Multicolinearidade: Valores VIF após combinar características

A imagem à esquerda contém o valor VIF original para as variáveis ​​e a imagem à direita depois de combinar a variável 'Idade’ e 'anos de serviço'. A combinação de 'Idade’ e 'anos de experiência’ em uma única variável ‘Age_in_union’ nos permite capturar as informações em ambas as variáveis.

Apesar disto, a multicolinearidade pode nem sempre ser um obstáculo. A necessidade de corrigir a multicolinearidade depende principalmente das seguintes razões:

  1. Quando você se preocupa mais com o quanto cada característica individual em vez de um grupo de características afeta a variável de destino, portanto, excluir a multicolinearidade pode ser uma boa opção
  2. Se a multicolinearidade não estiver presente nas características que lhe interessam, a multicolinearidade pode não ser um obstáculo.

Notas finais

O conhecimento da multicolinearidade pode ser muito útil ao criar modelos de aprendizado de máquina interpretáveis.

Espero que esta postagem tenha sido útil para você entender o problema de multicolinearidade e como resolvê-lo. Se você quiser entender outros modelos de regressão ou quiser entender a interpretação do modelo, Eu recomendo fortemente que você leia as seguintes postagens maravilhosamente escritas:

Você também deve consultar o curso Princípios Fundamentais da Regressão (sem custos) como próximo passo.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.