Saltar para o conteúdo
NILG.AI

Quero automatizar a minha empresa

Technical

Deixe de remover valores extremos só porque sim

Paulo Maia · 14 de novembro de 2022

STOP

Os valores extremos (outliers) são pontos de dados que se destacam por serem diferentes da distribuição dos restantes dados. Um valor extremo pode ser:

  • Um valor inusitado numa variável
  • Um ponto de dados distante do centroide dos dados
  • Um ponto de dados numa região de baixa densidade, mas entre áreas de alta densidade.

Suponha que trabalha em data science. Nesse caso, já está familiarizado com o conceito e provavelmente integrou diferentes métodos nos seus pipelines para detectar, transformar ou até remover valores extremos dos seus dados.

Se assim for, tenha cuidado! Os valores extremos não respeitam a distribuição dos dados, por isso não deve fingir que o fazem removendo pontos de dados inconvenientes ou transformando as suas variáveis para que se aproximem mais da distribuição restante. Percebo que precisa de os tratar para evitar valores sem sentido que perturbem o seu pipeline. Mas pode também informar o modelo de que esses pontos de dados são valores extremos em vez de ignorar essa informação. As duas questões principais aqui são: Porquê? e Como?

Porquê? Porque nunca conhece a causa de um valor extremo. Pode representar um erro no processo de aquisição de dados ou uma anomalia real na sua população. Isto é muito relevante quando lida com situações de Fraud Detection, Predictive Maintenance ou Compliance Validation. Nestes casos, pretende detectar os valores inusitados (valores extremos) para prevenir riscos adicionais.

Como? Criando novas variáveis que representem o grau de anomalia de um ponto de dados. Se tornar esta informação clara para o modelo, ele conseguirá detectar os valores extremos por si. Mas se os valores extremos podem ter formas diferentes (como se vê na figura acima), que variáveis podem representar a sua anomalia? Encontre a resposta na secção seguinte!

Variáveis para Valores Extremos

Distância de Mahalanobis

Pode usar diferentes algoritmos de distância para calcular a distância de um ponto de dados até ao centroide. Recomendamos a distância de Mahalanobis porque lida melhor com valores extremos multivariados resultantes de combinações inusitadas entre múltiplas variáveis. Por exemplo, considere estas três variáveis: peso, altura e género. Uma altura de 150 cm não é invulgar para a população feminina portuguesa, e um peso de 90 kg não é raro para homens portugueses. No entanto, uma mulher portuguesa com 150 cm e 90 kg seria muito única.

Estimativa de Densidade

Anteriormente vimos uma variável que mede a distância até ao centroide, mas e se a distribuição dos dados tiver uma forma como a que se vê na figura abaixo?

Neste caso, um valor extremo pode ser um ponto de dados localizado em regiões onde a distribuição de densidade tem uma depressão, independentemente da distância ao centroide. Portanto, uma boa variável para o representar seria a densidade dos dados na vizinhança do ponto de dados.

Pode usar métodos como KDE (Kernel Density Estimation) para estimar a densidade. No entanto, este método pode ser muito custoso em termos computacionais. Por isso, propomos um método mais direto e económico: binning.

Existem duas formas de usar binning para estimar a distribuição de densidade:

  • Use bins com largura igual: Divida os dados em bins de largura igual e calcule a densidade de cada bin. Quanto menos pontos o bin tiver, mais normal é o ponto de dados.
  • Use bins com frequência igual: Divida os dados em bins de frequência igual e calcule a largura do bin. Quanto maior for o bin, mais anómalo é o ponto de dados.

Reconstrução por Autoencoders

Treinar um autoencoder com os seus dados permitirá que o encoder aprenda a distribuição dos dados das diferentes variáveis e as suas relações. Depois, quando o autoencoder receber um ponto de dados que se desvie dos restantes, não conseguirá reconstruir corretamente o ponto de dados.

Uma boa variável para representar valores extremos seria a distância entre a entrada, X, e a saída, X' (por exemplo, distância cosseno). Distâncias maiores estarão correlacionadas com pontos de dados mais anómalos.

Rafael Cavalheiro NILG.AI

Quer discutir mais sobre esta ideia?

Marque uma reunião com Rafael Cavalheiro

Conheça o Rafael Saiba Mais

Observações Finais

Agora que sabe como detectar valores extremos, tem um novo instrumento para detectar possíveis fraudes, anomalias ou erros sem precisar de recolher dados para todas essas excepções. Aqui apresentámos três formas diferentes de o fazer.

Para mais ideias sobre como aproveitar ao máximo os seus dados, subscreva a nossa newsletter abaixo e fique atento.