Ejemplos de consultas de modelos de regresión lineal

Se aplica a: SQL Server 2019 y versiones anteriores de Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

La minería de datos estaba en desuso en SQL Server 2017 Analysis Services y ahora se ha interrumpido en SQL Server 2022 Analysis Services. La documentación no se actualiza para las características en desuso e interrumpidas. Para más información, consulte Compatibilidad con versiones anteriores de Analysis Services.

Cuando se crea una consulta en un modelo de minería de datos, puede tratarse de una consulta de contenido, que proporciona detalles de los patrones detectados durante el análisis, o de una consulta de predicción, que utiliza los patrones del modelo para realizar predicciones de los nuevos datos. Por ejemplo, una consulta de contenido podría proporcionar detalles adicionales sobre la fórmula de regresión, mientras que una consulta de predicción podría indicar si un nuevo punto de datos se ajusta al modelo. También se pueden recuperar metadatos sobre el modelo mediante una consulta.

En esta sección se explica cómo crear consultas para los modelos que se basan en el algoritmo de regresión lineal de Microsoft.

Nota:

Dado que la regresión lineal está basada en un caso especial del algoritmo de árboles de decisión de Microsoft, hay muchas similitudes y algunos modelos de árbol de decisión que utilizan atributos de predicción continuos pueden contener fórmulas de regresión. Para más información, vea Referencia técnica del algoritmo de árboles de decisión de Microsoft.

Consultas de contenido

Usar el conjunto de filas de esquema de minería de datos para determinar los parámetros que se usan para un modelo

Usar DMX para devolver la fórmula de regresión del modelo

Devolver solo el coeficiente para el modelo

Consultas de predicción

Predecir los ingresos utilizando una consulta singleton

Usar funciones de predicción con un modelo de regresión

Buscar información sobre el modelo de regresión lineal

La estructura de un modelo de regresión lineal es sumamente simple: el modelo de minería de datos representa los datos como un nodo único, que define la fórmula de regresión. Para obtener más información, vea Contenido del modelo de minería de datos para modelos de regresión logística (Analysis Services - minería de datos).

Volver al principio

Consulta de ejemplo 1: usar el conjunto de filas de esquema de minería de datos para determinar los parámetros que se usan para un modelo

Al consultar el conjunto de filas de esquema de minería de datos, puede buscar los metadatos acerca del modelo. Podría incluirse cuándo se creó el modelo, cuándo se procesó en último lugar, el nombre de la estructura de minería de datos en la que se basa y el nombre de la columna que se usa como atributo de predicción. También se pueden devolver los parámetros que se utilizaron cuando se creó el modelo por primera vez.

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

Resultados del ejemplo:

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=

Nota:

La configuración del parámetro, "FORCE_REGRESSOR = ", indica que el valor actual del parámetro FORCE_REGRESSOR es NULL.

Volver al principio

Consulta de ejemplo 2: recuperar la fórmula de regresión del modelo

La consulta siguiente devuelve el contenido del modelo de minería de datos de un modelo de regresión lineal que se generó utilizando el mismo origen de datos que Targeted Mailing, que se utilizó en el Basic Data Mining Tutorial. Este modelo predice los ingresos de los clientes en función de la edad.

La consulta devuelve el contenido del nodo que contiene la fórmula de regresión. Cada variable y coeficiente están almacenados en una fila independiente de la tabla NODE_DISTRIBUTION anidada. Si desea ver la fórmula de regresión completa, use el Visor de árboles de Microsoft, haga clic en el nodo (Todos) y abra la Leyenda de minería de datos.

SELECT FLATTENED NODE_DISTRIBUTION as t  
FROM LR_PredictIncome.CONTENT  

Nota:

Si hace referencia a columnas individuales de la tabla anidada con una consulta como SELECT <column name> from NODE_DISTRIBUTION, algunas columnas (como SUPPORT o PROBABILITY) tienen que escribirse entre corchetes para distinguirlas de las palabras clave reservadas del mismo nombre.

Resultados esperados:

T.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VARIANCE t.VALUETYPE
Yearly Income Missing 0 0.000457142857142857 0 1
Yearly Income 57220.8876687257 17484 0.999542857142857 1041275619.52776 3
Age 471.687717702463 0 0 126.969442359327 7
Age 234.680904692439 0 0 0 8
Age 45.4269617936399 0 0 126.969442359327 9
35793.5477381267 0 0 1012968919.28372 11

En la comparación, en la Leyenda de minería de datos, la fórmula de regresión aparece como sigue:

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

Puede ver que, en la Leyenda de minería de datos, algunos números se redondean, pero la tabla NODE_DISTRIBUTION y la Leyenda de minería de datos contienen básicamente los mismos valores.

Los valores de la columna VALUETYPE indican qué tipo de información contiene cada fila, lo que resulta útil si los resultados se procesan mediante programación. En la tabla siguiente se muestran los tipos de valores que se generan para una fórmula de regresión lineal.

VALUETYPE
1 (ausente)
3 (continuo)
7 (coeficiente)
8 (ganancia de puntuación)
9 (estadísticas)
7 (coeficiente)
8 (ganancia de puntuación)
9 (estadísticas)
11 (intersección)

Para obtener más información sobre el significado de cada tipo de valor para los modelos de regresión, vea Contenido del modelo de minería de datos para modelos de regresión lineal (Analysis Services - Minería de datos).

Volver a la parte superior

Consulta de ejemplo 3: devolver solo el coeficiente para el modelo

Utilizando la enumeración VALUETYPE, puede devolver solo el coeficiente para la ecuación de regresión, como se muestra en la consulta siguiente:

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

Esta consulta devuelve dos filas, una del contenido del modelo de minería de datos y la fila de la tabla anidada que contiene el coeficiente. La columna ATTRIBUTE_NAME no está incluida aquí porque siempre está en blanco para el coeficiente.

MODEL_NAME t.ATTRIBUTE_VALUE t.VALUETYPE
LR_PredictIncome
LR_PredictIncome 35793.5477381267 11

Volver a la parte superior

Realizar predicciones a partir de un modelo de regresión lineal

Puede generar consultas de predicción en modelos de regresión lineal utilizando la pestaña Predicción de modelo de minería de datos del Diseñador de minería de datos. El generador de consultas de predicción está disponible en SQL Server Management Studio y SQL Server Data Tools.

Nota:

También puede crear consultas en modelos de regresión mediante los complementos de minería de datos de SQL Server 2005 (9.x) para Excel o los complementos de minería de datos de SQL Server 2008 para Excel. Aunque los complementos de minería de datos para Excel no crean modelos de regresión, puede examinar y consultar cualquier modelo de minería de datos almacenado en una instancia de SQL Server Analysis Services.

Volver a la parte superior

Consulta de ejemplo 4: predecir los ingresos utilizando una consulta singleton

La manera más fácil de crear una sola consulta en un modelo de regresión es usar el cuadro de diálogo Entrada de consulta singleton . Por ejemplo, para generar la consulta DMX siguiente, seleccione el modelo de regresión adecuado, elija Consulta singletony escriba 20 como el valor para Age.

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

Resultados del ejemplo:

Yearly Income
45227.302092176

Volver a la parte superior

Consulta de prueba 5: usar funciones de predicción con un modelo de regresión

Puede utilizar muchas de las funciones de predicción estándar con modelos de regresión lineal. En el ejemplo siguiente se muestra cómo agregar algunas estadísticas descriptivas a los resultados de las consultas de predicción. A partir de estos resultados, puede que hay una desviación considerable de la media 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 del ejemplo:

Yearly Income StDev1
45227.302092176 31827.1726561396

Volver a la parte superior

Lista de funciones de predicción

Todos los algoritmos de Microsoft admiten un conjunto común de funciones. Sin embargo, el algoritmo de regresión lineal de Microsoft admite las funciones adicionales enumeradas en la tabla siguiente.

función de predicción Uso
IsDescendant (DMX) Determina si un nodo es un elemento secundario de otro nodo del modelo.
IsInNode (DMX) Indica si el nodo especificado contiene el caso actual.
PredictHistogram (DMX) Devuelve un valor o un conjunto de valores predichos para una columna especificada.
PredictNodeId (DMX) Devuelve el Node_ID de cada caso.
PredictStdev (DMX) Devuelve la desviación estándar del valor predicho.
PredictSupport (DMX) Devuelve el valor de soporte de un estado especificado.
PredictVariance (DMX) Devuelve la varianza de una columna especificada.

Para obtener una lista de las funciones comunes a todos los algoritmos de Microsoft, consulte Algoritmos de minería de datos (Analysis Services - Minería de datos). Para obtener más información sobre cómo usar estas funciones, vea Referencia de funciones de extensiones de minería de datos (DMX).

Consulte también

Algoritmo de regresión lineal de Microsoft
Consultas de minería de datos
Referencia técnica del algoritmo de regresión lineal de Microsoft
Contenido del modelo de minería de datos para los modelos de regresión lineal (Analysis Services - Minería de datos)