Unidade 2 / 11

Limpeza e preparação de dados: dados ausentes, valores discrepantes e codificação

Ganhos:

  • Capacidade de reconhecer tipos de dados ausentes (MCAR/MAR/MNAR), valores discrepantes e erros de codificação e usar IA com os dados corretos para produzir código de limpeza e diagnóstico
  • Capacidade de ver como cada etapa de limpeza (exclusão, atribuição, transformação) sugerida pela inteligência artificial afetará o resultado da análise e estabelecerá um fluxo de trabalho reversível e documentado
  • Manter que as decisões de limpeza sejam baseadas no conhecimento do processo que gera os dados e que a inteligência artificial seja um assistente supervisionado e não um autômato cego

Todo analista experiente conhece uma verdade: na maioria das vezes um projeto empírico não é modelagem, mas limpeza de dados (trabalho de corrigir erros, omissões e inconsistências nos dados e prepará-los para análise). Como regra geral, cerca de 70-80% do tempo é gasto na compreensão, limpeza e transformação de dados; restam apenas 20-30% para a análise real. Nesta unidade, veremos passo a passo como a inteligência artificial (IA) alivia esse pesado fardo, mas quais decisões ainda devem permanecer com você e por quê.

Vamos colocar dois fatos básicos primeiro. Primeiro, as decisões de limpeza são baseadas no seu conhecimento do processo que produz os dados: só você sabe por que um valor está faltando, por que um número é muito grande. A IA não vê os dados, não conhece o contexto; Escreve código, não toma decisões. Segundo, cada etapa de limpeza pode alterar o resultado da análise. A exclusão de um valor discrepante pode inverter o coeficiente; Preencher o que falta com a média pode reduzir artificialmente a variância. Portanto, a limpeza deve ser reversível e documentada: nunca toque nos dados brutos, execute cada etapa do código, registre o impacto de cada etapa.

Fluxo de trabalho de limpeza passo a passo

1. Conheça os dados. Primeiro veja a estrutura: número de linhas (observações) e colunas (variáveis), tipo de cada variável (numérica, categórica, data), estatísticas resumidas, número de faltantes. Você pode solicitar à IA esse código de “perfil de dados”; Mas você lê a saída e faz perguntas como "por que essa variável veio como texto?"

2. Compreender e classificar os dados em falta. Os dados ausentes são divididos em três tipos. MCAR (Missing Completely At Random): a falta não se deve a nada, por exemplo, um sensor falhou aleatoriamente. MAR (Missing At Random): a falta depende de outras variáveis ​​observadas, por exemplo, pessoas mais velhas deixam uma questão em branco com mais frequência, mas você sabe a idade. MNAR (Missing Not At Random): a falta depende do próprio valor não observado, por exemplo, pessoas com rendimentos elevados não reportam os seus rendimentos. Essa distinção é crítica porque determina o método de solução e a IA não pode decidir isso por você.

3. Lide com a deficiência. Opções: exclusão listwise, imputação de média/mediana, imputação múltipla baseada em modelo. A exclusão no MCAR é relativamente segura, mas reduz o tamanho da amostra. A atribuição múltipla é mais apropriada no MAR. Nenhum método simples garante imparcialidade no MNAR; O mecanismo de deficiência deve ser modelado ou pelo menos uma análise de sensibilidade deve ser realizada. Preencher a média é fácil, mas perigoso: reduz a variância, enfraquece os relacionamentos e esconde a incerteza.

4. Examine os valores discrepantes. Um outlier é uma observação que está muito distante das outras. Separe as duas questões: isso é um erro (a idade 999 foi escrita na entrada de dados) ou é um valor real, mas atípico (renda de um bilionário)? Corrigir bugs; Não exclua valores discrepantes verdadeiros porque eles representam dados. Excluir o valor discrepante "porque incomoda" está distorcendo os dados em direção ao resultado.

5. Codificação e consistência. Padronize categorias (“Masculino”, “masculino”, “E” tudo em um código), reúna datas em um formato, unidades em uma escala, detecte linhas duplicadas. Esta é a fase menos arriscada onde a IA ajuda melhor.

6. Documente e congele. Registre cada etapa com código e uma linha de comentário, mantendo os dados brutos e limpos separados. Então, quando um árbitro pergunta “por que essas observações foram descartadas?” você tem sua resposta pronta.

Cuidado: Não tome decisões de limpeza com base nos resultados. Excluir uma linha que diz “Quando você exclui esta linha, o coeficiente se torna significativo” é a forma mais insidiosa de p-hacking, que veremos na próxima unidade.

Tabela de comparação: métodos de dados ausentes

Método

Quando é apropriado?

risco

Papel da IA

Excluir uma linha

MCAR, baixa taxa de falta

Amostra torna-se menor, viés em MAR/MNAR

Escreve o código; você decide

Atribuição média/mediana

Análise preliminar rápida

Reduz a variação, esconde o relacionamento

É fácil, mas não recomenda; deveria avisar

Atribuição múltipla (MI)

MAR, variáveis importantes

Se não for instalado corretamente, será enganoso

Recomenda código e pacote (mouses)

Modelagem de mecanismo

MNAR

Complexo, intensivo em suposições

Apenas rascunho; é necessário especialista

Quatro prompts copiáveis

1. Perfil de dados:

Sua função: assistente de limpeza de dados. Não compartilho os dados, quero o código R. Eu tenho um data.frame chamado ‘digit’; variáveis: id, idade (numérica), renda (numérica), escolaridade (categórica), região (categórica), data (data). Tarefa: escrever código que produza tipo, número faltante e taxa para cada variável, estatísticas resumidas para variáveis ​​numéricas e tabela de frequência para variáveis ​​categóricas. Adicione linha de comentário.

2. Diagnóstico de dados ausentes:

Escreva um código que examine o padrão faltante para os dados de 'dígitos' acima: - a taxa faltante de cada variável, - uma tabela/gráfico simples mostrando a relação da falta com outras variáveis. Analisarei a saída do código e farei a distinção MCAR/MAR/MNAR; Você acabou de produzir a ferramenta de diagnóstico, NÃO decida sobre o método de atribuição.

3. Inspeção de valores discrepantes (não exclusão):

Escreva o código para a variável 'renda' que examina valores discrepantes SEM EXCLUIR: boxplot, limites baseados em IQR e tabela listando observações + valores discrepantes. Vou ver se são erros ou reais. Adicione exclusão automática.

4. Padronização de codificação:

Na variável ‘educação’ os valores são escritos mistos: “Ensino fundamental”, “ensino fundamental”, “primário”, “ensino médio”, “ensino médio”, “universidade”, “universidade”. Escreva o código R que os recodifica em categorias consistentes; Mostre claramente a tabela de mapeamento para que eu possa confirmar cada conversão. Defina o valor que você não reconhece como "UNKNOWN".

Alerta fraco / Alerta forte

Alerta fraco:

Limpe os dados, preencha as lacunas, descarte os valores discrepantes.

Esta exigência é perigosa: dá autoridade cega à IA. Que tipo de falta, que tipo de preenchimento, que verdade contraditória - nada disso está claro. O resultado pode ser um conjunto de dados secretamente tendencioso.

Alerta poderoso:

Sua função: auxiliar de limpeza, você não é o tomador de decisões. Vá passo a passo e escreva um código que relate o impacto de CADA etapa: 1) mostre o padrão ausente (NÃO exclua/preencha), 2) liste candidatos discrepantes (NÃO exclua), 3) corrija inconsistências de categoria com a tabela de mapeamento. Imprima a contagem de linhas e a estatística resumida após cada etapa para que eu possa ver e confirmar a alteração. Inserção automática de atribuição/exclusão.

A diferença é clara: a vontade forte posiciona a IA como uma assistente supervisionada, produzindo etapas reversíveis e documentadas.

três mini cases

Caso 1 — Armadilha de atribuição média. Os dados de renda de um analista para 5.000 pessoas estavam faltando 18%. Ele disse à AI para “preencher as lacunas”; A IA calculou a média de todos eles. Resultado: a variância da renda diminuiu 22% e o coeficiente da relação educação-renda acabou sendo mais fraco do que era. Maneira correta: a deficiência era MAR (devido à escolaridade), teve que ser preenchida por atribuição múltipla (ratos). Lição: o método de enchimento depende do mecanismo.

Caso 2 — A limpeza de outliers inverte o achado. Havia 3 empresas muito grandes (0,6% do total da observação) nos dados de uma empresa. Estes foram excluídos pela sugestão de “limpeza” da IA; O coeficiente de economias de escala passou de positivo para negativo. No entanto, essas 3 empresas eram reais e uma parte importante da indústria. A maneira correta era relatar com estimativa completa e robusta em vez de excluir. Lição: os verdadeiros valores discrepantes são dados, não ruído.

Caso 3 — Erro silencioso de codificação. Em um painel, a variável data veio em dois formatos diferentes (“2020-03-01” e “01/03/2020”). Quando o código de combinação produzido pela IA os confundiu com valores diferentes, 1.400 observações foram incompatíveis e as taxas de crescimento tornaram-se ridículas. Não importaria se o analista não verificasse a contagem de linhas. Lição: contagens de observação e verificações de sanidade após cada etapa são obrigatórias.

Erros comuns

  • Preenchendo cegamente a lacuna com a média. Reduz a variância, oculta a incerteza e cria preconceitos no MAR/MNAR. Primeiro classifique o mecanismo.
  • Excluir o outlier “porque incomoda”. Os verdadeiros valores discrepantes representam os dados; excluir é distorcer o resultado. Corrija o que está errado, mantenha o que é real.
  • Aproveitando dados brutos. Nunca modifique dados brutos; Faça toda a limpeza com o código em uma cópia separada para que possa ser revertido.
  • Não medir o impacto das etapas. Se a contagem de linhas e as estatísticas resumidas não forem verificadas após cada etapa, erros silenciosos serão acumulados.
  • Como resultado, limpar. A lógica de “Quando você adiciona esta linha, o resultado fica melhor” é p-hacking; A limpeza deve ser planejada antes e independentemente do resultado da análise.
Dica: Mantenha uma tabela “antes/depois” que coloque as mesmas estatísticas básicas (média, mediana, número de observações, algumas correlações) lado a lado antes e depois da limpeza. Um salto inesperado é o melhor prenúncio de um erro oculto.

Em resumo

A limpeza de dados é a fase do trabalho empírico que mais consome tempo e exige decisões. A IA é um gerador de código poderoso nisso, mas não pode tomar as decisões: você classifica o tipo de dados ausente (MCAR/MAR/MNAR), determina se o valor discrepante é um erro ou real, mantém cada etapa reversível e documentada. Em vez de dar autoridade “clara” cega à IA, estabeleça um fluxo de trabalho passo a passo cujo impacto seja medido e validado. Verificar o número de observações e estatísticas resumidas após cada etapa é o melhor antídoto para erros silenciosos.

Tarefa de aplicativo

Selecione pelo menos duas variáveis ​​que contenham valores ausentes e discrepantes em um conjunto de dados (seus próprios dados ou um conjunto de amostra). Solicite um código de diagnóstico da IA ​​através do prompt “passo a passo, não exclua/preencha” acima e execute-o. Classifique a deficiência como MCAR/MAR/MNAR e escreva sua justificativa em uma frase. Examine os candidatos contraditórios um por um e decida qual deles é um erro e qual é real. Por fim, produza uma tabela “antes e depois” antes/depois da limpeza e relate se houver alguma alteração inesperada.

lista de verificação

  • [] Limpei os dados brutos em uma cópia separada sem alterá-los.
  • [ ] Classifiquei a deficiência como MCAR/MAR/MNAR e escolhi o método de acordo.
  • [ ] Examinei os outliers um por um se eram erros ou reais; Eu não o apaguei cegamente.
  • [] Verifiquei o número de observações e estatísticas resumidas após cada etapa de limpeza.
  • [] Documentei todas as etapas com código e uma linha de comentário; reversível.
  • [ ] Baseei a limpeza no conhecimento do processo que produz os dados, e não no resultado da análise.