Praticamente qualquer banco de dados que desejamos fazer previsões usando algoritmos de aprendizado de máquina encontrará valores ausentes para algumas das características.
Existem várias abordagens para resolver esse problema, para excluir linhas que possuem valores ausentes até que sejam preenchidas com os valores médios das características.
Gostaria de usar para uma abordagem um pouco mais robusta, que basicamente executaria uma regressão (ou outro método) em que a variável dependente (Y) seria cada uma das colunas com valores ausentes, mas apenas com as linhas da tabela que contêm todos os dados e prevêem os valores ausentes com esse método, preencha a tabela pela tabela e vá para a próxima 'coluna' com valores ausentes e repita o método até que tudo esteja preenchido.
Mas isso me dá algumas dúvidas.
Por que qualquer coluna começa? Eu acredito que aquele com os menores valores ausentes até aquele com os mais
Existe algum limite de valores ausentes que não vale a pena tentar concluí-lo? (por exemplo, se essa característica tiver apenas 10% dos valores preenchidos, não seria mais interessante excluí-la)
Existe algum tipo de implementação em pacotes tradicionais ou outros métodos que são robustos a erros?
Amelia II
em R é uma escolha sólida. Ou você pode usar o seu própriostan
.Respostas:
A técnica que você descreve é chamada imputação por regressões seqüenciais ou imputação múltipla por equações encadeadas. A técnica foi pioneira em Raghunathan (2001) e implementada em um pacote R que funcionava bem
mice
(van Buuren, 2012).Um artigo de Schafer e Graham (2002) explica bem por que a imputação média e a exclusão listwise (o que você chama de exclusão de linha) geralmente não são boas alternativas para as técnicas mencionadas acima. Principalmente a imputação média não é condicional e, portanto, pode influenciar as distribuições imputadas em relação à média observada. Também reduzirá a variação, entre outros impactos indesejáveis na distribuição imputada. Além disso, a exclusão listwise, de fato, só funcionará se os dados estiverem faltando completamente ao acaso, como o toque de uma moeda. Além disso, aumentará o erro de amostragem, pois o tamanho da amostra é reduzido.
Os autores citados acima geralmente recomendam começar com a variável que apresenta os valores menos ausentes. Além disso, a técnica é geralmente aplicada de maneira bayesiana (ou seja, uma extensão da sua sugestão). As variáveis são visitadas com mais frequência no procedimento de imputação, não apenas uma vez. Em particular, cada variável é completada com base em sua distribuição preditiva posterior condicional, começando com a variável que apresenta menos valores ausentes. Depois que todas as variáveis em um conjunto de dados são concluídas, o algoritmo inicia novamente na primeira variável e depois reitera até a convergência. Os autores mostraram que esse algoritmo é Gibbs, portanto, geralmente converge para a distribuição multivariada correta das variáveis.
Geralmente, porque existem algumas suposições não testáveis envolvidas, em particular faltando dados aleatórios (ou seja, se os dados são observados ou não, depende apenas dos dados observados e não dos valores não observados). Os procedimentos também podem ser parcialmente incompatíveis, motivo pelo qual foram chamados de PIGS (amostrador de Gibbs parcialmente incompatível).
Na prática, a imputação múltipla bayesiana ainda é uma boa maneira de lidar com problemas de dados ausentes não monótonos e multivariados. Além disso, extensões não paramétricas, como correspondência preditiva média, ajudam a relaxar as suposições da modelagem de regressão.
Raghunathan, TE, Lepkowski, J., van Hoewyk, J. e Solenberger, P. (2001). Uma técnica multivariada para multiplicar valores ausentes de imputação usando uma sequência de modelos de regressão. Survey Methodology, 27 (1), 85–95.
Schafer, JL e Graham, JW (2002). Dados ausentes: nossa visão do estado da arte. Psychological Methods, 7 (2), 147-177. https://doi.org/10.1037/1082-989X.7.2.147
van Buuren, S. (2012). Imputação flexível de dados ausentes. Boca Raton: CRC Press.
fonte
mice
algoritmo usa regressão ou correspondência preditiva média. Inicialmente, você preenche os dados ausentes com base na distribuição observada e, em seguida, imputa sequencialmente. Depois de concluído, repita, mas usando os valores recém-imputados. Os novos dados participam, simComo não encontrei nada que resolvesse meu problema, escrevi uma função que mistura algumas soluções para um dataframe do Pandas com valores numéricos ausentes (com valor fantasia) e categórico (com uma floresta aleatória).
fonte
R
funçãomice
, Stef van Buuren. Ele pode estar interessado no seu código Python e / ou apontar o trabalho de outras pessoas a esse respeito. stefvanbuuren.nlEmbora normalmente esteja mais envolvido, você pode tentar criar uma Distribuição máxima de entropia com base nos dados que você possui.
http://proceedings.mlr.press/v5/huang09a/huang09a.pdf
fonte