¿Es una buena idea utilizar un algoritmo de aprendizaje automático para imputar valores perdidos en un conjunto de entrenamiento?

En mi opinión, no parece una mala idea, sino peligrosa.

¿Por qué? Porque aprendes de los datos que generaste. Por lo tanto, está apilando errores y sesgos. Si su modelo que predice edades, llamémoslo [matemáticas] a [/ matemáticas], de alguna manera es incorrecto (es decir, inexacto, no está en línea con la realidad), entonces su modelo final, [matemáticas] m [/ matemáticas], estará sesgado. En otras palabras, pondrás esfuerzo en [math] m [/ math] para converger en un punto equivocado. No podría sacar ninguna conclusión de eso.

El punto de usar alternativas simples como el promedio no es agregar sesgo. Aquí puede ver un promedio como la información menos “valiosa”, por lo tanto, es una forma de llenar el espacio en blanco sin decir demasiado. ¿Ves que, si tu conjunto de datos se trata de una tirada de dados bastante equilibrada, tiene sentido llenar valores en blanco con 3.5?

Tiene dos opciones cuando se trata de completar valores perdidos:

  • No tiene idea del valor: intente rellenar sin influir, es decir, promedio, mediana, etc.
  • Tiene una idea, por lo tanto, afirma que puede “arreglar” su conjunto de datos correctamente. Debe asegurarse de que esto sea exacto, de lo contrario, es posible que no dé mejores resultados (o incluso peores). No estoy seguro de que valga la pena.

Me preguntaba lo mismo, y una vez utilicé el conjunto de datos del juguete Titanic en kaggle.com para probar ambos enfoques.

En el conjunto de datos Titanic, el 20% de las muestras tienen edades faltantes.

  • Primero, usé la regresión XGBoost para predecir las edades faltantes. Mi modelo en realidad tenía un RMSE bastante alto, por lo que no fue tan bueno.
  • Luego volví e impute los valores faltantes con algún valor (creo que usé la mediana, pero en realidad no importa). Hice una columna booleana separada que indicaba si la edad se imputaba o no.

El segundo enfoque es mucho más simple, pero ese modelo en realidad funcionó mejor en este caso. Podría haber pasado más tiempo para mejorar el modelo de regresión de edad, pero el enfoque de imputación funcionó significativamente mejor, por lo que no valió la pena.

Siempre que indique qué muestras se imputaron o no, su modelo final debería poder inferir la relación y comprender cómo ponderar los valores imputados, especialmente si está utilizando modelos de árbol de decisión.