Ir para conteúdo principal Pular para conteúdo complementar

Inferência de nulos

Muitos valores ausentes podem afetar negativamente a qualidade do seu modelo de aprendizado de máquina. A inferência é a prática de preencher valores ausentes, conhecidos como valores nulos. Pode haver muitos motivos para dados ausentes, como um erro de banco de dados, um usuário que não preenche uma parte de um formulário ou talvez você comece a coletar novos dados e os registros mais antigos no conjunto de dados não tenham o novo ponto de dados.

Durante o pré-processamento automático de dados, os valores nulos são manipulados excluindo colunas com mais de 50 por cento dos valores ausentes e inferindo os valores ausentes. Os valores categóricos são inferidos com o modo e os valores numéricos com a média.

É importante entender os efeitos que a inferência poderia ter sobre os dados. A inferência retém o poder preditivo da linha ou coluna, mas também tem o potencial de criar padrões que não existiam anteriormente ou adicionar ruído a um padrão que existia. Isso reduz a validade dos dados.

Talvez você queira revisar suas práticas de coleta de dados para garantir a conclusão dos dados e implementar novos processos conforme necessário. Se quiser manter a representação de um valor vazio, você pode preencher nulos com um valor como "outro" ou "desconhecido".

Como funciona a inferência

Os métodos a seguir são práticas comuns para inferência de nulos.

Valores numéricos

Um bom padrão é inferir o valor médio. Se os valores ausentes forem distribuídos normalmente, é como adicionar peso ao centro de uma gangorra; isso não afeta o peso de nenhum dos lados. No entanto, você deve sempre considerar o que o valor está tentando representar. Por exemplo, se alguns dos valores do preço de venda forem nulos em seus dados de vendas, isso é causado por um erro no banco de dados ou o comprador usou um cupom como pagamento? Um 0, ou algum outro valor além da média, faria mais sentido?

Valores categóricos

Um bom padrão para valores categóricos é adicionar outra categoria e chamá-la de "Outro", "Desconhecido" ou até mesmo "Ausente". Essa categoria pode conter a variância adicional se os valores ausentes forem distribuídos aleatoriamente ou ganhar importância de recurso se houver um relacionamento significativo entre a falta desse valor e o valor alvo.

Uma alternativa é inferir a média na forma do modo. Tal como acontece com os valores numéricos, é sempre importante considerar o que o valor está realmente tentando representar e por que o valor pode estar ausente. Se você souber que a maioria dos valores ausentes são provavelmente o modo, você poderá inferir o modo. Se não for conhecido ou houver incerteza, você pode inferir o valor categórico com um texto de preenchimento que é um novo valor exclusivo para o conjunto de dados.

Efeitos da inferência de valores numéricos

A inferência numérica 1 mostra um gráfico de dispersão com uma linha de melhor ajuste. Temos um valor numérico ao longo do eixo da categoria (x) e um valor alvo ao longo do eixo do valor (y). Parece ser um bom ajuste, mas está levando em conta apenas pontos de dados em que x é conhecido.

Inferência numérica 1: Gráfico de valores conhecidos com uma linha de melhor ajuste

Gráfico com linha de melhor ajuste linear.

Em Inferência numérica 2, inferimos o valor médio. No entanto, os valores ausentes não parecem ser aleatórios. Isso acaba distorcendo a linha de melhor ajuste e adiciona ruído, reduzindo assim a exatidão geral do modelo.

Inferência numérica 2: Gráfico de valores conhecidos e valores médios inferidos. Os valores inferidos não são distribuídos aleatoriamente e há uma nova linha de melhor ajuste.

Gráfico com valores inferidos que distorcem a linha de melhor ajuste.

O gráfico em Inferência numérica 3 mostra como seria se inferíssemos a média quando os valores ausentes fossem distribuídos aleatoriamente. Em outras palavras, quando não há conhecimento adicional a ser adquirido ao saber se o valor estava presente ou ausente. Quando os valores ausentes são distribuídos aleatoriamente, isso não altera a linha de melhor ajuste. Se tivéssemos inferido 0 em vez do valor médio, isso teria alterado a linha de melhor ajuste de maneira semelhante à Inferência numérica 2.

Inferência numérica 3: Gráfico de valores conhecidos e valores inferidos distribuídos aleatoriamente. A linha de melhor ajuste não mudou.

Gráfico com valores inferidos que não distorcem a linha de melhor ajuste.

Exemplo: Qualificação de empréstimo

Um exemplo do mundo real seria se x fosse a renda anual e y a quantia que alguém poderia se qualificar para um empréstimo. Esperamos um relacionamento em que quanto mais dinheiro alguém ganha, mais dinheiro pode pedir emprestado. O padrão seria semelhante à Inferência numérica 1 acima.

Imagine que as pessoas que ganham menos dinheiro têm menos probabilidade de apresentar sua renda anual. Nesse caso, o valor x está ausente devido a um motivo específico. Inferir a média para esses valores distorceria os resultados do modelo. O resultado seria algo como Inferência numérica 2.

Agora, considere que alguns registros no banco de dados foram excluídos aleatoriamente. Os registros continham dados sobre quanto dinheiro algumas pessoas ganham, mas não o registro da pessoa. Portanto, o valor de x é aleatoriamente nulo. Esse efeito é retratado em Inferência numérica 3 e é um caso em que podemos inferir com segurança o valor ausente.

Outra coisa a considerar é: e se 0 fosse inferido em vez da média? No exemplo de qualificação de empréstimo, provavelmente não é uma representação precisa dizer que alguém ganha 0 dólar anualmente. Isso distorceria o modelo de forma semelhante à Inferência numérica 2.

Efeitos da inferência de valores categóricos

No caso numérico acima, usamos a média para inferir valores ausentes. Um método simples para valores categóricos é usar o modo, que é o valor que ocorre com mais frequência. Alguns dos desafios presentes na inferência do modo são os mesmos que na inferência da média para um valor numérico.

No gráfico abaixo, há um padrão para os valores ausentes em Missing_1 em relação ao alvo, enquanto Missing_2 é distribuído aleatoriamente. Podemos ver isso porque Missing_2 corresponde ao valor alvo médio geral. Missing_1 é semelhante à Inferência numérica 2 e Missing_2 é semelhante à Inferência numérica 3.

Inferência categórica: As colunas Missing_1 e Missing_2 são exemplos de valores ausentes com e sem padrão.

Gráfico mostrando a distribuição das classes A, B e C juntamente com a média geral e a inferência categórica dos valores ausentes.

A diferença para o exemplo numérico é que, neste caso, Missing_1 e Missing_2 distorcem o reconhecimento do padrão. Está sendo desviado apenas para um subconjunto dos dados, categoria B, que seria o valor inferido se for inferido com o modo porque é a maior categoria.

Distorcer a relação entre um único valor e o valor alvo não é o único risco na inferência, mas está entre os mais comuns e fáceis de avaliar. Outros riscos tendem a simplesmente adicionar ruído e reduzir a exatidão. Felizmente, o risco de distorção pode ser bastante atenuado, eliminando dimensões que são relativamente esparsas. Muitas vezes há um debate sobre exatamente quais níveis de escassez permitir em uma coluna ou linha, mas é menos frequentemente debatido que a inferência de valores tem o potencial de distorcer os dados de uma forma que não é mais representativa do que os dados estão tentando descrever.

Saiba mais

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!