Valores que faltan (Analysis Services: minería de datos)

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 descontinuó en SQL Server 2022 Analysis Services. La documentación no se actualiza para las características en desuso y descontinuadas. Para más información, consulte Compatibilidad con versiones anteriores de Analysis Services.

Controlar correctamente los valores que faltan es importante para el modelado eficaz. En esta sección se explican los valores que faltan y se explica cómo usar SQL Server Analysis Services características para controlarlos al compilar modelos y estructuras de minería de datos.

Definición de valores que faltan en la minería de datos

Un valor que falta puede indicar una serie de cosas diferentes. Quizás el campo no era aplicable, el evento no se produjo o los datos no están disponibles. Podría ser que la persona que escribió los datos no conocía el valor correcto o no le importaba si no se rellenaba un campo.

Los valores que faltan proporcionan información importante en muchos escenarios de minería de datos. El significado de los valores que faltan depende en gran medida del contexto. Por ejemplo, un valor que falta para la fecha en una lista de facturas tiene un significado sustancialmente diferente de la falta de una fecha en la columna que indica una fecha de contratación de empleados. Por lo general, SQL Server Analysis Services trata los valores que faltan como informativos y ajusta las probabilidades de incorporar los valores que faltan en sus cálculos. Al hacerlo, puede asegurarse de que los modelos están equilibrados y no ponderan demasiado los casos existentes.

SQL Server Analysis Services proporciona dos mecanismos para controlar los valores que faltan. El primer método controla el manejo de los valores nulos en la estructura de minería. Cada algoritmo implementa el segundo método de forma diferente para procesar y contar los valores que faltan en los modelos que permiten valores NULL.

Especificar el tratamiento de los valores nulos

El origen de datos podría representar valores que faltan como valores NULL, celdas N/A de hoja de cálculo vacías u otro código, o un valor artificial como 9999. Sin embargo, para fines de minería de datos, solo los valores NULL se consideran valores que faltan. Si los datos contienen valores de marcador de posición en lugar de null, pueden afectar a los resultados del modelo, por lo que debe reemplazarlos por valores NULL o deducir valores correctos si es posible. Hay una variedad de herramientas que puede utilizar para deducir y rellenar los valores adecuados, como la transformación Lookup o la tarea Generador de Perfiles de Datos en SQL Server Integration Services, o la herramienta Fill By Example proporcionada en los complementos de minería de datos para Excel.

Si la tarea que estás modelando no permite valores nulos en una columna, aplica el indicador de modelado NOT_NULL al definir la estructura de minería. Esta marca indica que se debe producir un error en el procesamiento si un caso no tiene un valor adecuado. Si este error se produce al procesar un modelo, puede registrar el error y tomar medidas para corregir los datos proporcionados al modelo.

Cálculo del estado que falta

Los algoritmos de minería de datos tratan los valores que faltan como informativos. En el caso de las tablas, Missing es un estado válido. Un modelo de minería de datos puede usar otros valores para predecir si falta un valor, por lo que un valor que falta no es un error.

Al crear un modelo de minería de datos, se agrega automáticamente un estado Missing al modelo para todas las columnas discretas. Por ejemplo, si la columna de entrada [Gender] contiene los valores Male y Female, el modelo agrega un tercer valor , Missing. El histograma de la columna incluye el número de casos con el estado Falta. Si la columna Género no tiene valores faltantes, el histograma muestra que el estado Missing se encuentra en 0 casos.

La justificación de incluir el estado Faltante de forma predeterminada se deja claro cuando se considera que los datos podrían no tener ejemplos de todos los valores posibles y no desearía que el modelo excluya la posibilidad simplemente porque no había ningún ejemplo en los datos. Por ejemplo, si los datos de ventas de una tienda mostraron que todos los clientes que compraron un determinado producto pasaron a ser mujeres, no querría crear un modelo que predice que solo las mujeres podían comprar el producto. En su lugar, SQL Server Analysis Services agrega un marcador de posición para el valor desconocido adicional, denominado Missing, como una manera de acomodar posibles otros estados.

Por ejemplo, en la tabla siguiente se muestra la distribución de valores para el nodo (All) en el modelo de árbol de decisión creado para el tutorial Bike Buyer. En el escenario de ejemplo, la columna [Bike Buyer] es el atributo de predicción, donde 1 indica "Sí" y 0 indica "No".

Importancia Casos
0 9296
1 9098
Falta 0

La distribución muestra que aproximadamente la mitad de los clientes compran una bicicleta y la mitad no. Cada caso de este conjunto de datos tiene un valor en la columna [Bike Buyer], por lo que el recuento de valores que faltan es cero. Si un caso contiene un valor NULL en el campo [Bike Buyer], SQL Server Analysis Services cuenta esa fila como caso con un valor Missing.

Si la entrada es una columna continua, el modelo tabula dos estados posibles para el atributo: Existing y Missing. En otras palabras, la columna contiene un valor de algún tipo de datos numérico o no contiene ningún valor. En los casos que tienen un valor, el modelo calcula la media, la desviación estándar y otras estadísticas significativas. En los casos que no tienen ningún valor, el modelo proporciona un recuento de los vales que faltan y ajusta las predicciones en consecuencia. El método para ajustar la predicción difiere en función del algoritmo y se describe en la sección siguiente.

Nota:

En el caso de los atributos de una tabla anidada, los valores que faltan no son informativos. Por ejemplo, si un cliente no compra un producto, la tabla Products anidada no tiene ninguna fila para ese producto y el modelo de minería de datos no crea un atributo para él. Para identificar a los clientes que no han comprado determinados productos, utiliza una instrucción NOT EXISTS en el filtro del modelo para filtrar los productos que no existen en la tabla anidada. Para obtener más información, vea Aplicar un filtro a un modelo de minería de datos.

Ajuste de la probabilidad para estados ausentes

Además de contar valores, SQL Server Analysis Services calcula la probabilidad de cualquier valor en el conjunto de datos. El mismo cálculo se aplica al valor Faltante . Por ejemplo, en la tabla siguiente se muestran las probabilidades de los casos del ejemplo anterior:

Importancia Casos Probabilidad
0 9296 50,55%
1 9098 49.42%
Faltante 0 0,03%

Puede parecer extraño que la probabilidad del valor Faltante sea 0,03%, cuando el número de casos es 0. Este comportamiento es por diseño y representa un ajuste que permite al modelo controlar los valores desconocidos correctamente.

En general, la probabilidad se calcula como los casos favorables divididos por todos los casos posibles. En este ejemplo, el algoritmo calcula la suma de los casos que cumplen una condición determinada ([Bike Buyer] = 1 o [Bike Buyer] = 0) y divide ese número por el recuento total de filas. Para tener en cuenta los casos que faltan , el algoritmo agrega 1 al número de todos los casos posibles. Como resultado, la probabilidad del caso desconocido ya no es cero, sino un número muy pequeño, lo que indica que el estado es meramente improbable, no imposible.

El pequeño valor Missing no cambia la predicción, pero mejora el modelado cuando los datos históricos no incluyen todos los resultados posibles.

Nota:

Los proveedores de minería de datos controlan los valores que faltan de forma diferente. Por ejemplo, algunos proveedores tratan los datos que faltan en una columna anidada como una representación dispersa y los datos que faltan en una columna no anidada como faltan al azar.

Si tus datos especifican todos los resultados, establece el indicador de modelado NOT_NULL en la columna de la estructura de minería para evitar ajustes de probabilidad.

Nota:

Cada algoritmo, incluido un algoritmo personalizado de un complemento de terceros, puede controlar los valores que faltan de forma diferente.

Control especial de los valores que faltan en los modelos de árbol de decisión

El algoritmo de árboles de decisión de Microsoft calcula las probabilidades de valor que faltan de forma diferente de otros algoritmos. En lugar de agregar uno al recuento total de casos, el algoritmo usa una fórmula diferente para ajustar el estado Faltante .

En un modelo de árbol de decisión, use la fórmula siguiente para calcular la probabilidad del estado Que falta :

StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStates) # Probabilidad del Estado = (Probabilidad Previa del Nodo) * (Soporte del Estado + 1) / (Soporte del Nodo + Total de Estados)

El algoritmo árboles de decisión proporciona un ajuste adicional que ayuda al algoritmo a compensar la presencia de filtros en el modelo, lo que podría excluir muchos estados durante el entrenamiento.

En SQL Server 2017, si un estado está presente durante el entrenamiento, pero tiene cero compatibilidad en un nodo determinado, el algoritmo realiza el ajuste estándar. Sin embargo, si nunca se encuentra un estado durante el entrenamiento, el algoritmo establece la probabilidad en exactamente cero. Este ajuste no solo se aplica al estado Falta , sino también a otros estados que existen en los datos de entrenamiento, pero que tienen cero compatibilidad como resultado del filtrado de modelos.

Este ajuste adicional da como resultado la siguiente fórmula:

StateProbability = 0,0 si ese estado tiene 0 compatibilidad con el conjunto de entrenamiento

ELSE ProbabilidadDelEstado = (ProbabilidadPreviaDelNodo)* (SoporteDelEstado + 1) / (SoporteDelNodo + TotalDeEstadosConSoporteNoNulo)

El efecto neto de este ajuste es mantener la estabilidad del árbol.

Estos recursos explican cómo controlar los valores que faltan.

Tasks Enlaces
Agregar marcas a columnas de modelo individuales para controlar cómo controla el modelo los valores que faltan Ver o cambiar marcas de modelado (minería de datos)
Establezca las propiedades del modelo de minería de datos para controlar cómo el modelo maneja los valores ausentes. Cambiar las propiedades de un modelo de minería de datos
Especificar indicadores de modelado en DMX Banderas de modelado (DMX)
Cambiar cómo la estructura de minería administra los valores ausentes Modificar las propiedades de una estructura de minería de datos

Véase también

Contenido del modelo de minería (Analysis Services - Minería de datos)
Indicadores de Modelado (Minería de Datos)