Compartilhar via


Exemplos de consulta de modelo de regressão linear

Aplica-se a: SQL Server 2019 e 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 foi descontinuada no SQL Server 2022 Analysis Services. A documentação não foi atualizada para recursos preteridos e descontinuados. Para saber mais, confira Compatibilidade com versões anteriores do Analysis Services.

Ao criar uma consulta para um modelo de mineração de dados, você pode criar uma consulta de conteúdo que fornece detalhes de padrões encontrados em análises ou uma consulta de previsão que usa os padrões no modelo para fazer previsões para novos dados. Por exemplo, uma consulta de conteúdo pode fornecer mais detalhes sobre a fórmula de regressão, enquanto uma consulta de previsão pode informar se um novo ponto de dados se ajusta ao modelo. Você também pode recuperar metadados sobre o modelo usando uma consulta.

Esta seção explica como criar consultas para modelos baseados no algoritmo Regressão Linear da Microsoft.

Observação

Como a regressão linear se baseia em um caso especial do algoritmo Árvores de Decisão da Microsoft, há muitas semelhanças. Além disso, alguns modelos de árvore de decisão que usam atributos previsíveis contínuos podem conter fórmulas de regressão. Para obter mais informações, consulte Referência técnica do algoritmo Árvores de Decisão da Microsoft.

Consultas de conteúdo

Usando o conjunto de linhas de esquema de mineração de dados para determinar parâmetros usados para um modelo

Usando o DMX para retornar a fórmula de regressão do modelo

Retornando apenas o coeficiente do modelo

Consultas de previsão

Prevendo o resultado com o uso de uma consulta singleton

Usando funções de previsão com um modelo de regressão

Localizando informações sobre o modelo de regressão linear

A estrutura de um modelo de regressão linear é extremamente simples: o modelo de mineração representa os dados como um único nó, que define a fórmula de regressão. Para obter mais informações, consulte Conteúdo do modelo de mineração para modelos de regressão logística (Analysis Services – Mineração de dados).

Retornar ao Início

Exemplo de consulta 1: Usando o conjunto de linhas de esquema de mineração de dados para determinar parâmetros usados para um modelo

Ao consultar o conjunto de linhas do esquema de mineração de dados, você pode encontrar metadados sobre o modelo. Isso pode incluir quando o modelo foi criado, quando o modelo foi processado pela última vez, o nome da estrutura de mineração na qual o modelo se baseia e o nome da coluna designada como o atributo previsível. Você também pode retornar os parâmetros que foram usados quando o modelo foi criado.

SELECT MINING_PARAMETERS   
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'TM_PredictIncome'  

Resultados do exemplo:

MINING_PARAMETERS
COMPLEXITY_PENALTY=0.9,

MAXIMUM_INPUT_ATTRIBUTES = 255

MAXIMUM_OUTPUT_ATTRIBUTES=255,

MINIMUM_SUPPORT = 10

SCORE_METHOD=4,

SPLIT_METHOD=3,

FORCE_REGRESSOR=

Observação

A configuração de parâmetro "FORCE_REGRESSOR = " indica que o valor atual do parâmetro FORCE_REGRESSOR é nulo.

Retornar ao Início

Exemplo de consulta 2: Recuperando a fórmula de regressão do modelo

A consulta a seguir retorna o conteúdo do modelo de mineração de um modelo de regressão linear criado com o uso dos mesmos dados de Mala Direta utilizados no Basic Data Mining Tutorial. Este modelo prevê a renda do cliente com base na idade.

A consulta retorna o conteúdo do nó que contém a fórmula de regressão. Cada variável e coeficiente são armazenados em uma linha separada da tabela aninhada NODE_DISTRIBUTION. Para exibir a fórmula de regressão completa, use o Visualizador de Árvore da Microsoft, clique no nó (Tudo) e abra a Legenda de Mineração.

SELECT FLATTENED NODE_DISTRIBUTION as t  
FROM LR_PredictIncome.CONTENT  

Observação

Se você referenciar colunas individuais da tabela aninhada usando uma consulta como SELECT <column name> from NODE_DISTRIBUTION, algumas colunas, como SUPPORT ou PROBABILITY, deverão ser colocadas entre colchetes para distingui-las das palavras-chave reservadas de mesmo nome.

Resultados esperados:

T.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VARIANCE t.VALUETYPE
Renda Anual Ausente 0 0.000457142857142857 0 1
Renda Anual 57220.8876687257 17484 0.999542857142857 1041275619.52776 3
Idade 471.687717702463 0 0 126.969442359327 7
Idade 234.680904692439 0 0 0 8
Idade 45.4269617936399 0 0 126.969442359327 9
35793.5477381267 0 0 1012968919.28372 11

Em comparação, na Legenda de Mineração, a fórmula de regressão aparece da seguinte forma:

Yearly Income = 57,220.919 + 471.688 * (Age - 45.427)

Você pode observar que, na Legenda de Mineração, alguns números são arredondados; no entanto, a tabela NODE_DISTRIBUTION e a Legenda de Mineração contêm basicamente os mesmos valores.

Os valores na coluna VALUETYPE informa que tipo de informações estão em cada linha, o que será útil se você estiver processando os resultados programaticamente. A tabela a seguir mostra os tipos de valores produzidos para uma fórmula de regressão linear.

VALUETYPE
1 (Ausente)
3 (Contínuo)
7 (Coeficiente)
8 (Ganho de pontos)
9 (Estatísticas)
7 (Coeficiente)
8 (Ganho de pontos)
9 (Estatísticas)
11 (Interceptação)

Para obter mais informações sobre o significado de cada tipo de valor para modelos de regressão, consulte Conteúdo do modelo de mineração para modelos de regressão linear (Analysis Services – Data Mining).

Retornar ao Topo

Exemplo de consulta 3: Retornando apenas o coeficiente do modelo

Ao usar a enumeração VALUETYPE, você só pode retornar o coeficiente da equação de regressão, conforme mostrado na seguinte consulta:

SELECT FLATTENED MODEL_NAME,  
    (SELECT ATTRIBUTE_VALUE, VALUETYPE  
     FROM NODE_DISTRIBUTION  
     WHERE VALUETYPE = 11)   
AS t  
FROM LR_PredictIncome.CONTENT  

Essa consulta retorna duas linhas, um a do conteúdo do modelo de mineração e a outra da tabela aninhada que contém o coeficiente. A coluna ATTRIBUTE_NAME não é incluída aqui porque sempre fica em branco para o coeficiente.

MODEL_NAME t.ATTRIBUTE_VALUE t.VALUETYPE
LR_PredictIncome
LR_PredictIncome 35793.5477381267 11

Retornar ao Topo

Fazendo previsões de um modelo de regressão linear

Você pode criar consultas de previsão em modelos de regressão linear usando a guia Previsão do Modelo de Mineração no Designer de Mineração de Dados. O construtor de consultas de previsão está disponível em SQL Server Management Studio e SQL Server Data Tools.

Observação

Você também pode criar consultas em modelos de regressão usando os Suplementos de Mineração de Dados do SQL Server 2005 (9.x) para Excel ou os Suplementos de Mineração de Dados do SQL Server 2008 para Excel. Embora os Suplementos de Mineração de Dados para Excel não criem modelos de regressão, você pode procurar e consultar qualquer modelo de mineração armazenado em uma instância de SQL Server Analysis Services.

Retornar ao Topo

Exemplo de consulta 4: Prevendo a renda com o uso de uma consulta singleton

A maneira mais fácil de criar uma consulta single em um modelo de regressão é usando a caixa de diálogo Entrada de Consulta Singleton . Por exemplo, você pode criar a consulta DMX a seguir selecionando o modelo de regressão apropriado, escolhendo Consulta Singletone depois digitando 20 como o valor de Idade.

SELECT [LR_PredictIncome].[Yearly Income]  
From   [LR_PredictIncome]  
NATURAL PREDICTION JOIN  
(SELECT 20 AS [Age]) AS t  

Resultados do exemplo:

Renda Anual
45227.302092176

Retornar ao Topo

Exemplo de consulta 5: Usando funções de previsão com um modelo de regressão

Você pode usar muitas das funções de previsão padrão com modelos de regressão linear. O exemplo a seguir demonstra como adicionar algumas estatísticas descritivas aos resultados da consulta de previsão. Com base nesses resultados, você pode observar que há um desvio considerável da média para este modelo.

SELECT  
  ([LR_PredictIncome].[Yearly Income]) as [PredIncome],  
  (PredictStdev([LR_PredictIncome].[Yearly Income])) as [StDev1]  
From  
  [LR_PredictIncome]  
NATURAL PREDICTION JOIN  
(SELECT 20 AS [Age]) AS t  

Resultados do exemplo:

Renda Anual StDev1
45227.302092176 31827.1726561396

Retornar ao Topo

Lista de funções de previsão

Todos os algoritmos da Microsoft dão suporte a um conjunto comum de funções. No entanto, o algoritmo regressão linear da Microsoft dá suporte às funções adicionais listadas na tabela a seguir.

Função de previsão Uso
IsDescendant (DMX) Determina se um nó é um filho de outro nó no modelo.
IsInNode (DMX) Indica se o nó especificado contém o caso atual.
PredictHistogram (DMX) Retorna um valor previsto ou conjunto de valores de uma coluna especificada.
PredictNodeId (DMX) Retorna Node_ID para cada caso.
PredictStdev (DMX) Retorna o desvio padrão previsto para o valor previsto.
PredictSupport (DMX) Retorna o valor de suporte para um estado especificado.
PredictVariance (DMX) Retorna a variação de uma coluna especificada.

Para obter uma lista das funções comuns a todos os algoritmos da Microsoft, consulte Algoritmos de mineração de dados (Analysis Services – Mineração de Dados). Para obter mais informações sobre como usar essas funções, consulte Referência de função DMX (Extensões de Mineração de Dados).

Consulte Também

Algoritmo Regressão Linear da Microsoft
Consultas de mineração de dados
Referência Técnica do Algoritmo de Regressão Linear da Microsoft
Conteúdo do modelo de mineração para modelos de regressão linear (Analysis Services – Mineração de Dados)