Dicas e truques de kNN II: ordenando variáveis
Como o algoritmo k-Nearest Neighbors percorre as variáveis do conjunto de dados para imputá-las, ele calcula distâncias entre observações usando outras variáveis, algumas das quais já foram imputadas nas etapas anteriores. Isso significa que, se as variáveis posicionadas antes nos dados tiverem muitos valores ausentes, o cálculo de distância subsequente será baseado em muitos valores imputados. Isso introduz ruído no cálculo das distâncias.
Por isso, é uma boa prática ordenar as variáveis de forma crescente pelo número de valores ausentes antes de realizar a imputação com kNN. Assim, cada cálculo de distância se baseia no máximo de dados observados e no mínimo de dados imputados.
Vamos testar isso com os dados tao!
Este exercício faz parte do curso
Tratamento de Dados Ausentes com Imputações em R
Instruções do exercício
- Calcule o número de valores ausentes em cada coluna de
taona primeira parte do pipeline. - Em seguida, ordene as variáveis de forma crescente de acordo com o número de valores ausentes, extraia seus nomes e atribua o resultado a
vars_by_NAs. - Use
select()para reordenar as variáveis detaousando a ordem salva emvars_by_NAs. - Realize a imputação por k-Nearest Neighbors nos dados reordenados e atribua o resultado a
tao_imp.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Get tao variable names sorted by number of NAs
vars_by_NAs <- tao %>%
___ %>%
colSums() %>%
sort(decreasing = ___) %>%
names()
# Sort tao variables and feed it to kNN imputation
tao_imp <- tao %>%
select(___) %>%
___()
tao_imp %>%
select(sea_surface_temp, humidity, humidity_imp) %>%
marginplot(delimiter = "imp")