Compartilhar via


Valores ausentes (Analysis Services - Mineração de dados)

Tratar valores ausentes corretamente é uma parte importante da modelagem efetiva. Esta seção explica o que são valores ausentes, e descreve os recursos fornecidos no Analysis Services para trabalhar com valores ausentes ao criar estruturas de mineração de dados e modelos de mineração.

Definição de valores ausentes em Mineração de Dados

Um valor ausente pode significar várias coisas diferentes. Talvez o campo não fosse aplicável, o evento não aconteceu ou os dados não estavam disponíveis. Pode ser que a pessoa que inseriu os dados não sabia o valor certo, ou não se preocupou que um campo não foi preenchido.

No entanto, há muitos cenários de mineração de dados nos quais os valores ausentes fornecem informações importantes. O significado dos valores ausentes depende em grande parte do contexto. Por exemplo, um valor ausente para a data em uma lista de faturas tem um significado substancialmente diferente da falta de uma data na coluna que indica uma data de admissão de funcionário. Geralmente, o Analysis Services trata valores ausentes como informativos e ajusta as probabilidades para incorporá-los a seus cálculos. Dessa forma, é possível assegurar o equilíbrio dos modelos e que eles não atribuem um peso excessivo aos casos existentes.

Portanto, o Analysis Services fornece dois mecanismos diferentes para gerenciar e calcular valores ausentes. O primeiro método controla o tratamento de nulos no nível da estrutura de mineração. O segundo método difere na implementação para cada algoritmo, mas geralmente define como valores ausentes são processados e contabilizados em modelos que permitem valores nulos.

Especificando tratamento de nulos

Em sua fonte de dados, os valores ausentes podem ser representados de muitas maneiras: como nulos, como células vazias em uma planilha, como o valor N/A ou algum outro código, ou como um valor artificial como 9999. Porém, para fins de mineração de dados, somente nulos são considerados valores ausentes. Se seus dados contiverem valores de espaço reservado em vez de nulos, eles poderão afetar os resultados do modelo, de modo que você deve substituí-los por nulos ou inferir valores corretos, se possível. Existem diversas ferramentas que você pode usar para deduzir e preencher os valores apropriados, como a transformação Pesquisa ou a tarefa Criador de Perfil do SQL Server Integration Services ou a ferramenta Preencher do Exemplo fornecida com os Suplementos de Mineração de Dados do Excel.

Se a tarefa que você está modelando especifica que uma coluna jamais deve ficar sem-valores, aplique o sinalizador de modelagem NOT_NULL à coluna ao definir a estrutura de mineração. Esse sinalizador indica que poderá haver uma falha no processamento se um caso não tiver um valor apropriado. Se ocorrer esse erro ao processar um modelo, você poderá registrar o erro em log e tomar as medidas necessárias para corrigir os dados fornecidos ao modelo.

Cálculo do estado ausente

Para o algoritmo de mineração de dados, os valores ausentes são informativos. No caso de tabelas, Missing é um estado válido como qualquer outro. Além disso, um modelo de mineração de dados pode usar outros valores para prever se um valor está ausente. Em outras palavras, o fato de um valor estar ausente não é um erro.

Quando você criar um modelo de mineração, um estado Missing será adicionado automaticamente ao modelo para todas as colunas discretas. Por exemplo, se a coluna de entrada de [Gênero] tiver dois valores possíveis, Masculino e Feminino, um terceiro valor será adicionado automaticamente para representar o valor Missing, e o histograma que mostra a distribuição de todos os valores da coluna sempre incluirá a contagem de casos com valores Missing. Se não houver valores ausentes na coluna Gênero, o histograma mostrará que o estado Ausente foi encontrado em 0 casos.

O raciocínio para incluir o estado Missing por padrão é claro se você considerar que os dados podem não ter exemplos de todos os valores possíveis e que não convém excluir uma possibilidade simplesmente porque não há um exemplo nos dados. Se, por exemplo, os dados de vendas de uma loja mostrarem que todos os clientes que compraram um determinado produto foram mulheres, não convém criar um modelo que prevê que somente mulheres comprariam esse produto. Em vez disso, o Analysis Services adiciona um espaço reservado para um valor extra desconhecido, chamado Missing, como uma forma de acomodar outros estados possíveis.

Por exemplo, a tabela a seguir mostra a distribuição de valores do nó (All) no modelo de árvore de decisão criado para o tutorial Bike Buyer. No cenário do exemplo, a coluna [Bike Buyer] é um atributo previsível, em que 1 indica "Sim" e 0 indica "Não".

Value

Casos

0

9296

1

9098

Ausente

0

Essa distribuição mostra que cerca de metade dos clientes comprou uma bicicleta e metade não. Esse conjunto de dados em particular é bem simples; portanto, cada caso tem um valor na coluna [Bike Buyer] e a contagem de valores Missing é 0. Contudo, se algum caso tivesse um nulo no campo [Bike Buyer], o Analysis Services contaria essa linha como um caso com valor Missing.

Se a entrada for uma coluna contínua, o modelo tabulará dois estados possíveis para o atributo: Existing e Missing. Em outras palavras, ou a coluna contém um valor de algum tipo de dados numérico ou não contém valor algum. Nos casos que têm um valor, o modelo calculará o desvio médio padrão e outras estatísticas significativas. Para casos que não têm nenhum valor, o modelo fornecerá uma contagem dos valores Missing e ajustará as previsões de acordo. O método usado para ajustar a previsão varia dependendo do algoritmo e é descrito na próxima seção.

ObservaçãoObservação

Para atributos em uma tabela aninhada, os valores ausentes não são informativos. Por exemplo, se um cliente não comprou um produto, a tabela Products aninhada não teria a linha correspondente a esse produto e o modelo de mineração não criaria um atributo para o produto ausente. No entanto, se você estiver interessado nos clientes que não compraram certos produtos, poderá criar um modelo que seja filtrado pela não existência dos produtos na tabela aninhada usando uma instrução NOT EXISTS no filtro do modelo. Para obter mais informações, consulte Aplicar um filtro a um modelo de mineração.

Ajustando a probabilidade para valores ausentes

Além de contar valores, o Analysis Services calcula a probabilidade de qualquer valor em todo o conjunto de dados. O mesmo é válido para o valor Missing. Por exemplo, a tabela a seguir mostra as probabilidades para os casos do exemplo anterior:

Value

Casos

Probabilidade

0

9296

50.55%

1

9098

49.42%

Ausente

0

0.03%

Pode parecer estanho que a probabilidade do valor Missing tenha sido calculada como 0,03% quando o número de casos é 0. Na realidade, esse é o comportamento padrão e representa um ajuste que permite ao modelo lidar bem com valores desconhecidos.

Em geral, o cálculo da probabilidade é feito ao dividir o número de casos favoráveis por todos os casos possíveis. Nesse exemplo, o algoritmo computa a soma dos casos que satisfazem um determinado critério ([Bike Buyer] = 1, ou [Bike Buyer] = 0) e divide esse número pela contagem total de linhas. Entretanto, para considerar os casos Missing, 1 é somado ao número de todos os casos possíveis. Como resultado, a probabilidade do caso desconhecido não é mais zero, mas um número bem pequeno, indicando simplesmente que o estado é improvável, mas não impossível.

A adição do valor Missing baixo não altera o resultado do indicador. Entretanto, ela permite uma melhor modelagem em cenários onde os dados históricos não incluem todos os resultados possíveis.

ObservaçãoObservação

A mineração de dados difere na maneira como lida com valores ausentes. Por exemplo, alguns provedores assumem que os dados ausentes em uma coluna aninhada são uma representação esparsa, mas que os dados ausentes em uma coluna não aninhada estão ausentes ao acaso.

Se você tiver certeza de que todos os resultados foram especificados nos dados e quiser evitar o ajuste das probabilidades, defina o sinalizador de modelagem NOT_NULL na coluna da estrutura de mineração.

ObservaçãoObservação

Cada algoritmo pode controlar os valores ausentes de maneiras diferentes, inclusive algoritmos personalizados que você pode ter obtido de um plug-in de terceiros.

Tratamento especial de valores ausentes em modelos de árvore de decisão

O algoritmo Árvores de Decisão da Microsoft calcula probabilidades para valores ausentes de formas diferentes em outros algoritmos. Em vez de apenas adicionar 1 ao número total de casos, o algoritmo de árvore de decisão ajusta o estado Missing usando uma fórmula um pouco diferente.

Em um modelo de árvore de decisão, a probabilidade do estado Missing é calculado como segue:

StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStates)

Além disso, no SQL Server 2012 Analysis Services (SSAS), o algoritmo Árvores de Decisão faz um ajuste adicional que ajuda o algoritmo a compensar a presença de filtros no modelo, o que pode resultar na exclusão de vários estados durante o treinamento.

No SQL Server 2012, se houver um estado durante o treinamento, mas um determinado nó suportar apenas zero, o ajuste padrão será feito. Porém, se um estado nunca for encontrado durante o treinamento, o algoritmo definirá a probabilidade exatamente como zero. Esse ajuste é válido não só para o estado Missing, mas também para outros estados que existem nos dados de treinamento, mas com suporte para zero como resultado da filtragem do modelo.

Esse ajuste adicional resulta na seguinte fórmula:

StateProbability = 0.0 se esse estado tiver 0 suporte no treinamento definido

ELSE StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStatesWithNonZeroSupport)

O efeito desse ajuste é manter a estabilidade da árvore.

Tarefas relacionadas

Os tópicos a seguir fornecem mais informações sobre como tratar valores ausentes.

Tarefas

Links

Adicione sinalizadores a colunas de modelo individuais para controlar o tratamento de valores ausentes

Exibir ou alterar sinalizadores de modelagem (mineração de dados)

Defina as propriedades em um modelo de mineração para controlar o tratamento de valores ausentes

Alterar as propriedades de um modelo de mineração

Saiba como especificar sinalizadores de modelagem no DMX

Sinalizadores de modelagem (DMX)

Altere o modo como a estrutura de mineração trata valores ausentes

Alterar as propriedades de uma estrutura de mineração

Consulte também

Conceitos

Conteúdo do modelo de mineração (Analysis Services – Mineração de dados)

Sinalizadores de modelagem (Mineração de Dados)