Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
SQL Server 2019 e anteriores 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 Compatibilidade com versões anteriores do Analysis Services.
Gerir corretamente os valores em falta é importante para uma modelação eficaz. Esta secção explica valores em falta e explica como utilizar funcionalidades do SQL Server Analysis Services para as gerir ao construir estruturas e modelos de mineração de dados.
Definição de valores em falta na mineração de dados
Um valor em falta pode significar várias coisas diferentes. Talvez o campo não fosse aplicável, o evento não aconteceu, ou os dados não estivessem disponíveis. Pode ser que a pessoa que introduziu os dados não soubesse o valor correto, ou não se importasse se um campo não estava preenchido.
Valores em falta fornecem informação importante em muitos cenários de mineração de dados. O significado dos valores em falta depende em grande parte do contexto. Por exemplo, um valor em falta para a data numa lista de faturas tem um significado substancialmente diferente da ausência de uma data na coluna que indique a data de contratação de um funcionário. De um modo geral, o SQL Server Analysis Services trata os valores em falta como informativos e ajusta as probabilidades para incorporar esses valores nos seus cálculos. Desta forma, pode garantir que os modelos ficam equilibrados e não atribuem demasiado peso aos casos existentes.
O SQL Server Analysis Services fornece dois mecanismos para lidar com valores em falta. O primeiro método controla o tratamento de valores nulos na estrutura de mineração. Cada algoritmo implementa o segundo método de forma diferente para processar e contar valores em falta em modelos que permitem valores nulos.
Especificação do tratamento dos nulos
A sua fonte de dados pode representar valores em falta como nulos, células vazias de folhas de cálculo, N/A outro código, ou um valor artificial como 9999. No entanto, para efeitos de mineração de dados, apenas os valores nulos são considerados como valores em falta. Se os seus dados conterem valores provisórios em vez de nulos, podem afetar os resultados do modelo, por isso deve substituí-los por nulos ou inferir valores corretos, se possível. Existem várias ferramentas que pode usar para inferir e preencher valores apropriados, como a transformação Lookup ou a tarefa Perfilador de Dados no SQL Server Integration Services, ou a ferramenta Preencher por Exemplo fornecida nos Suplementos de Mineração de Dados para Excel.
Se a tarefa que está a modelar não permitir valores em falta numa coluna, aplique a NOT_NULL flag de modelação ao definir a estrutura de mineração. Esta bandeira indica que o processamento deve falhar se um caso não tiver um valor apropriado. Se este erro ocorrer ao processar um modelo, pode registar o erro e tomar medidas para corrigir os dados fornecidos ao modelo.
Cálculo do estado em falta
Os algoritmos de mineração de dados tratam os valores em falta como informativos. Em tabelas de casos, Missing é um estado válido. Um modelo de mineração de dados pode usar outros valores para prever se um valor está em falta, por isso um valor em falta não é um erro.
Quando crias um modelo de mineração, um estado em falta é automaticamente adicionado ao modelo para todas as colunas discretas. Por exemplo, se a coluna de entrada [Género] contiver os valores Masculino e Feminino, o modelo adiciona um terceiro valor, Em Falta. O histograma da coluna inclui o número de casos com o estado Em falta. Se a coluna Género não estiver em falta de valores, o histograma mostra que o estado em falta é encontrado em 0 casos.
A justificação para incluir o estado em falta por defeito torna-se clara quando se considera que os seus dados podem não ter exemplos de todos os valores possíveis, e não gostaria que o modelo excluísse essa possibilidade só porque não havia um exemplo nos dados. Por exemplo, se os dados de vendas de uma loja mostrassem que todos os clientes que compraram um determinado produto eram mulheres, não se iria querer criar um modelo que preveja que apenas mulheres poderiam comprar o produto. Em vez disso, o SQL Server Analysis Services adiciona um marcador para o valor extra desconhecido, chamado Missing, como forma de acomodar possíveis outros estados.
Por exemplo, a tabela seguinte mostra a distribuição dos valores para o nó (Todos) no modelo da árvore de decisão criado para o tutorial do Comprador de Bicicletas. No cenário de exemplo, a coluna [Comprador de Bicicleta] é o atributo previsível, onde 1 indica "Sim" e 0 indica "Não".
| Valor | Incidentes |
|---|---|
| 0 | 9296 |
| 1 | 9098 |
| Faltam | 0 |
A distribuição mostra que cerca de metade dos clientes compra uma bicicleta e metade não. Cada caso neste conjunto de dados tem um valor na coluna [Comprador de Bicicleta], por isso a contagem de valores em falta é zero. Se um caso contiver um valor nulo no campo [Comprador de Bicicleta], o SQL Server Analysis Services conta essa linha como um caso com um valor em falta.
Se a entrada for uma coluna contínua, o modelo tabula dois estados possíveis para o atributo: Existente e Faltante. Ou seja, ou a coluna contém um valor de algum tipo de dado numérico, ou não contém valor. Para casos que têm um valor, o modelo calcula a média, o desvio padrão e outras estatísticas significativas. Para casos que não têm valor, o modelo fornece uma contagem dos valores desaparecidos e ajusta as previsões de acordo. O método para ajustar a previsão difere consoante o algoritmo e é descrito na secção seguinte.
Observação
Para atributos numa tabela aninhada, valores em falta não são informativos. Por exemplo, se um cliente não compra um produto, a tabela de Produtos aninhada não tem linha para esse produto, e o modelo de mineração não cria um atributo para ele. Para identificar clientes sem compras de determinados produtos, use uma instrução NOT EXISTS no filtro do modelo para filtrar os produtos que não existem na tabela aninhada. Para mais informações, veja Aplicar um Filtro a um Modelo de Mineração.
Ajuste da probabilidade para estados em falta
Para além de contar valores, o SQL Server Analysis Services calcula a probabilidade de qualquer valor ao longo do conjunto de dados. O mesmo cálculo aplica-se ao valor em falta . Por exemplo, a tabela seguinte mostra as probabilidades para os casos do exemplo anterior:
| Valor | Incidentes | Probabilidade |
|---|---|---|
| 0 | 9296 | 50,55% |
| 1 | 9098 | 49,42% |
| Faltam | 0 | 0,03% |
Pode parecer estranho que a probabilidade do valor em falta seja 0,03%, quando o número de casos é 0. Este comportamento é intencional e representa um ajuste que permite ao modelo lidar com valores desconhecidos de forma elegante.
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 cumprem uma condição particular ([Comprador de Bicicleta] = 1, ou [Comprador de Bicicleta] = 0) e divide esse número pelo total de linhas. Para explicar os casos em falta , o algoritmo soma 1 ao número de todos os casos possíveis. Como resultado, a probabilidade para o caso desconhecido já não é zero, mas um número muito pequeno, indicando que o estado é apenas improvável, não impossível.
O pequeno valor em falta não altera a previsão, mas melhora a modelação quando os dados históricos não incluem todos os resultados possíveis.
Observação
Os fornecedores de mineração de dados lidam com valores em falta de forma diferente. Por exemplo, alguns fornecedores tratam os dados em falta numa coluna aninhada como uma representação esparsa e os dados em falta numa coluna não aninhada como estando em falta aleatoriamente.
Se os seus dados especificarem todos os resultados, defina o flag de modelação NOT_NULL na coluna da estrutura de mineração para evitar ajustes de probabilidade.
Observação
Cada algoritmo, incluindo um algoritmo personalizado de um plugin de terceiros, pode lidar com valores em falta de forma diferente.
Tratamento especial dos valores em falta em modelos de árvore de decisão
O algoritmo Microsoft Decision Trees calcula as probabilidades de valor em falta de forma diferente de outros algoritmos. Em vez de adicionar um ao total de casos, o algoritmo usa uma fórmula diferente para ajustar o estado em falta .
Num modelo de árvore de decisão, use a seguinte fórmula para calcular a probabilidade do estado em falta :
StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotaisEstados)
O algoritmo das Árvores de Decisão fornece um ajuste adicional que ajuda o algoritmo a compensar a presença de filtros no modelo, que podem excluir muitos estados durante o treino.
No SQL Server 2017, se um estado estiver presente durante a formação, mas tiver suporte nulo num determinado nó, o algoritmo efetua o ajustamento padrão. No entanto, se um estado nunca for encontrado durante o treino, o algoritmo define a probabilidade exatamente para zero. Este ajuste aplica-se não só ao estado em falta , mas também a outros estados que existem nos dados de treino mas que não têm suporte devido ao filtro do modelo.
Este ajuste adicional resulta na seguinte fórmula:
StateProbability = 0,0 se esse estado tiver 0 suporte no conjunto de treino
ELSE ProbabilidadeEstado = (ProbabilidadePréviaNodo) * (SuporteEstado + 1) / (SuporteNodo + TotalEstadosComSuporteDiferenteDeZero)
O efeito líquido deste ajuste é manter a estabilidade da árvore.
Tarefas relacionadas
Estes recursos explicam como lidar com valores em falta.
| Tasks | Links |
|---|---|
| Adicione flags às colunas individuais do modelo para controlar como o modelo lida com valores em falta | Ver ou Alterar Flags de Modelação (Mineração de Dados) |
| Defina as propriedades do modelo de mineração para controlar como o modelo lida com os valores em falta | Alterar as Propriedades de um Modelo de Mineração |
| Especificar sinalizadores de modelação no DMX | Sinalizadores de Modelação (DMX) |
| Alterar a forma como a estrutura de mineração lida com valores em falta | Alterar as Propriedades de uma Estrutura de Mineração |
Ver também
Conteúdo de Modelos de Mineração (Serviços de Análise - Mineração de Dados)
Flags de Modelação (Mineração de Dados)