Introdução

Os algoritmos de árvore de decisão continuam a ser uma pedra angular da aprendizagem de máquina para tarefas de classificação e regressão, devido à sua estrutura intuitiva, interpretabilidade e capacidade de modelar relações não lineares. No entanto, os conjuntos de dados do mundo real raramente são intocados; frequentemente contêm valores em falta causados por falhas de sensores, erros humanos, problemas de integração de dados ou remissões motivadas pela privacidade. Ignorar essas lacunas pode degradar o desempenho do modelo, introduzir preconceitos e levar a previsões não confiáveis. Portanto, o manuseio adequado de dados em falta é essencial para a construção de modelos de árvore de decisão robustos que generalizem bem. Este artigo fornece uma exploração profunda e prática de mecanismos de dados em falta, técnicas de manuseio tradicionais e modernas e orientação acionável para os praticantes que precisam implantar árvores de decisão em conjuntos de dados incompletos.

Compreender os Dados em Falta

A estratégia de manuseio adequada depende do mecanismo que gerou o desfalecimento. Os estatísticos classificaram os dados em três tipos distintos, cada um com implicações diferentes para a análise.

Faltando Completamente em Aleatório (MCAR)

No MCAR, a probabilidade de falta de um valor é inteiramente independente dos dados observados e não observados. Por exemplo, um instrumento de laboratório ocasionalmente falha em intervalos aleatórios não relacionados com a amostra em teste, ou um entrevistador acidentalmente ignora uma pergunta. O MCAR é o tipo mais fácil de lidar analiticamente, pois os dados observados permanecem uma amostra aleatória representativa do conjunto de dados completo. No entanto, o verdadeiro MCAR é raro na prática; a maioria dos faltas reais exibe alguma dependência.

Faltando em Aleatório (MAR)

O MAR ocorre quando o omisso depende apenas de variáveis observadas e não dos próprios valores em falta. Por exemplo, em um conjunto de dados de risco de crédito, o rendimento pode estar mais provavelmente ausente para os candidatos mais jovens (idade observada) mas, dada a idade, o rendimento em falta não depende do nível real de renda. Muitos métodos de imputação padrão assumem que o MAR, e técnicas como imputação múltipla ou estimativa de máxima verossimilhança permanecem válidas sob esta suposição. O MAR é um mecanismo plausível em muitos contextos empresariais e científicos.

Não Faltando ao Aleatório (MNAR)

No MNAR, a probabilidade de falta está relacionada com o valor não observado em si. Um exemplo clássico é em inquéritos salariais: indivíduos de alta renda podem recusar-se a divulgar seus ganhos, o que significa que o falta diretamente correlaciona com o valor em falta (renda). MNAR é o cenário mais desafiador, porque os valores em falta não podem ser estimados de forma confiável sem informações externas ou técnicas especiais de modelagem (por exemplo, modelos de seleção ou modelos de mistura de padrões). Ignorar MNAR ou aplicar imputação padrão pode introduzir viés grave.

Identificando os Padrões de Dados em Falta

Antes de escolher um método de manipulação, os praticantes devem explorar o padrão de falta em seu conjunto de dados.

  • Leatmaps de falta – visualize a proporção de valores em falta por recurso e por amostra.
  • Teste MCAR da Little’s – um teste estatístico formal que indica se a MCAR é plausível.
  • Estatísticas de faltas de grupo – calcular a média de características observadas condicionadas à falta de outra funcionalidade; grandes diferenças sugerem MAR ou MNAR.

Compreender o mecanismo estabelece a base para selecionar uma estratégia de imputação ou modelação adequada.

Consequências de Ignorar Dados Desaparecidos

Muitas abordagens ingênuas – como a exclusão em listwise (simplesmente removendo linhas com qualquer valor em falta) ou a exclusão emparelhada – ainda são usadas na prática, mas vêm com custos substanciais:

  • Tamanho reduzido da amostra – eliminação listada pode descartar uma grande fração dos dados, especialmente com muitas características, levando a alta variância e baixo poder estatístico.
  • Estimativas de parâmetros de base – se o omisso não for MCAR, a amostra retida não é mais representativa. Este viés propaga-se diretamente em splits de árvore de decisão, causando limiares incorretos e pureza subótima do nó.
  • Perda de informação – recursos com valores em falta podem ser excluídos da lógica de divisão, desperdiçando sinal preditivo que poderia ter sido usado através de subdivisões substitutas ou imputação.
  • Manuseamento inconsistente entre árvores – métodos de conjunto como florestas aleatórias podem tratar valores em falta de forma diferente em cada árvore base, gerando previsões instáveis.

Um tratamento de dados em falta bem desenhado melhora a precisão e a confiabilidade, especialmente em aplicações de alto risco, como diagnóstico médico, avaliação de risco financeiro e manutenção preditiva.

Métodos de Imputação Tradicionais

A imputação – preenchendo valores em falta com valores estimados – é a abordagem mais utilizada. A escolha do método de imputação depende do tipo de dados, do mecanismo de falta e do orçamento computacional.

Imputação Univariada Simples

As técnicas mais simples substituem um valor em falta pela média, mediana ou modo dos valores observados para essa funcionalidade. Embora estes métodos ignorem rapidamente as correlações entre as funcionalidades e tendem a diminuir a variância, inflando artificialmente a confiança do modelo. A imputação média é apropriada apenas sob o MCAR e para as funcionalidades com distribuições mais ou menos simétricas; a imputação mediana é mais robusta para outliers. A imputação do modo é usada para características categóricas, mas pode introduzir um viés se a categoria dominante não for representativa.

Regressão Implacável

A imputação de regressão modela a funcionalidade com valores em falta em função de outras funcionalidades completas. Uma regressão linear é adequada aos itens observados e então usada para prever os que faltam. Isto preserva as relações entre variáveis, mas assume linearidade e pode levar a uma sobre- adaptação se os mesmos dados forem usados tanto para imputação como para treino de modelos. As versões mais avançadas usam métodos iterativos como equações encadeadas (MICE) que se deslocam através de funcionalidades até convergência.

K- Nearest Neighbors (KNN) Imputation

A imputação do KNN encontra as amostras completas mais semelhantes (por distância nas características observadas) e as médias (ou vota por maioria) dos seus valores. Capta naturalmente dependências não- lineares e funciona bem com tipos de dados mistos. As principais desvantagens são o custo computacional para grandes conjuntos de dados e a sensibilidade à escolha de k e métrica de distância. O KNN assume que o mecanismo de falta é MCAR ou MAR e que a métrica de distância é significativa para o espaço de funcionalidades.

Imputação Múltipla

A imputação múltipla (por exemplo, usando o algoritmo MCMC ou MICE) gera vários conjuntos de dados completos, imputando valores de um modelo estatístico que incorpora incerteza. O analista então se encaixa numa árvore de decisão para cada conjunto de dados imputado e agrupa os resultados (por exemplo, por meio da média das probabilidades previstas ou usando as regras de Rubin). Esta abordagem reflete corretamente a incerteza de imputação e é robusta sob MAR. Embora computacionalmente mais pesada, é o padrão ouro para muitas aplicações estatísticas e é suportada em Python através de bibliotecas como [] ou ] em scikit- learn.

Limitações de Imputação Simples

Nenhum método de imputação é uma panaceia. A imputação simples pode distorcer a distribuição conjunta de funcionalidades, tornando mais difícil para as árvores de decisão encontrar divisões limpas. Além disso, a imputação é um passo de pré-processamento separado da indução de árvores; o algoritmo de árvore não “sabe” que um valor foi imputado. Isto pode levar a estimativas de desempenho excessivamente otimistas se a imputação não for validada adequadamente dentro de um ciclo de validação cruzada. Finalmente, a imputação assume que o mecanismo de falta é ignorável – não é adequado para MNAR sem modelagem extra.

Substituir as parcelas em árvores de decisão

Em vez de pré-processamento dos dados, alguns algoritmos de árvore de decisão – mais notavelmente o CART original (Classificação e Árvores de Regressão) – lidam com valores em falta nativamente usando subdivisões de substituto[]. Esta técnica é elegante porque aproveita a própria estrutura da árvore para lidar com lacunas sem modificar os dados brutos.

Como as parcelas substitutas funcionam

Ao construir uma árvore, o algoritmo seleciona a melhor divisão em um nó com base em todos os valores não perdidos da característica primária (por exemplo, “rendimento > $50.000”). Ele então procura por uma ou mais características substitutas que melhor imitam essa divisão. Uma substituta é definida por uma característica diferente (por exemplo, “nível de educação = graduação universitária”) que, quando usada no subconjunto de dados onde a renda é observada, produz uma partição o mais semelhante possível à divisão primária. Durante a previsão, se a principal característica não estiver em falta para uma amostra, o algoritmo cai para a substituta; se isso também estiver em falta, ela usa a próxima substituta, e assim por diante. Se não estiver disponível nenhuma substituta, a amostra é enviada para baixo o ramo majoritário ou um caminho predefinido.

Vantagens e Desvantagens

As splits substitutas têm a maior vantagem de não exigir qualquer imputação – a árvore aprende com todos os dados disponíveis sem fabricar valores. Eles também preservam as relações condicionais aprendidas durante a construção de árvores. No entanto, a técnica exige que algumas funcionalidades correlacionadas existam para servir como substitutos; se o recurso em falta não tiver fortes correlações, as splits substitutas ficam fracas e a árvore pode ainda perder precisão para entradas em falta. Além disso, muitas implementações modernas (por exemplo, o pacote do Scikit- learn ]) não suportam subdivisões substitutas fora da caixa – estão principalmente presentes no pacote R’s e em algum software comercial. Para os usuários Python que precisam de substitutas, o pacote R ou a biblioteca disponível via pode ser uma opção, mas esta complexidade acrescenta mais comumente, os praticantes se tornam em gradientes que faltam as bibliotecas avançadas.

Abordagens baseadas em modelos e algoritmos modernos

Os últimos anos têm visto o aumento de estruturas de aumento de gradientes que incorporam o tratamento de valor perdido diretamente no algoritmo de aprendizagem, muitas vezes superando tanto a imputação quanto as subdivisões no desempenho preditivo.

XGBoost

[[ FLT: 0]] XGBost[[ FLT: 1]] (Extrema Gradient Boosting) aprende como lidar com valores em falta durante o treino, tratando o falta como um sinal esparso. Em cada divisão, o algoritmo avalia tanto uma direção padrão para dados em falta (filho esquerdo ou direito) como o valor de divisão ideal nos itens observados. A direção padrão é escolhida para minimizar a função de perda, aprendendo efetivamente se amostras em falta tendem a ir para a esquerda ou para a direita. Esta abordagem não requer nenhuma imputação e é altamente eficiente porque os valores em falta são representados como matrizes esparsas, salvando memória. O tratamento do XGBoost funciona bem sob MAR e até mesmo alguns cenários MNAR, porque o modelo se adapta com base na correlação entre falta e o alvo.

LightGBM

O LightGBM[] toma uma rota diferente: trata zero e valores em falta como um único grupo (por padrão) e otimiza a direção dividida para esse grupo. Durante o treinamento, ele aprende se as amostras em falta pertencem à criança esquerda ou direita de uma divisão. Como XGBoost, não requer imputação e lida com dados esparsos de forma eficiente. O crescimento das árvores em linha também resulta frequentemente em treinamento mais rápido e melhor precisão, embora seja necessário cuidado para evitar o excesso de ajuste.

CatBoost

[[FLT: 0]] CatBoost (Categorial Boosting) usa um mecanismo ligeiramente diferente: trata valores em falta como uma categoria separada e permite que a árvore decida quando dividir nessa categoria. Para as funcionalidades numéricas, os valores em falta são inicialmente atribuídos a um placeholder (por exemplo, −1) e a árvore encontra uma divisão ideal com base nesse tratamento. CatBoost é especialmente forte para conjuntos de dados com características categóricas e pode lidar com padrões MNAR- like criando uma lógica de rota- folha separada para o faltamento. Todas as três bibliotecas estão prontas para a produção, suportam interfaces Python/R/CLI e oferecem validação cruzada integrada.

Implementação do Tratamento de Dados em Falta na Prática

A escolha de uma estratégia depende do padrão de ferramentas, tamanho de dados e falta de dados. Abaixo está um fluxo de trabalho estruturado que integra as técnicas discutidas.

  1. Avaliar o desfalque – calcular a percentagem de valores em falta por recurso e por amostra. Se qualquer recurso tiver >90% em falta, considere deixá-lo cair a menos que o conhecimento do domínio seja forte. Visualize correlações entre indicadores de falta e características observadas usando um mapa de calor ou um teste χ2.
  2. Identifique o mecanismo – aplique o teste MCAR de Little se a amostra for grande o suficiente. Se MCAR for plausível, a eliminação em lista pode ser aceitável para o pequeno desaparecimento (<5%). Para MAR ou MCAR com falta moderada, imputação ou manuseio baseado em modelos é mais seguro. Para MNAR, considere coletar dados adicionais ou usar modelos de mistura de padrões.
  3. Selecionar um método baseado no seu framework:
    • Se utilizar árvores de decisão do sklearn (sem suporte em falta), utilize um imputer (por exemplo, ]] ou ) dentro de um e afina a estratégia de imputação através de validação cruzada.
    • Se usar XGBoost/LightGBM/CatBoost, não é necessário imputar – simplesmente passe os dados com valores ; os frameworks lidarão com eles. Essa é muitas vezes a abordagem mais simples e eficaz.
    • Se utilizar R’s , habilite o parâmetro para ativar splits substitutos.
  4. Hiperparametros de tunas que afetam o manuseio em falta – para XGBoost, o e podem influenciar as escolhas de ramificação de valor em falta. Para CatBoost, controla como os valores numéricos em falta são tratados (como uma classe ou imputados).Teste configurações diferentes.
  5. Validate corretamente – inclui sempre o tratamento de dados em falta dentro de um loop de validação cruzada (por exemplo, imputação antes da divisão trem/teste para evitar fuga de dados). Compare o desempenho de diferentes métodos nas mesmas dobras para garantir significância estatística.

Melhores práticas e armadilhas comuns

  • Não imputar a variável-alvo – imputar o alvo num contexto supervisionado tende a influenciar o sinal de aprendizagem. Em vez disso, excluir ou tratar o faltante como um problema de modelagem separado (por exemplo, tratar como uma classe adicional).
  • Use o conhecimento do domínio – em muitos campos, o próprio falta tem um significado. Por exemplo, um teste de laboratório em falta pode indicar que o médico não suspeitou de uma condição, fornecendo informações úteis. Algumas implementações de árvore permitem criar um recurso indicador em falta explicitamente para deixar a árvore se dividir em falta como uma variável binária.
  • Cuidado com dados esparsos de alta dimensão – se a maioria das funcionalidades têm entradas ausentes frequentes, a imputação pode tornar-se altamente incerta. Nesses casos, use métodos baseados em árvores com o manuseio incorporado (XGBoost ou LightGBM) que tratam o desaparecimento como uma direção separada.
  • Ensemble of imputation models – for critical aplications, considere usar múltiplas imputações e árvores de decisão média em conjuntos de dados imputados (ou seja, múltiplas imputações + ensemble). Isto é computacionalmente pesado, mas pode melhorar a robustez sob MAR.
  • Performance de implantação do monitor – o padrão de falta pode mudar ao longo do tempo (conceito deriva). Acompanhar continuamente as taxas de falta de recursos e retreinar modelos com estratégias de manuseio atualizadas.

Conclusão

Missing data is an inevitable reality in machine learning, and decision tree algorithms are no exception. The appropriate handling strategy depends on the missingness mechanism, the chosen tooling, and the performance requirements. Basic imputation (mean, median, KNN, MICE) remains widely applicable but must be integrated carefully into the modeling pipeline to avoid leakage. Surrogate splits offer a principled, model‑based alternative, though their availability is limited to certain bibliotecas. As estruturas modernas de arranque de gradientes – XGBoost, LightGBM e CatBoost – estabeleceram um novo padrão através da aprendizagem de direções de valor em falta ideais, de ponta a ponta, muitas vezes gerando precisão preditiva superior sem qualquer pré-processamento. Em última análise, a melhor prática é avaliar sistematicamente vários métodos em um conjunto de validação, usando o conhecimento de domínio para refinar a escolha. Ao tratar dados em falta como fonte de informação valiosa em vez de um incômodo, os praticantes podem construir modelos de árvore de decisão que são precisos e confiáveis.

Leitura adicional: Dados em falta – Wikipedia abrange a teoria estatística; Scikit-learn imputation documentation[ fornece detalhes de implementação; e o XGBoost falt value tutorial oferece um exemplo de código de manipulação nativa.