Article image
Pedro Passos
Pedro Passos13/08/2024 16:12
Compartilhe

Lidando com Dados Faltantes - Uma Abordagem Inicial

  • #SQL
  • #Python

Introdução

Em qualquer projeto de ciência de dados, encontrar dados faltantes é uma realidade comum. Dados incompletos podem impactar significativamente a qualidade e a precisão das análises, tornando crucial entender como lidar com eles de maneira eficaz.

O Que São Dados Faltantes?

Dados faltantes são um conceito que descreve valores que estão ausentes de um conjunto de dados. Os valores podem não estar nas amostras por qualquer motivo, como erro humano, medição incorreta, falha do sensor de coleta de dados ou não serem registrados. Em geral, existem três tipos principais de dados faltantes:

MCAR (Missing Completely at Random)

  • Aqui, dizemos que os dados estão faltando completamente ao acaso. Isso significa que a ausência de dados não está relacionada a nenhuma variável observada ou não observada no conjunto de dados
  • Por exemplo, em uma pesquisa, se algumas respostas são perdidas porque os participantes esqueceram de responder a uma pergunta, e esse esquecimento não está relacionado a nenhuma característica dos participantes, os dados estão faltando de forma completamente aleatória. Nesse caso, a análise que exclui essas observações ainda pode ser considerada imparcial.

MAR (Missing at Random)

  • Aqui, dizemos que os dados estão faltando de forma aleatória, mas a ausência pode estar relacionada a alguma variável observada no conjunto de dados.
  • Por exemplo, em uma pesquisa de saúde, se as informações sobre o nível de exercício físico estão faltando mais frequentemente entre pessoas mais velhas, muito provavelmente a ausência desses dados tem relação com a idade dos participantes.
  • Quando os dados são MAR, é possível corrigir o viés potencial através de métodos de imputação que utilizam informações das variáveis observadas.

MNAR (Missing Not at Random)

  • Aqui, dizemos que os dados não estão faltando de maneira aleatória, e a ausência de dados está diretamente relacionada aos valores não observados.
  • Isso é, o fato de os dados estarem ausentes depende dos próprios valores que estão faltando.
  • Por exemplo, em uma pesquisa sobre renda, pessoas com rendas muito altas ou muito baixas podem optar por não divulgar seus salários, e a ausência de dados está diretamente relacionada ao valor da renda.
  • Quando os dados são MNAR, o tratamento é mais complexo, e métodos comuns de imputação podem não corrigir o viés.

Impacto dos Dados Faltantes

Dados faltantes podem levar a resultados enviesados e reduzir a qualidade dos modelos preditivos em que vamos trabalhar. Eles também podem diminuir o poder estatístico das análises, dificultando a tomada de decisões. Logo, devemos buscar algumas estratégias para lidar com isso.

Estratégias para Lidar com Dados Faltantes

Irei listar algumas das estratégias mais comuns para lidar com esse tipo de problema. É importante frisar que aqui apenas listarei elas, isso não garante que em 100% dos casos devem ser utilizadas, devemos sempre analisar o contexto geral em que estamos trabalhando, afim de escolher a abordagem mais conveniente.

Remoção de Dados Faltantes

  • A ideia aqui é simples, quando existe uma quantidade pequena de dados faltantes, podemos optar por remover essas linhas no nosso conjunto de dados.
  • Agora, se a maioria dos dados estiver faltando, podemos optar por remover as colunas.

Imputação de Dados

  • Em alguns casos, podemos optar por realizar uma imputação simples, isso é, substituir os valores faltantes pela média, mediana ou moda.
  • Em outros casos, esse tipo de abordagem pode não ser tão tentadora, logo uma opção é a imputação por regressão, onde são utilizados modelos preditivos para estimar os valores faltantes.

Modelos que Lidam com Dados Faltantes

  • Uma informação importante é que algumas técnicas de aprendizado de máquina, como árvores de decisão, podem lidar com dados faltantes sem a necessidade de imputação prévia do programador, facilitando assim a necessidade de um tratamento de dados.

Exemplos Práticos

SQL

  • Podemos usar a cláusula `IS NULL` para identificar onde estão os valores faltantes.

image

  • Podemos usar a função `COALESCE` para substituir valores nulos por valores padrão, como a média de uma coluna.

image

PYTHON

  • Podemos identificar valores faltantes com o método `isnull()`, da biblioteca Pandas.

image

  • Podemos substituir valores faltantes pela média.

image

  • E até mesmo remover os dados faltantes, removendo as linhas que possuem qualquer valor faltante.

image

Visualizando os Dados Faltantes

A visualização pode ser uma ferramenta poderosa para entender a distribuição de dados faltantes. Para isso, podemos usar a biblioteca `missingno` presente no Python, onde conseguimos criar gráficos que ilustram onde e quanto são os dados faltantes. Abaixo um exemplo de como utilizá-la.

image

Impacto da Remoção de Dados Faltantes

Listamos nesse artigo, que a remoção de dados faltantes é uma abordagem simples para lidar com esse tipo de problema.

Porém, é crucial considerar os riscos associados, como a perda de variabilidade e a introdução de vieses, uma vez que remover dados pode, por exemplo, reduzir a representatividade da amostra, resultando em análises enviesadas. Uma prática recomendada é realizar uma análise de sensibilidade, onde aplicamos diferentes métodos de tratamento de dados faltantes e comparamos os resultados.

Isso ajuda a identificar qual abordagem tem o menor impacto no resultado final e é mais adequada para o contexto específico.

Concluindo

Podemos observar que, aprender a lidar com dados faltantes de maneira eficaz é uma habilidade essencial para qualquer cientista de dados. É importante entender a natureza dos dados faltantes e escolher a estratégia de tratamento mais adequada para o seu conjunto de dados específico. Ao aplicar as técnicas certas, podemos melhorar significativamente a qualidade dos nossos modelos de análise e predição, tendo assim resultados que sejam mais confiáveis e precisos.

Compartilhe
Comentários (0)