Imputación Simple

Escrito por

en

¿Qué es la imputación simple?

La imputación simple es una técnica de tratamiento de datos faltantes que consiste en reemplazar los valores ausentes utilizando un único valor calculado o definido previamente. Es una de las estrategias más utilizadas durante la preparación de datos debido a su sencillez, rapidez y facilidad de implementación.

En lugar de eliminar registros o variables que contienen datos faltantes, la imputación simple permite conservar la información disponible sustituyendo los valores ausentes por estimaciones razonables.

Por ejemplo:

edad = [ 25, 30, NULL, 35]

Tras aplicar imputación simple mediante la media:

edad = [ 25, 30, 30, 35]

El valor faltante se sustituye por una estimación basada en los datos disponibles.

¿Por qué utilizar imputación simple?

Los valores faltantes representan uno de los problemas más frecuentes en Data Science y Machine Learning. Muchos algoritmos no pueden procesar directamente datos ausentes, lo que obliga a tomar alguna decisión antes del entrenamiento. Las alternativas más comunes son:

  • Eliminar registros.
  • Eliminar variables.
  • Imputar valores.

La imputación simple suele ser una buena opción cuando:

  • La cantidad de valores faltantes es reducida.
  • La variable es importante para el análisis.
  • Se desea conservar el mayor número posible de observaciones.
  • No se justifica utilizar métodos más complejos.

¿Cómo funciona la imputación simple?

El procedimiento consiste en:

  1. Identificar los valores faltantes.
  2. Seleccionar un método de imputación.
  3. Calcular el valor de reemplazo.
  4. Sustituir los datos ausentes.

La característica principal de esta técnica es que todos los valores faltantes de una misma variable se reemplazan utilizando el mismo criterio.

Métodos de imputación simple

  • Imputación mediante la media: Se sustituyen los valores faltantes por la media aritmética de la variable.
  • Imputación mediante la mediana : Se reemplazan los valores faltantes por la mediana de la variable.
  • Imputación mediante la moda: Se utiliza el valor más frecuente de una variable. Es especialmente útil para variables categóricas.
  • Imputación mediante un valor constante: Los valores faltantes se sustituyen por un valor definido manualmente. Ejmplo: Unknow, esta estrategia permite conservar información sobre la ausencia de datos.

Comparación entre métodos de imputación simple

MétodoTipo de VariableSensible a OutliersComplejidad
MediaNuméricaAltaBaja
MedianaNuméricaBajaBaja
ModaCategórica o NuméricaBajaBaja
ConstanteCualquier tipoNo aplicaBaja

Beneficios de la imputación simple

  • Permite conservar registros incompletos.
  • Evita la pérdida de información.
  • Es fácil de implementar.
  • Requiere pocos recursos computacionales.
  • Funciona rápidamente incluso en grandes conjuntos de datos.
  • Facilita el entrenamiento de modelos.
  • Es compatible con la mayoría de algoritmos.

¿Cuándo utilizar la imputación simple?

  • El porcentaje de valores faltantes es reducido.
  • Los datos faltantes son MCAR (Missing Completely At Random).
  • Se necesita una solución rápida.
  • La variable tiene una distribución relativamente estable.
  • Se trabaja en fases iniciales de exploración de datos.

También suele utilizarse como línea base antes de probar técnicas más avanzadas.

Ventajas

  • Implementación sencilla.
  • Bajo coste computacional.
  • Fácil interpretación.
  • Mantiene el tamaño del dataset.
  • Compatible con pipelines de Machine Learning.
  • Adecuada para grandes volúmenes de datos.
  • Disponible en la mayoría de herramientas analíticas.

Desventajas

  • Introduce valores artificiales.
  • Reduce la variabilidad de los datos.
  • Puede alterar distribuciones originales.
  • No tiene en cuenta relaciones entre variables.
  • Puede introducir sesgos.

Por ejemplo, si una variable presenta una distribución muy asimétrica, imputar mediante la media puede generar valores poco representativos.

Limitaciones

  • No recupera los valores reales perdidos.
  • Ignora correlaciones entre variables.
  • Puede infraestimar la varianza.
  • Reduce la dispersión de los datos.
  • Puede afectar a la calidad de algunos modelos.
  • No suele ser adecuada para grandes cantidades de datos faltantes.

Por esta razón, cuando el porcentaje de valores ausentes es elevado suelen considerarse métodos más avanzados como KNN Imputation o MICE.

Comparación con otras técnicas de tratamiento

CaracterísticaImputación SimpleKNN ImputationMICE
ComplejidadBajaMediaAlta
Coste computacionalBajoMedioAlto
Utiliza relaciones entre variablesNo
Facilidad de implementaciónAltaMediaBaja
Calidad de la imputaciónMediaAltaMuy alta
EscalabilidadAltaMediaBaja

Imputación Simple vs Eliminación de Registros

AspectoImputación SimpleEliminación
Conserva observacionesNo
Mantiene tamaño de muestraNo
Introduce estimacionesNo
Riesgo de pérdida de informaciónBajoAlto
Facilidad de aplicaciónAltaAlta

Impacto en Machine Learning

Muchos algoritmos requieren datos completos para poder entrenarse correctamente.

Por ejemplo:

  • Regresión lineal.
  • Regresión logística.
  • SVM.
  • Redes neuronales.
  • K-Means.

La imputación simple permite generar conjuntos de datos compatibles con estos algoritmos sin eliminar observaciones potencialmente valiosas. Sin embargo, debe utilizarse con precaución cuando los datos faltantes presentan patrones complejos o porcentajes elevados.

Implementación en Python

Imputación mediante la media

from sklearn.impute import SimpleImputer
import pandas as pd

df = pd.DataFrame({
    "edad": [25, 30, None, 35]
})

imputer = SimpleImputer(
    strategy="mean"
)

df["edad"] = imputer.fit_transform(
    df[["edad"]]
)

print(df)

Imputación mediante la mediana

from sklearn.impute import SimpleImputer

imputer = SimpleImputer(
    strategy="median"
)

df["salario"] = imputer.fit_transform(
    df[["salario"]]
)

Imputación mediante la moda

from sklearn.impute import SimpleImputer

imputer = SimpleImputer(
    strategy="most_frequent"
)

df["ciudad"] = imputer.fit_transform(
    df[["ciudad"]]
)

Imputación mediante un valor constante

from sklearn.impute import SimpleImputer

imputer = SimpleImputer(
    strategy="constant",
    fill_value="Desconocido"
)

df["ciudad"] = imputer.fit_transform(
    df[["ciudad"]]
)

Uso dentro de un Pipeline

from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.ensemble import RandomForestClassifier

pipeline = Pipeline([
    ("imputer",
     SimpleImputer(strategy="median")),
    ("model",
     RandomForestClassifier())
])

pipeline.fit(X_train, y_train)

Buenas prácticas

Al utilizar imputación simple es recomendable:

  • Analizar previamente el porcentaje de datos faltantes.
  • Comprender el mecanismo de ausencia de los datos.
  • Utilizar la mediana cuando existan outliers.
  • Utilizar la moda para variables categóricas.
  • Ajustar el imputador únicamente con los datos de entrenamiento.
  • Comparar el rendimiento frente a métodos más avanzados.
  • Evaluar el impacto sobre las distribuciones originales.

Conclusión

La imputación simple es una de las técnicas más utilizadas para gestionar datos faltantes debido a su simplicidad, rapidez y facilidad de implementación. Consiste en sustituir los valores ausentes mediante estadísticas básicas como la media, la mediana, la moda o un valor constante, permitiendo conservar observaciones que de otro modo podrían perderse.

Aunque presenta limitaciones y no tiene en cuenta las relaciones entre variables, sigue siendo una excelente solución cuando el porcentaje de datos faltantes es reducido y se necesita una estrategia eficiente y fácilmente interpretable. Además, suele constituir el punto de partida para comparar posteriormente métodos más avanzados como KNN Imputation o Imputación Múltiple (MICE).