Apesar de aprender , a maioria dos cientistas de dados e entusiastas tentam lidar com conjuntos de dados famosos como o MNIST , ImageNet , … que são completas, limpas e bem formatadas. No entanto , problemas do mundo real e conjuntos de dados estão infelizmente longe desta utopia acadêmica . Em outras palavras , eles não são perfeitos em tudo , eles incluem ruído , eles contêm muitos dados ausentes e às vezes eles também não estão bem estruturados ou formatados .
Neste post , vamos falar sobre um desses tediosos problemas que vão aparecer com freqüência , e sem mais delongas como mencionado no título , vamos resolver o problema da “falta de dados” de uma perspectiva ampla e estatística
Primeiro de tudo , o que queremos dizer concretamente com “falta de dados” ?
Dados em falta significa que uma ou mais variáveis ( características ) valores estão faltando geralmente codificados por -999 , nan , null . . muitas vezes ocorre durante a coleta de dados de uma forma errada , uma falta de dados ( Ex : classificação dos usuários ) , ou erros ao inserir os dados ( mistyping ) , e isso poderia levar a descobertas e conclusões drásticas que poderiam afetar negativamente as decisões !
A figura seguinte ilustra o exemplo surpreendente de “sistemas de recomendação” quando o problema de “dados em falta” ocorre frequentemente, porque uma parte dos nossos dados depende do feedback dos utilizadores .
Também causa muita luta para os pesquisadores enquanto analisam e interpretam os resultados de suas pesquisas para fazer conclusões .
Existem três tipos de dados faltantes:
1) Faltando Completamente e Aleatório – (MCAR).
2) Faltando ao Aleatório – (MAR).
3) Faltando Não ao Aleatório – (MNAR).
Tipo I: Ausente Completamente em Random (MCAR)
Não há relação entre se um ponto de dados está faltando e quaisquer valores no conjunto de dados (ausentes ou observados). Os dados ausentes são apenas um subconjunto aleatório dos dados . A missingness não tem nada a ver com nenhuma outra variável . A propósito , os dados raramente são MCAR.
o exemplo a seguir irá descrever este tipo de problema :
É relativamente fácil verificar a suposição de que em nosso exemplo os dados estão faltando completamente ao acaso. Se você puder prever qualquer razão para a falta de dados (por exemplo usando o senso comum, regressão, ou algum outro método) quer seja baseado na variável completa Idade ou na pontuação da variável em falta IQ , então os dados não são MCAR !
TLDR : não afectado nem pela observação nem pelos dados em falta => Completamente ao acaso
Type II: Missing at Random (MAR)
Os dados em falta aqui são afectados apenas pelas variáveis completas (observadas ) e não pelas características dos dados em falta em si. Em outras palavras , para um ponto de dados , estar faltando não está relacionado com os dados faltantes, mas está relacionado com alguns ( ou todos ) os dados observados , o exemplo a seguir irá descrever a situação e torná-la mais clara :
Pudemos facilmente notar que falta a pontuação de QI para os jovens ( idade < 44 anos ) , e assim os dados em falta dependem dos dados observados , porém não há dependência com os valores da própria coluna em falta .
TLDR : não é causado pelos dados em falta, mas sim afectado pelos dados observados => Em Random
Type III: Missing Not at Random (MNAR)
Não é nem Type I nem Type II , e os dados estarão em falta com base na própria coluna em falta , por exemplo, o exemplo seguinte aponta para o facto de faltarem dados na pontuação de QI apenas com as pessoas com uma pontuação baixa .
como pode ver , é impossível detectar casos MNAR sem conhecer os valores em falta !
TLDR : causado pelos próprios dados em falta => Não ao acaso
em nenhum lugar existe uma lista não exaustiva sobre como lidar com problemas de dados em falta :
Método 1: Eliminação
está sob duas técnicas diferentes :
- Apagamento em lista : Neste método, um registro inteiro é excluído da análise se um único valor estiver faltando , e portanto temos o mesmo N (número de registros) para todas as análises .
- Eliminação em pares: durante nossa análise, o número de registros levados em consideração, denominado “N”, variará de acordo com a variável estudada (coluna) e, por exemplo, poderíamos calcular a média para 2 características (VS completo ausente) e, enquanto dividimos pelo número de amostras, acabamos dividindo por diferentes N , um é o número total de linhas e o outro é o número total em valores completos sobre a característica ausente .
Método 2: Métodos de Imputação Única
- Imputação de valor único : substituindo o valor em falta por um único valor utilizando uma estratégia como : Média , Mediana , Mais Frequente , Pessoa Média , … da característica correspondente .
- Similaridade : tentando encontrar a(s) linha(s) mais próxima(s) ( top-N mais próximas ) da linha contendo nosso valor ausente , e fixar uma estratégia entre elas para atribuir um valor ao nosso valor ausente .
- Imputação de regressão : Na imputação de uma única regressão o valor imputado é previsto a partir de uma equação de regressão , assumimos que os valores em falta estão numa linha de regressão com uma inclinação não nula com uma das características completas ( preditores )
Método 3: Métodos de Imputação Múltipla
- Algoritmo de Expectativa-Maximização : um algoritmo que pode ser usado tanto para a imputação de dados ausentes como para a tarefa de agrupamento de aprendizagem de máquinas (considerando o alvo como uma característica ausente) , baseia-se em dois passos :
– Primeiro : Expectativa do valor ausente
– Segundo : Maximização da probabilidade
Recomendo vivamente notas de Andrew NG stanford para o compreender muito bem , não é um algoritmo difícil , não temam as suas fórmulas ! http://cs229.stanford.edu/notes/cs229-notes8.pdf
- Métodos MI : É um método atractivo para lidar com dados em falta na análise multivariada. A idéia de imputação múltipla para dados ausentes foi primeiramente proposta por Rubin , consiste em calcular a média dos resultados através de múltiplos conjuntos de dados imputados para contabilizar isso. Todos os métodos de imputação múltipla seguem três passos :
- Imputação – Similar à imputação única, os valores em falta são imputados. Entretanto, os valores imputados são extraídos m vezes de uma distribuição em vez de apenas uma vez. Ao final desta etapa, deve haver m conjuntos de dados completados.
- Análise – Cada um dos m conjuntos de dados é analisado. Ao final desta etapa, deve haver m análises.
- Pooling – Os m resultados são consolidados em um resultado através do cálculo da média, variância e intervalo de confiança da variável de preocupação.
thanks for you time and attention , Keep Learning !
If you want to reach me out on Linkedin I would be very grateful