Mecanismos de dados ausentes

Tratamento de Dados Ausentes com Imputações em R

Michal Oleszak

Machine Learning Engineer

Mecanismos de dados ausentes: visão geral

Problemas de dados ausentes se enquadram em três categorias. Diferenciá-las é essencial, pois cada uma exige uma solução distinta.

  • Missing Completely at Random (MCAR).
  • Missing at Random (MAR).
  • Missing not at Random (MNAR).
Tratamento de Dados Ausentes com Imputações em R

Missing Completely at Random (MCAR)

As posições dos valores ausentes no conjunto de dados são puramente aleatórias; não dependem de outros dados.

Exemplo:

Um sensor meteorológico mede a temperatura e envia os dados para um banco. Há alguns registros ausentes quando o sensor quebra.

Tratamento de Dados Ausentes com Imputações em R

Missing at Random (MAR)

As posições dos valores ausentes no conjunto de dados dependem de outros dados observados.

Exemplo:

Há temperaturas ausentes quando o sensor foi desligado para manutenção. Como a equipe não trabalha nos fins de semana, as posições dos ausentes dependem do dia da semana.

Tratamento de Dados Ausentes com Imputações em R

Missing not at Random (MNAR)

As posições dos valores ausentes no conjunto de dados dependem dos próprios valores ausentes.

Exemplo:

Quando está muito frio, o sensor congela e para. Assim, não registra temperaturas muito baixas. Logo, as posições de ausência na variável de temperatura dependem dos valores dessa própria variável.

Tratamento de Dados Ausentes com Imputações em R

Lidando com os mecanismos

E se simplesmente removermos observações incompletas?

  • Se os dados são MCAR, removê-los causa perda de informação.
  • Se os dados são MAR ou MNAR, removê-los introduz viés nos modelos construídos com esses dados.
  • Nesse caso, os valores ausentes devem ser imputados.
  • Muitos métodos de imputação assumem MAR, então é importante detectá-lo.
Tratamento de Dados Ausentes com Imputações em R

Testes estatísticos

Exemplo: teste t para diferença de médias

  1. Faça uma suposição (hipótese nula): as médias são iguais.
  2. Calcule a estatística de teste com seus dados.
  3. Calcule o valor-p: qual a chance de obter a estatística observada, assumindo que a hipótese nula é verdadeira?

valor-p pequeno → rejeitar a hipótese nula → médias diferentes


valor-p grande → não rejeitar a hipótese nula → médias iguais

Tratamento de Dados Ausentes com Imputações em R

Testando MAR

Objetivo: testar se a porcentagem de valores ausentes em uma variável difere conforme os valores de outra variável.

Exemplo: a porcentagem de ausentes em PhysActive difere entre homens e mulheres?

Procedimento de teste:

  1. Crie uma variável binária indicando se PhysActive está ausente.
  2. Use um teste t para verificar se a média desse binário difere entre homens e mulheres.
  3. Se o valor-p for pequeno (ex.: < 0.05), as médias diferem; logo, os dados são MAR.
Tratamento de Dados Ausentes com Imputações em R

Testando na prática

nhanes <- nhanes %>% 
  mutate(missing_phys_active = is.na(PhysActive))
missing_phys_active_male <- nhanes %>% 
  filter(Gender == "male") %>% 
  pull(missing_phys_active)

missing_phys_active_female <- nhanes %>% 
  filter(Gender == "female") %>% 
  pull(missing_phys_active)
Tratamento de Dados Ausentes com Imputações em R

Interpretando os resultados

t.test(missing_phys_active_female, missing_phys_active_male)
    Welch Two Sample t-test

data:  missing_phys_active_female and missing_phys_active_male
t = -1.7192, df = 781.18, p-value = 0.08597
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.044414688  0.002940477
sample estimates:
 mean of x  mean of y 
0.02083333 0.04157044
Tratamento de Dados Ausentes com Imputações em R

Vamos praticar reconhecer mecanismos de dados ausentes!

Tratamento de Dados Ausentes com Imputações em R

Preparing Video For Download...