Valores ausentes (Analysis Services – mineração de dados)

Aplica-se a: SQL Server 2019 e versões anteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

A mineração de dados foi preterida no SQL Server 2017 Analysis Services e agora descontinuada no SQL Server 2022 Analysis Services. A documentação não é atualizada para recursos preteridos e descontinuados. Para saber mais, consulte a compatibilidade com versões anteriores do Analysis Services.

Manipular valores ausentes corretamente é importante para modelagem eficaz. Esta seção explica valores ausentes e explica como usar SQL Server Analysis Services recursos para lidar com eles ao criar estruturas e modelos de mineração de dados.

Definição de valores ausentes na 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 tenha acontecido ou os dados não estejam disponíveis. Pode ser que a pessoa que inseriu os dados não sabia o valor certo ou não se importava se um campo não estava preenchido.

Valores ausentes fornecem informações importantes em muitos cenários de mineração de dados. 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 contratação do funcionário. Em geral, o SQL Server Analysis Services trata valores ausentes como informativos e ajusta as probabilidades para incorporar os valores ausentes em seus cálculos. Ao fazer isso, você pode garantir que os modelos sejam balanceados e não deem muito peso aos casos existentes.

SQL Server Analysis Services fornece dois mecanismos para lidar com valores ausentes. O primeiro método controla o tratamento nulo na estrutura de mineração. Cada algoritmo implementa o segundo método de forma diferente para processar e contar valores ausentes em modelos que permitem valores nulos.

Especificando o tratamento de nulos

Sua fonte de dados pode representar valores ausentes como nulos, células de planilha vazias N/A ou outro código ou um valor artificial como 9999. No entanto, para fins de mineração de dados, somente os 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, portanto, você deve substituí-los por valores 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 não permitir valores ausentes em uma coluna, aplique o NOT_NULL sinalizador de modelagem ao definir a estrutura de mineração. Esse sinalizador indica que o processamento deve falhar se um caso não tiver um valor apropriado. Se esse erro ocorrer ao processar um modelo, você poderá registrar o erro em log e executar etapas para corrigir os dados fornecidos para o modelo.

Cálculo do estado faltante

Algoritmos de mineração de dados tratam valores ausentes como informativos. No caso de tabelas, Ausente é um estado válido. Um modelo de mineração de dados pode usar outros valores para prever se um valor está ausente, portanto, um valor ausente não é um erro.

Quando você cria um modelo de mineração, um estado ausente é adicionado automaticamente ao modelo para todas as colunas discretas. Por exemplo, se a coluna de entrada [Gênero] contiver os valores Masculino e Feminino, o modelo adicionará um terceiro valor, Ausente. O histograma da coluna inclui o número de casos com o estado Ausente. Se não houver valores ausentes na coluna Gênero, o histograma mostrará que o estado Ausente foi encontrado em 0 casos.

A lógica para incluir o estado Ausente por padrão fica clara quando você considera que seus dados podem não ter exemplos de todos os valores possíveis e você não deseja que o modelo exclua a possibilidade apenas porque não havia nenhum exemplo nos dados. Por exemplo, se os dados de vendas de uma loja mostrassem que todos os clientes que compraram um determinado produto eram todas mulheres, você não gostaria de criar um modelo que preveja que apenas as mulheres poderiam comprar o produto. Em vez disso, o SQL Server Analysis Services adiciona um espaço reservado para o valor extra desconhecido, chamado Missing, como uma forma de acomodar possíveis outros estados.

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 de exemplo, a coluna [Bike Buyer] é o atributo previsível, em que 1 indica "Sim" e 0 indica "Não".

Value Casos
0 9296
1 9098
Ausente 0

A distribuição mostra que cerca de metade dos clientes compram uma bicicleta e metade não. Cada caso nesse conjunto de dados tem um valor na coluna [Bike Buyer], portanto, a contagem de valores ausentes é zero. Se um caso contiver um valor nulo no campo [Comprador de Bicicleta], SQL Server Analysis Services conta essa linha como um caso com um valor Ausente.

Se a entrada for uma coluna contínua, o modelo tabula dois estados possíveis para o atributo: Existente e Ausente. Em outras palavras, a coluna contém um valor de algum tipo de dados numérico ou não contém nenhum valor. Para casos que têm um valor, o modelo calcula média, desvio padrão e outras estatísticas significativas. Para casos que não têm nenhum valor, o modelo fornecerá uma contagem dos valores Ausentes e ajustará as previsões de acordo. O método para ajustar a previsão difere dependendo do algoritmo e é descrito na seção a seguir.

Observação

Para atributos em uma tabela aninhada, os valores ausentes não são informativos. Por exemplo, se um cliente não compra um produto, a tabela aninhada Produtos não tem nenhuma linha para esse produto, e o modelo de mineração não cria um atributo para ele. Para identificar clientes que não compraram determinados produtos, use uma instrução NOT EXISTS no filtro do modelo para filtrar produtos que não existem na tabela aninhada. Para obter mais informações, consulte Aplicar um filtro a um modelo de mineração.

Ajustando a probabilidade de estados ausentes

Além de contar valores, o SQL Server Analysis Services calcula a probabilidade de qualquer valor no conjunto de dados. O mesmo cálculo se aplica ao valor Ausente . Por exemplo, a tabela a seguir mostra as probabilidades para os casos no exemplo anterior:

Value Casos Probabilidade
0 9296 50,55%
1 9098 49.42%
Ausente 0 0,03%

Pode parecer estranho que a probabilidade do valor Ausente seja de 0,03%, quando o número de casos for 0. Esse comportamento é intencional e representa um ajuste que permite ao modelo lidar adequadamente com valores desconhecidos.

Em geral, a probabilidade é calculada como os casos favoráveis divididos por todos os casos possíveis. Neste exemplo, o algoritmo calcula a soma dos casos que atendem a uma condição específica ([Comprador de Bicicleta] = 1 ou [Comprador de Bicicleta] = 0) e divide esse número pela contagem total de linhas. Para considerar os casos ausentes , o algoritmo adiciona 1 ao número de todos os casos possíveis. Como resultado, a probabilidade para o caso desconhecido não é mais zero, mas um número muito pequeno, indicando que o estado é meramente improvável, não impossível.

O pequeno valor ausente não altera a previsão, mas melhora a modelagem quando os dados históricos não incluem todos os resultados possíveis.

Observação

Os provedores de mineração de dados lidam com valores ausentes de forma diferente. Por exemplo, alguns provedores tratam dados ausentes em uma coluna aninhada como uma representação esparsa e dados ausentes em uma coluna não aninhada como ausentes de forma aleatória.

Se os dados especificarem todos os resultados, defina o sinalizador de modelagem NOT_NULL na coluna da estrutura de mineração para evitar ajustes de probabilidade.

Observação

Cada algoritmo, incluindo um algoritmo personalizado de um plug-in de terceiros, pode lidar com valores ausentes de forma diferente.

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

O algoritmo árvores de decisão Microsoft calcula probabilidades de valor ausente de forma diferente de outros algoritmos. Em vez de adicionar um à contagem total de casos, o algoritmo usa uma fórmula diferente para ajustar para o estado Ausente .

Em um modelo de árvore de decisão, use a seguinte fórmula para calcular a probabilidade do estado Ausente :

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

O algoritmo Árvores de Decisão fornece um ajuste adicional que ajuda o algoritmo a compensar a presença de filtros no modelo, o que pode excluir muitos estados durante o treinamento.

No SQL Server 2017, se um estado estiver presente durante o treinamento, mas tiver suporte zero em um determinado nó, o algoritmo fará o ajuste padrão. No entanto, se um estado nunca for encontrado durante o treinamento, o algoritmo definirá a probabilidade como exatamente zero. Esse ajuste se aplica não apenas ao estado Ausente , mas também a outros estados que existem nos dados de treinamento, mas não têm suporte como resultado da filtragem de modelo.

Esse ajuste adicional resulta na seguinte fórmula:

StateProbability = 0.0 se esse estado tiver 0 suporte no conjunto de treinamento

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

O efeito final deste ajuste é manter a estabilidade da árvore.

Esses recursos explicam como lidar com valores ausentes.

Tasks Links
Adicionar sinalizadores a colunas de modelo individuais para controlar como o modelo lida com valores ausentes Exibir ou alterar sinalizadores de modelagem (mineração de dados)
Definir propriedades do modelo de mineração para controlar como o modelo lida com valores ausentes Alterar as propriedades de um modelo de mineração
Especificar sinalizadores de modelagem no DMX Indicadores de Modelagem (DMX)
Alterar como a estrutura de mineração lida com valores ausentes Alterar as propriedades de uma estrutura de mineração

Consulte Também

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