Saltar al contenido principal Saltar al contenido complementario

Imputación de nulos

Demasiados valores perdidos podrían afectar negativamente a la calidad de su modelo de aprendizaje automático. La imputación es la práctica de rellenar los valores que faltan, conocidos como valores nulos. Puede haber muchas razones para que falten datos, como por ej. un error en la base de datos, que un usuario no rellene una parte de un formulario o que empiece a recopilar nuevos datos y los registros más antiguos del conjunto de datos no contengan el nuevo punto de datos.

Es importante comprender los efectos que la imputación podría tener en los datos. La imputación conserva el poder predictivo de la fila o columna, pero también tiene el potencial de crear patrones que antes no existían o de añadir ruido a un patrón que sí existía. Esto reduce la validez de los datos.

Es posible que desee revisar sus prácticas de recopilación de datos para garantizar que los datos están completos y aplicar nuevos procesos en caso necesario. Si desea mantener la representación de un valor vacío, podría rellenar los nulos con un valor como "otro" o "desconocido".

Imputación de valores nulos durante el preprocesamiento automático

En Qlik AutoML, el preprocesamiento automático de datos utiliza la imputación de nulos para preparar su conjunto de datos para el entrenamiento. Durante el preprocesamiento automático de los datos, los valores nulos se tratan excluyendo las columnas en las que faltan más del 50% de los valores e imputando los valores que faltan. Los valores que faltan en las características categóricas se imputan con el valor "otro" y los valores que faltan en las características numéricas se imputan con la media.

Se aplican consideraciones adicionales para las funciones automáticas y el entrenamiento basado en el tiempo.

Más información sobre el preprocesamiento en Preparación y transformación automática de los datos.

Características generadas mediante ingeniería automática

Con la ingeniería automática de características, AutoML crea nuevas características a partir de características principales. Para las características generadas mediante ingeniería automática, la imputación de nulos se realiza del siguiente modo:

  • Si incluye funciones de fecha de ingeniería automática en el entrenamiento, el proceso de imputación de nulos para estas funciones es el mismo que para las funciones numéricas.

  • Si en su lugar utiliza las funciones de fecha de las entidades superiores, el proceso de imputación de nulos es el mismo que para las funciones categóricas.

  • Para las características categóricas que se tratan como texto libre, la imputación de nulos es la misma que para las características categóricas.

Entrenamiento basado en el tiempo

Si se activa el entrenamiento basado en el tiempo, la imputación de nulos se realiza del siguiente modo:

  • Cualquiera de las filas en el conjunto de datos de entrenamiento que tenga un valor nulo para el índice de fechas seleccionado se descarta durante el preprocesamiento. Estas filas no se usan para entrenar los modelos.

  • Para las funciones numéricas, la imputación de nulos se realiza con interpolación lineal. La interpolación lineal también se utiliza para funciones de fecha de ingeniería automática.

  • Para las funciones categóricas, el proceso de imputación de nulos es el mismo que cuando no se utiliza el entrenamiento basado en el tiempo.

  • Si utiliza características de fecha sin ingeniería automática de características, el proceso de imputación de nulos es el mismo que para las características categóricas.

  • Para las características categóricas que se tratan como texto libre, la imputación de nulos es la misma que para las características categóricas.

Para obtener más información sobre el entrenamiento basado en el tiempo, consulte Crear modelos en función del tiempo.

¿Cómo funciona la imputación?

Los métodos siguientes son prácticas habituales para la imputación de nulos.

Valores numéricos

Una buena opción por defecto es imputar el valor medio. Si los valores que faltan se distribuyen normalmente, es como añadir peso al centro de un balancín: no afecta al peso de ninguno de los lados. Sin embargo, siempre hay que tener en cuenta lo que el valor intenta representar. Por ejemplo, si algunos de los valores del precio de venta son nulos en sus datos de ventas, ¿se debe a un error de la base de datos o el comprador utilizó un cupón como forma de pago? ¿Tendría más sentido un 0 u otro valor distinto de la media?

Valores categóricos

Una buena opción por defecto para los valores categóricos es añadir otra categoría y denominarla "Otros", "Desconocido" o incluso "Faltan datos". Esta categoría puede contener la varianza adicional si los valores omitidos se distribuyen aleatoriamente, o ganar en importancia de característica si existe una relación significativa entre la omisión de ese valor y el valor objetivo.

Un recurso alternativo es imputar la media en forma de moda. Al igual que con los valores numéricos, siempre es importante tener en cuenta tanto lo que el valor intenta representar realmente como por qué puede faltar. Si sabe que la mayoría de los valores perdidos son probablemente la moda, puede imputar con la moda. Si no se conoce, o hay incertidumbre, puede imputar el valor categórico con un texto de relleno que sea un nuevo valor único para el conjunto de datos.

Efectos de la imputación de valores numéricos

La imputación numérica 1 muestra un gráfico de dispersión con una línea de mejor ajuste. Tenemos un valor numérico en el eje de categorías (x) y un valor objetivo en el eje de valores (y). Parece un buen ajuste, pero solo tiene en cuenta los puntos de datos en los que se conoce x.

Imputación numérica 1: gráfico de valores conocidos con una línea de mejor ajuste.

Gráfico con línea de mejor ajuste lineal.

En la imputación numérica 2, hemos imputado el valor medio. Sin embargo, los valores que faltan no parecen ser aleatorios. Esto acaba sesgando la línea de mejor ajuste y añade ruido, reduciendo así la exactitud global del modelo.

Imputación numérica 2: gráfico de valores conocidos y valores medios imputados. Los valores imputados no están distribuidos aleatoriamente y hay una nueva línea de mejor ajuste.

Gráfico con valores imputados que sesgan la línea de mejor ajuste.

El gráfico de Imputación numérica 3 muestra el aspecto que tendría la imputación de la media cuando los valores que faltan se distribuyen aleatoriamente. En otras palabras, cuando no se obtiene ningún conocimiento adicional al saber si el valor estaba presente o no. Cuando los valores que faltan se distribuyen aleatoriamente, no cambia la línea de mejor ajuste. Si hubiéramos imputado 0 en lugar del valor medio, habría cambiado la línea de mejor ajuste de forma similar a la imputación numérica 2.

Imputación numérica 3: gráfico de valores conocidos y valores imputados distribuidos aleatoriamente. La línea de mejor ajuste no ha cambiado.

Gráfico con valores imputados que no sesgan la línea de mejor ajuste.

Ejemplo: calificación de un préstamo

Un ejemplo del mundo real supondría que X fuera la renta anual e Y la cantidad que alguien podría obtener en un préstamo. Cabría esperar una relación en la que cuanto más dinero gana alguien, más dinero puede pedir prestado. El patrón sería similar al de la imputación numérica 1 anterior.

Imagínese que las personas que ganan menos dinero tienen menos probabilidades de presentar sus ingresos anuales. En ese caso, faltaría el valor X por un motivo concreto. Imputar la media de esos valores sesgaría los resultados del modelo. El resultado sería algo así como la Imputación numérica 2.

Ahora, considere que algunos registros de la base de datos se eliminaron aleatoriamente. Los registros contenían datos sobre cuánto dinero ganan algunas personas, pero no el registro de la persona. Así que el valor x es aleatoriamente nulo. Este efecto se muestra en Imputación numérica 3 y es un caso en el que podemos imputar con seguridad el valor que falta.

Otro aspecto a tener en cuenta es: ¿qué pasaría si se imputara 0 en lugar de la media? En el ejemplo de la valoración del préstamo, probablemente no sea una representación exacta decir que alguien gana 0 dólares anuales. Sesgaría el modelo de forma similar a la imputación numérica 2.

Efectos de imputar valores categóricos

En el caso numérico anterior, utilizamos la media para imputar los valores que faltan. Un método sencillo para los valores categóricos es tomar la moda, que es el valor que aparece con más frecuencia. Algunos de los retos que plantea la imputación de la moda son los mismos que la imputación de la media de un valor numérico.

En el gráfico siguiente, los valores que faltan en Missing_1 siguen un patrón en relación con el objetivo, mientras que Missing_2 se distribuye aleatoriamente. Podemos verlo porque Missing_2 coincide con el valor objetivo medio global. Missing_1 es similar a la imputación numérica 2 y Missing_2 es similar a la imputación numérica 3.

Imputación categórica: las columnas Missing_1 y Missing_2 son ejemplos de valores perdidos con y sin un patrón.

Gráfico que muestra la distribución de las clases A, B y C junto con la media global y la imputación categórica de los valores que faltan.

La diferencia con el ejemplo numérico es que en este caso tanto Missing_1 como Missing_2 sesgan el reconocimiento del patrón. Únicamente se está sesgando para un subconjunto de los datos, la categoría B, que sería el valor imputado si se imputara con la moda porque es la categoría más grande.

La distorsión de la relación entre un valor único y el valor objetivo no es el único riesgo de la imputación, pero es uno de los más comunes y fáciles de evaluar. Otros riesgos tienden simplemente a añadir ruido y reducen la exactitud. Afortunadamente, el riesgo de sesgo puede mitigarse en gran medida eliminando las dimensiones que son relativamente dispersas. A menudo se debate qué niveles de dispersión deben permitirse exactamente en una columna o una fila, pero no se discute tanto que la imputación de valores puede distorsionar los datos hasta el punto de que dejen de ser representativos de lo que intentan describir.

Más información

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.