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.
É 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".
Imputação nula durante o pré-processamento automático
No Qlik AutoML, o pré-processamento automático de dados usa imputação nula para preparar seu conjunto de dados para treinamento. 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. Valores ausentes em recursos categóricos são imputados com o valor "outro", e valores ausentes em recursos numéricos são imputados com a média.
Considerações adicionais se aplicam a recursos autoprojetados e treinamento com reconhecimento de tempo.
Para obter mais informações sobre pré-processamento, consulte Preparação e transformação automática de dados.
Recursos de engenharia automática
Com a engenharia automática de recursos, o AutoML cria novos recursos a partir de recursos pai existentes. Para recursos projetados automaticamente, a imputação nula é realizada da seguinte forma:
-
Se você incluir recursos de data projetados automaticamente no treinamento, o processo de imputação nula para esses recursos será o mesmo que para recursos numéricos.
-
Por outro lado, se você usar os recursos de data pai, o processo de imputação nula será o mesmo que para recursos categóricos.
-
Para recursos categóricos que são tratados como texto livre, a imputação nula é a mesma que para recursos categóricos.
Treinamento com reconhecimento de tempo
Se o treinamento com reconhecimento de tempo estiver ativado, a imputação nula será realizada da seguinte forma:
-
Qualquer linha no conjunto de dados de treinamento que tenha um valor nulo para o índice de datas selecionado será descartada durante o pré-processamento. Essas linhas não são usadas para treinar os modelos.
-
Para recursos numéricos, a imputação nula é realizada com interpolação linear. A interpolação linear também é usada para recursos de data projetados automaticamente.
-
Para recursos categóricos, o processo de imputação nula é o mesmo de quando você não está usando o treinamento com reconhecimento de tempo.
-
Se você usar recursos de data sem engenharia automática de recursos, o processo de imputação nula será o mesmo que para recursos categóricos.
-
Para recursos categóricos que são tratados como texto livre, a imputação nula é a mesma que para recursos categóricos.
Para obter mais informações sobre o treinamento com reconhecimento de tempo, consulte Criando modelos com reconhecimento de tempo.
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.
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.
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.
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.
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.