No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Métodos de imputación de valores faltantes

8/17
Recursos

Aportes 12

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Imputación por interpolación: se estiman los valores perdidos interpolando (uniendo de manera lineal, polinomial, etc.) el último valor válido antes del valor perdido y el primer valor válido después del valor perdido.

Metodos de Imputacion de Valores Faltantes

Existen dos metodos para el tratamiento de valores faltantes

Eliminaciones

Imputaciones

Existe otra forma de de clasificar los metodos de imputacion y es a traves de definir si son metodos de imputacion basados en Donantes o en Modelos.

Que son las imputaciones basadas en Donantes?

Completa los valores que faltan para una unidad dada copiando los valores observados de otra unidad, el donante

Que son las imputaciones con base en Modelos?

El objetivo es encontrar un modelo predictivo para cada variable objetivo en el conjunto de datos que contiene valores faltantes

El método de interpolación es un enfoque común utilizado para la imputación de datos faltantes. En lugar de reemplazar los valores faltantes por un valor constante o un valor estimado basado en otras observaciones, la interpolación utiliza técnicas de interpolación matemática para estimar los valores faltantes en función de los valores observados cercanos en el tiempo o en el espacio.

La interpolación implica crear una función continua que pasa a través de los puntos de datos conocidos y luego estimar los valores faltantes en función de esta función continua. Hay varias técnicas de interpolación que se pueden utilizar, y la elección depende del tipo de datos y la estructura de los mismos. Algunas técnicas comunes de interpolación incluyen:

Interpolación lineal: La técnica más simple, que asume una relación lineal entre los puntos de datos conocidos y utiliza una línea recta para conectar los puntos adyacentes.

Interpolación polinómica: Utiliza polinomios para conectar los puntos conocidos y estimar los valores faltantes. Los polinomios de diferentes órdenes, como lineales, cuadráticos o cúbicos, pueden utilizarse según la complejidad de los datos.

Interpolación spline: Utiliza una función spline, que es una curva suave definida por segmentos polinómicos, para conectar los puntos conocidos. La interpolación spline es más flexible y puede adaptarse mejor a patrones no lineales en los datos.

Cabe mencionar que la interpolación tiene sus limitaciones y supone que existe una relación continua y suave entre los puntos de datos. En algunos casos, como datos con patrones complejos o ruido significativo, la interpolación puede no ser la mejor opción y pueden requerirse enfoques más avanzados.

Es importante evaluar cuidadosamente los datos y considerar otros métodos de imputación, como la media, la mediana, la moda o algoritmos más sofisticados, según la naturaleza de los datos faltantes y el contexto del problema.

Métodos de imputación avanzados KNN (K-Nearest Neighbors), MICE (Multiple Imputation by Chained Equations), NN (Neural Networks) y SVM (Support Vector Machines):

  1. KNN (K-Nearest Neighbors): El método KNN es una técnica de imputación que se basa en encontrar los K vecinos más cercanos a un valor faltante y utilizar los valores de esos vecinos para imputar el valor faltante. En el contexto de la imputación, los vecinos se seleccionan en función de la similitud de las características de los registros completos. KNN es una técnica flexible que puede utilizarse tanto para variables numéricas como categóricas.
  2. MICE (Multiple Imputation by Chained Equations): MICE es un enfoque de imputación avanzado que utiliza modelos estadísticos para imputar los valores faltantes. En MICE, los valores faltantes se imputan en varias etapas utilizando modelos específicos para cada variable con valores faltantes. En cada etapa, se imputa una variable a la vez, utilizando los valores observados y las imputaciones anteriores como entrada para el modelo. El proceso se repite varias veces hasta que se obtengan las imputaciones finales.
  3. NN (Neural Networks): Los modelos de redes neuronales (NN) también se utilizan en la imputación avanzada de valores faltantes. Estos modelos son capaces de aprender patrones y relaciones complejas en los datos y, por lo tanto, pueden ser efectivos para imputar valores faltantes. Las redes neuronales pueden ser entrenadas en conjuntos de datos completos para luego ser utilizadas para imputar los valores faltantes en nuevos conjuntos de datos.
  4. SVM (Support Vector Machines): Las Máquinas de Vectores de Soporte (SVM) son un método de aprendizaje supervisado utilizado en diversos problemas, incluida la imputación de valores faltantes. Las SVM pueden ser aplicadas para imputar valores faltantes al entrenar un modelo utilizando los datos completos y luego utilizar ese modelo para predecir los valores faltantes en nuevos conjuntos de datos.

Estos métodos de imputación avanzada son utilizados cuando se necesita manejar datos con valores faltantes de manera más sofisticada y precisa. Cada método tiene sus propias características y supuestos, por lo que es importante considerar el contexto y las características de los datos al seleccionar el método de imputación más adecuado.

8. Métodos de imputación de valores faltantes

¿Qué son las imputaciones con base en el donante?

Completa los valores que faltan para una unidad dada copiando los valores observados de otra unidad, el donante.

¿Qué son las imputaciones con base en modelos?

El objetivo de la imputación basada en modelos es encontrar un modelo predictivo para cada variable objetivo en el conjunto de datos que contiene valores faltantes.

La interpolación puede ser tanto basada en donante como basada en modelo. Ambos enfoques se utilizan para estimar los valores faltantes utilizando información de las observaciones existentes.


 

Categorías de Métodos de Imputación

 
Existen tres categorías principales de métodos de imputación:
 

  1. Métodos de Imputación por Distribuciones:
    • Imputación por constante: Se imputa un valor constante para todos los valores faltantes de una variable.
    • Imputación por media: Se imputa la media de la variable para los valores faltantes.
    • Imputación por mediana: Se imputa la mediana de la variable para los valores faltantes.
    • Imputación por moda: Se imputa la moda de la variable para los valores faltantes.
    • Imputación por regresión lineal: Se utiliza un modelo de regresión lineal para predecir los valores faltantes.
    • Imputación por KNN (K-Nearest Neighbors): Se buscan los K vecinos más cercanos al registro con el valor faltante y se utiliza la media (o la mediana) de los valores de esos vecinos para imputar el valor faltante.
       
  2. Métodos de Imputación por Donantes:
    • Imputación por Hot-Deck: Se selecciona un donante al azar entre los registros con valores completos y se utiliza su valor para imputar el valor faltante del receptor.
    • Imputación por Regresión: Se utiliza un modelo de regresión para predecir el valor faltante utilizando las variables con valores completos del receptor y de los donantes.
       
  3. Métodos de Imputación por Modelos:
    • Imputación por MICE (Multiple Imputation by Chained Equations): Imputa los valores faltantes en múltiples rondas utilizando diferentes modelos de regresión para cada variable con valores faltantes.
    • Imputación por Redes Neuronales: Entrena una red neuronal artificial para predecir los valores faltantes utilizando las variables con valores completos como entrada.
    • Imputación por bosques aleatorios: Entrena un bosque aleatorio para predecir los valores faltantes utilizando las variables con valores completos como entrada.
       
      Además de estas tres categorías principales, también existen otros métodos de imputación menos comunes, como:
       
  • Imputación por eliminación: Se eliminan los registros con valores faltantes del conjunto de datos.
  • Imputación por interpolación: Se utilizan los valores de los registros vecinos para imputar los valores faltantes.
     
    La elección del método de imputación más adecuado depende de las características del conjunto de datos, del objetivo del análisis y de la disponibilidad de recursos computacionales.

El objetivo de la imputacion basada en modelos es encontrar un modelo predictivo para cada variable objetivo en el conjunto de datos que contiene valores faltantes

Esto fue lo que encontré:

La interpolación se puede clasificar en dos categorías principales: interpolación basada en el donante y interpolación basada en modelos.

**La interpolación basada en el donante **utiliza los valores conocidos más cercanos, llamados donantes, para estimar los valores faltantes. Algunos métodos comunes en esta categoría son la interpolación por vecino más cercano y la interpolación ponderada por distancia.

La interpolación basada en modelos utiliza modelos estadísticos o matemáticos para estimar los valores faltantes. Se ajusta un modelo a los datos conocidos y se utiliza para predecir los valores faltantes. Algunos métodos comunes en esta categoría son la interpolación polinómica, la interpolación spline y la interpolación mediante regresión.

La \*\*imputación de valores faltantes\*\* consiste en estimar los valores ausentes en un conjunto de datos utilizando diversos métodos. Estos métodos pueden ser simples o complejos, dependiendo de la cantidad de datos faltantes y de la naturaleza del problema. Aquí se describen los métodos más comunes para la imputación de valores faltantes. \### 1. \*\*Imputación Simple\*\* Estos métodos son fáciles de implementar y son adecuados cuando la cantidad de datos faltantes es pequeña. \#### a. \*\*Imputación con la Media\*\* Se reemplazan los valores faltantes por el valor medio de la variable. Es útil cuando los datos están distribuidos de manera uniforme y no hay grandes outliers. ```python df\['column'] = df\['column'].fillna(df\['column'].mean()) ``` \#### b. \*\*Imputación con la Mediana\*\* Utiliza la mediana para reemplazar los valores faltantes. Es más robusta que la media en presencia de outliers. ```python df\['column'] = df\['column'].fillna(df\['column'].median()) ``` \#### c. \*\*Imputación con la Moda\*\* Para variables categóricas, la imputación con la moda reemplaza los valores faltantes con la categoría más frecuente. ```python df\['column'] = df\['column'].fillna(df\['column'].mode()\[0]) ``` \### 2. \*\*Imputación Basada en Reglas\*\* Se puede usar información contextual o reglas específicas del dominio para imputar valores faltantes. \#### a. \*\*Imputación Condicional\*\* Si una variable tiene una relación lógica con otra, se pueden utilizar reglas basadas en esta relación. ```python df.loc\[(df\['edad'] > 18) & (df\['estado\_civil'].isnull()), 'estado\_civil'] = 'Soltero' ``` \### 3. \*\*Imputación Multivariante\*\* Este tipo de imputación usa información de múltiples variables para estimar los valores faltantes. Es más precisa, pero más compleja. \#### a. \*\*Imputación por Regresión\*\* Utiliza un modelo de regresión (lineal o no lineal) para predecir los valores faltantes a partir de otras variables en el conjunto de datos. ```python from sklearn.linear\_model import LinearRegression \# Selección de datos sin valores nulos train\_data = df.dropna(subset=\['column\_with\_missing\_values']) train\_X = train\_data\[\['predictor\_1', 'predictor\_2']] train\_y = train\_data\['column\_with\_missing\_values'] \# Entrenamiento del modelo model = LinearRegression() model.fit(train\_X, train\_y) \# Predicción de los valores faltantes df.loc\[df\['column\_with\_missing\_values'].isnull(), 'column\_with\_missing\_values'] = model.predict(df\[\['predictor\_1', 'predictor\_2']]) ``` \#### b. \*\*Imputación Múltiple (Multiple Imputation by Chained Equations, MICE)\*\* Este método realiza imputaciones múltiples utilizando una secuencia de modelos de regresión, para luego promediar los resultados. Es robusto y maneja la incertidumbre en los valores imputados. ```python from sklearn.experimental import enable\_iterative\_imputer from sklearn.impute import IterativeImputer \# Imputación iterativa imputer = IterativeImputer() df\_imputed = pd.DataFrame(imputer.fit\_transform(df)) ``` \### 4. \*\*Imputación con K-Nearest Neighbors (KNN)\*\* Este método utiliza los valores de las observaciones más cercanas (k-nearest neighbors) para imputar los valores faltantes. Funciona bien cuando los datos tienen relaciones no lineales entre variables. ```python from sklearn.impute import KNNImputer \# Imputación con KNN imputer = KNNImputer(n\_neighbors=5) df\_imputed = pd.DataFrame(imputer.fit\_transform(df), columns=df.columns) ``` \### 5. \*\*Imputación por Forward y Backward Filling\*\* Este método llena los valores faltantes utilizando los valores no nulos anteriores o posteriores. Es común en datos de series temporales. \#### a. \*\*Forward Fill\*\* Rellena los valores faltantes con el último valor no nulo anterior. ```python df\['column'] = df\['column'].fillna(method='ffill') ``` \#### b. \*\*Backward Fill\*\* Rellena los valores faltantes con el siguiente valor no nulo. ```python df\['column'] = df\['column'].fillna(method='bfill') ``` \### Comparación de Métodos | \*\*Método\*\* | \*\*Ventajas\*\* | \*\*Desventajas\*\* | |------------------------|--------------------------------------------------------|---------------------------------------------------------------| | Media, Mediana, Moda | Rápido y fácil de implementar | Puede introducir sesgos o distorsionar la distribución | | Regresión | Usa la relación entre variables | Complejidad, depende de la calidad del modelo | | KNN | Captura relaciones no lineales | Computacionalmente costoso para grandes conjuntos de datos | | MICE | Imputación robusta y manejo de incertidumbre | Complejo de implementar y costoso en tiempo de cálculo | | Forward/Backward Fill | Útil en datos de series temporales | Puede generar datos poco realistas en ciertos escenarios | \### Conclusión Elegir el método adecuado de imputación depende del tipo de datos, el contexto y la cantidad de datos faltantes. Para conjuntos de datos pequeños o problemas simples, los métodos como la media o la mediana pueden ser suficientes, mientras que para datos más complejos se recomienda el uso de técnicas multivariantes como la imputación por regresión o MICE.
  • La imputación por donante es un método utilizado en la estadística para rellenar valores perdidos en un conjunto de datos. Consiste en buscar un “donante” o conjunto de datos similares y utilizar sus valores para rellenar los valores perdidos.

  • Por otro lado, un modelo es una representación matemática o computacional de un sistema o proceso. En estadística y machine learning, los modelos se utilizan para representar y predecir patrones en los datos.

**IMPUTACION POR INTERPOLACION** La interpolación es un método de imputación que se utiliza cuando los datos faltantes están relacionados con los valores observados y se espera que sigan una tendencia o patrón suave. La interpolación estima los valores faltantes en función de los valores observados circundantes. Puedes aplicar la interpolación en series temporales o en datos donde existe un orden natural entre las observaciones. En Python, puedes utilizar la biblioteca `pandas` para realizar la interpolación en un DataFrame. Aquí hay un ejemplo sencillo: pythonCopy code`import pandas as` pd `import numpy as` np `# Crear un DataFrame de ejemplo con datos faltantes` `data = {'Fecha': pd.date_range(start='2022-01-01', end='2022-01-05'`), ` 'Valor': [1, np.nan, 3, np.nan, 5`]} df = pd.DataFrame(data) `# Interpolación lineal en el DataFrame` `df['Valor_interpolado'] = df['Valor'].interpolate(method='linear'`) `# Mostrar el DataFrame después de la interpolación` `print`(df) En este ejemplo, `interpolate` se utiliza con el método `'linear'`, que realiza una interpolación lineal entre los valores observados circundantes. Puedes ajustar otros parámetros según sea necesario. También puedes explorar métodos como `'polynomial'`, `'spline'`, o `'nearest'` según la naturaleza de tus datos. Es importante tener en cuenta que la interpolación asume cierta continuidad y suavidad en los datos. Si la relación entre las observaciones es más compleja o no sigue una tendencia lineal, puede ser más apropiado considerar otros métodos de imputación basados en modelos o en donantes. Además, ten en cuenta que la interpolación puede introducir sesgo si la verdadera relación entre los datos no es lineal. Si tus datos tienen una estructura temporal o una secuencia natural, y los valores faltantes están relacionados con los valores circundantes, la interpolación puede ser una opción razonable. Sin embargo, siempre es recomendable evaluar y validar los métodos de imputación en función de las características específicas de tus datos. **OUTPUT** **Fecha Valor Valor\_interpolado** **0 2022-01-01 1.0 1.0** **1 2022-01-02 NaN 2.0** **2 2022-01-03 3.0 3.0** **3 2022-01-04 NaN 4.0** **4 2022-01-05 5.0 5.0**

s/ Bard:

KNN como Método de Imputación

KNN puede ser considerado tanto como un método de imputación por donantes como un método de imputación por distribuciones.

En el contexto de la imputación de valores faltantes, KNN opera de la siguiente manera:

  • Encuentra los K vecinos más cercanos al registro con el valor faltante.
  • Calcula la media (o la mediana) de los valores de las variables con valores completos de esos K vecinos.
  • Imputa el valor faltante con la media (o la mediana) calculada en el paso 2.

Desde la perspectiva de donantes, los K vecinos más cercanos pueden considerarse como donantes que proporcionan sus valores para imputar el valor faltante del registro receptor.

Desde la perspectiva de distribuciones, KNN se basa en la suposición de que los valores de las variables se distribuyen de manera similar en los vecinos cercanos. Al calcular la media (o la mediana) de los valores de los vecinos, KNN está imputando el valor faltante utilizando la distribución de los valores en la vecindad del registro receptor.

En resumen, KNN puede ser considerado como un método de imputación por donantes y por distribuciones. La elección de la perspectiva más adecuada depende del contexto del análisis y de las preferencias del analista.