Principais tipos de dados faltantes (missing data)

Missing data é um problema para a maioria dos datasets, mas nem todos os dados faltantes podem ser tratados da mesma maneira

Dados faltantes (missing data) é um problema que ocorre com frequência em datasets reais. Nas pesquisas com questionários, por exemplo, algumas pessoas não respondem alguns itens, fazendo com que informações importantes sejam perdidas, correlações ficam indisponíveis ou o survey pode não ter um número satisfatório de pessoas para podermos generalizar a situação para uma população maior.

O impacto desses dados faltantes na inferência estatística é potencialmente alto, ainda mais em alguns casos onde o público que possui dado ausente é sistematicamente diferente daquele que os dados estão completos.

Precisamos de uma estimativa coerente e inferêncial sobre esses dados faltantes, simplesmente descartá-los pode levar a resultados enviesados.

Dessa forma, os dados faltantes podem ser classificados em 3 tipos com a notação em inglês: missing completely at random (MCAR), missing at random (MAR) e missing not at random (MNAR).

Missing completely at random (MCAR)

Os dados são ditos do tipo MCAR quando “a probabilidade de estarem ausentes é independente de qualquer observação no dataset”.

Mas o que isso quer dizer?

Essa abordagem assume que tanto os dados observados como os não observados são amostras aleatórias do mesmo mecanismo de geração de dados. Ou seja, não conseguimos encontrar uma correlação entre as classes que possuem dados ausentes e as classes que não possuem dados ausentes.

Para os dados do tipo MCAR, nós podemos simplesmente descartar as observações ausentes e trabalhar somente com as amostras completas.

Ou seja, imagine um dataset com 10.000 respostas de entrevistados. Encontramos 100 pessoas que não responderam ao item 'Você prefere o inverno ou verão?' por exemplo. Como não conseguimos identificar alguma relação que explique essa ausência, podemos descartar essas 100 pessoas e realizar a modelagem do problema apenas com as 9900 respostas completas.

No exemplo ao lado, conseguimos visualizar que não há relação entre a idade e os dados faltantes na tabela da direita. Temos amostras com idade 30 que possuem dados preenchidos e outra não. O mesmo para 51 anos.

Ou seja, não é possível identificar uma relação entre as amostras sem preenchimento e aquelas completamente preenchidas.

Outro exemplo pode ser no processamento de amostras médicas/laboratoriais, alguns dados de pacientes podem ser perdidos por processamento incorreto durante as diversas etapas de análise e análise química/laboratorial. Ou seja, não há uma explicação estatística para os dados estarem ausente.

Missing at random (MAR)

A abordagem de dados do tipo MAR assumem que as observações com dados faltantes não respeitam uma distribuição aleatória como as amostras com dados observados. Isso significa que precisamos modelar o comportamento das amostras com dados faltantes.

Há uma relação sistemática entre os dados ausentes e alguma informação coletada sobre os dados. Por exemplo, sabemos que os homens são mais propensos a responder perguntas sobre a sua idade e sobre o seu peso do que as mulheres. Portanto, em alguns datasets podemos encontrar uma relação entre os dados faltantes e a idade/sexo do entrevistado.

No exemplo ao lado, conseguimos identificar que há uma relação entre as idades das pessoas e a ausência de informações sobre o QI. Ou seja, há grande probabilidade dos dados estarem faltantes estarem relacionada a medida Age (idade). Essa informação precisa ser incorporada ao modelo e testada se não existem outras informações que podem ter influenciado a ausência dos dados.

Outro exemplo de dados do tipo MAR é que os homens são menos propensos a informar a severidade de uma depressão que as mulheres. Isto é, a probabilidade de um atributo ser completamente preenchido está relacionado ao sexo (que geralmente é preenchido completamente).

Observe que preencher a severidade da depressão não está relacionada a depressão em si, mas a outro atributo.

Missing not at random (MNAR)

Esse é o tipo mais geral e mais complexo. No modelo MNAR, a probabilidade é que os valores faltantes dependam não só dos dados observados assim como dos dados não observados. Não há como ignorar o mecanismo que levou os dados a estarem ausentes. Para esse tipo de dado, não podemos somente ignorar a situação, um tratamento precisa ser realizado.

Observando os dados ao lado, identificamos que os dados não estão ausentes aleatoriamente. As pessoas com menor QI não preencheram os dados.

O problema no mecanismo MNAR é que não conseguimos identifica-lo sem saber previamente o valor que está ausente.

Voltando ao exemplo do survey sobre depressão, os dados seriam do tipo MNAR caso a gravidade da depressão fosse a responsável por influenciar o preenchimento ou não do campo.

Por que precisamos identificar esses tipos?

Técnicas para tratar os dados ausentes precisam usar como premissa a identificação desses tipos para não introduzir um viés aos dados.

A substituição dos dados ausentes por novos valores ou pelo vizinho mais próximo pressupõe que os dados são no mínimo MAR.

Já a deleção dos dados só pode ser feita caso os dados sejam MCAR. Porém há um limite para essa utilização, caso o percentual de dados faltantes seja muito grande, isso começará a afetar o modelo.

Lembre-se que em um dataset vários atributos possuirão dados faltantes e nem todos serão do mesmo tipo. Cada um precisará ser analisado para a tomada de decisão e se o dado será substituído, deletado ou modelado em relação a outras medidas.

Conclusão:

Para trabalhar com dados faltantes, recomendamos seguir os passos abaixo:

  1. Garantir que os dados estão codificados corretamente.

  2. Identificar dados faltantes para cada variável.

  3. Buscar padrões que expliquem o motivo dos dados faltantes.

  4. Checar as associações entre os dados faltantes e outros dados observados.

  5. Decidir como lidar com esses dados.

O item 5 é geralmente tratado de uma das maneiras abaixo:

Deletar a variável/atributo que possui dados faltantes.

Deletar somente as amostras com dados faltantes.

Preencher (fill in) os dados faltantes por alguma estatística (média, mediana, etc)

Modelar o dado faltante

Para a escolha ser bem sucedida e não gerar um viés aos dados é importante o conhecimento dos conceitos apresentados nesse artigo: MCAR, MAR e MNAR.

Em outra oportunidade mostraremos mais casos práticos para realizar esse tratamento com alguns dataset e python.

Nos acompanhe no instagram em @aprendadatascience.

Até a próxima!

Referências:

1- Missing No More: Using the MCMC Procedure to Model Missing Data

https://support.sas.com/resources/papers/proceedings13/436-2013.pdf

2- Missing Completely at Random

https://www.iriseekhout.com/missing-data/missing-data-mechanisms/mcar/

3- Managing Missing Data in Patient Registries: Addendum to Registries for Evaluating Patient Outcomes: A User’s Guide, Third Edition
https://www.ncbi.nlm.nih.gov/books/NBK493614/

4- Missing Data

https://cran.r-project.org/web/packages/finalfit/vignettes/missing.html