Na minha função, muitas vezes trabalho com conjuntos de dados de outras pessoas, os não especialistas me trazem dados clínicos e os ajudo a resumir e executar testes estatísticos.
O problema que estou tendo é que os conjuntos de dados que eu trouxe são quase sempre repletos de erros de digitação, inconsistências e todos os tipos de outros problemas. Estou interessado em saber se outras pessoas têm testes padrão que eles fazem para tentar verificar quaisquer conjuntos de dados que entram.
Eu costumava desenhar histogramas de cada variável apenas para dar uma olhada, mas agora percebo que existem muitos erros horríveis que podem sobreviver a esse teste. Por exemplo, eu tive um conjunto de dados de medidas repetidas outro dia em que, para alguns indivíduos, a medida repetida era idêntica no Tempo 2 e no Tempo 1. Posteriormente, isso se mostrou incorreto, como seria de esperar. Outro conjunto de dados teve um indivíduo que passou de muito gravemente desordenado (representado por uma pontuação alta) a ficar livre de problemas, representado por zeros em geral. Isso é impossível, embora eu não pudesse provar isso definitivamente.
Então, quais testes básicos posso executar em cada conjunto de dados para garantir que eles não tenham erros de digitação e que não contenham valores impossíveis?
Desde já, obrigado!
Respostas:
Ajuda a entender como os dados foram registrados.
Deixe-me compartilhar uma história . Uma vez, há muito tempo, muitos conjuntos de dados eram armazenados apenas em cópias impressas desbotadas. Naqueles dias sombrios, eu contratei uma organização (de grande porte e tamanho; muitos de vocês provavelmente possuem seu estoque) para informatizar cerca de 10 ^ 5 registros de dados de monitoramento ambiental em uma de suas fábricas. Para fazer isso, marquei pessoalmente uma prateleira de relatórios de laboratório (para mostrar onde estavam os dados), criei formulários de entrada de dados e contratei uma agência temporária de alfabetizadostrabalhadores para digitar os dados nos formulários. (Sim, você tinha que pagar mais por quem sabia ler.) Devido ao valor e à sensibilidade dos dados, conduzi esse processo em paralelo com dois trabalhadores por vez (que geralmente mudavam de um dia para o outro). Demorou algumas semanas. Eu escrevi um software para comparar os dois conjuntos de entradas, identificando e corrigindo sistematicamente todos os erros que apareceram.
Rapaz, houve erros! O que pode dar errado? Uma boa maneira de descrever e medir erros é no nível do registro básico , que nessa situação era uma descrição de um único resultado analítico (a concentração de algum produto químico, geralmente) para uma amostra específica obtida em um determinado ponto de monitoramento em um data prevista. Ao comparar os dois conjuntos de dados, descobri:
Erros de omissão : um conjunto de dados incluiria um registro, outro não. Isso geralmente acontecia porque (a) uma ou duas linhas seriam ignoradas na parte inferior de uma página ou (b) uma página inteira seria ignorada.
Aparentes erros de omissão que eram realmente erros de entrada de dados. Um registro é identificado por um nome de ponto de monitoramento, uma data e o "analito" (geralmente um nome químico). Se algum deles apresentar um erro tipográfico, ele não corresponderá aos outros registros com os quais está relacionado. Com efeito, o registro correto desaparece e um registro incorreto é exibido.
Duplicação falsa . Os mesmos resultados podem aparecer em várias fontes, serem transcritos várias vezes e parecem ser verdadeiras medidas repetidas quando não são. As duplicatas são fáceis de detectar, mas decidir se são errôneas depende de saber se as duplicatas devem aparecer no conjunto de dados. Às vezes você simplesmente não pode saber.
Erros de entrada de dados francos . Os "bons" são fáceis de entender porque alteram o tipo de dado: usar a letra "O" para o dígito "0", por exemplo, transforma um número em um não-número. Outros erros bons alteram tanto o valor que podem ser facilmente detectados com testes estatísticos. (Em um caso, o dígito inicial em "1.000.010 mg / Kg" foi cortado, deixando um valor de 10. Isso é uma mudança enorme quando você está falando de uma concentração de pesticidas!) Os erros ruins são difíceis de detectar porque eles mudam um valor em um que se encaixe (mais ou menos) no restante dos dados, como digitar "80" para "50". (Esse tipo de erro ocorre com o software de OCR o tempo todo.)
Transposições . Os valores corretos podem ser inseridos, mas associados às chaves de registro incorretas. Isso é insidioso, porque as características estatísticas globais do conjunto de dados podem permanecer inalteradas, mas diferenças espúrias podem ser criadas entre os grupos. Provavelmente, apenas um mecanismo como a entrada dupla é capaz de detectar esses erros.
Depois de conhecer esses erros e conhecer ou ter uma teoria de como eles ocorrem, você pode escrever scripts para controlar seus conjuntos de dados quanto à possível presença de tais erros e sinalizá-los para obter mais atenção. Você nem sempre pode resolvê-los, mas pelo menos pode incluir um campo "comentário" ou "sinalizador de qualidade" para acompanhar os dados em suas análises posteriores.
Desde então, prestei atenção às questões de qualidade dos dados e tive muitas mais oportunidades de fazer verificações abrangentes de grandes conjuntos de dados estatísticos. Nada é perfeito; todos eles se beneficiam de verificações de qualidade. Alguns dos princípios que desenvolvi ao longo dos anos para fazer isso incluem
Sempre que possível, crie redundância nos procedimentos de entrada e transcrição de dados: somas de verificação, totais, entradas repetidas: qualquer coisa para suportar verificações internas automáticas de consistência.
Se possível, crie e explore outro banco de dados que descreva a aparência dos dados: ou seja, metadados legíveis por computador. Por exemplo, em um experimento com medicamentos, você deve saber antecipadamente que todos os pacientes serão atendidos três vezes. Isso permite que você crie um banco de dados com todos os registros corretos e seus identificadores com os valores que aguardam o preenchimento. Preencha-os com os dados fornecidos e verifique se há duplicatas, omissões e dados inesperados.
Sempre normalize seus dados (especificamente, coloque-os pelo menos na quarta forma normal ), independentemente de como você planeja formatar o conjunto de dados para análise. Isso obriga a criar tabelas de todas as entidades conceitualmente distintas que você está modelando. (No caso ambiental, isso inclui tabelas de locais de monitoramento, amostras, produtos químicos (propriedades, faixas típicas etc.), testes dessas amostras (um teste geralmente cobre um conjunto de produtos químicos) e os resultados individuais desses testes. Ao fazer isso, você cria muitas verificações eficazes da qualidade e consistência dos dados e identifica muitos valores potencialmente ausentes, duplicados ou inconsistentes.
Esse esforço (que exige boas habilidades de processamento de dados, mas é direto) é surpreendentemente eficaz. Se você deseja analisar conjuntos de dados grandes ou complexos e não possui um bom conhecimento prático dos bancos de dados relacionais e de suas teorias, adicione-o à sua lista de itens a serem aprendidos o mais rápido possível. Pagará dividendos ao longo de sua carreira.
Sempre execute o maior número possível de verificações "estúpidas" . Essas são verificações automatizadas de coisas óbvias, tais como as datas que caem nos períodos esperados, a contagem de pacientes (ou produtos químicos ou o que quer que seja) sempre some corretamente, que os valores são sempre razoáveis (por exemplo, um pH deve estar entre 0 e 14 e talvez em uma faixa muito mais restrita para, digamos, leituras de pH no sangue) etc. É aqui que a experiência no domínio pode ser a maior ajuda: o estatístico pode, sem medo, fazer perguntas estúpidas aos especialistas e explorar as respostas para verificar os dados.
Muito mais pode ser dito, é claro - o assunto vale um livro - mas isso deve ser suficiente para estimular idéias.
fonte
@whuber faz ótimas sugestões; Gostaria apenas de acrescentar: parcelas, parcelas, parcelas, parcelas. Gráficos de dispersão, histogramas, gráficos de caixa, gráficos de linha, mapas de calor e qualquer outra coisa que você possa imaginar. Obviamente, como você descobriu, existem erros que não serão aparentes em nenhum gráfico, mas são um bom lugar para começar. Apenas certifique-se de ter certeza de como seu software lida com dados ausentes etc.
Dependendo do contexto, você pode ser criativo. Uma coisa que eu gosto de fazer Com dados multivariados é ajustar algum tipo de modelo de fator / PCA probabilístico (algo que fará imputação múltipla por dados ausentes) e examinar as pontuações para o maior número possível de componentes. Os pontos de dados com alta pontuação nos componentes / fatores menos importantes geralmente são discrepantes que você pode não ver de outra forma.
fonte
Grandes coisas que costumo verificar:
Ótima pergunta BTW - Espero ler a experiência de outras pessoas sobre o assunto.
fonte
Quando você tem medidas ao longo do tempo (" dados longitudinais "), geralmente é útil verificar os gradientes e as distribuições marginais. Este gradiente pode ser calculado em diferentes escalas. Em geral, você pode fazer transformações significativas em seus dados (fourier, wavelet) e verificar as distribuições dos marginais dos dados transformados.
fonte
Alguns que eu sempre passo:
Essas são as primeiras etapas que passo para garantir que um conjunto de dados esteja pronto para algo como análise exploratória de dados. Apenas sentado, perambulando pelos dados, alguns dizem "Isso ... parece certo?"
fonte
Eu usaria o método de amostragem de aceitação para cada coluna (ele fornece o número de corte onde você pode traçar a linha entre alta e baixa qualidade); existe uma calculadora on-line para isso.
fonte