Prácticamente cualquier base de datos que queremos hacer predicciones utilizando algoritmos de aprendizaje automático encontrará valores faltantes para algunas de las características.
Existen varios enfoques para abordar este problema, para excluir líneas que tienen valores faltantes hasta que se llenen con los valores medios de las características.
Me gustaría utilizar un enfoque algo más robusto, que básicamente ejecutaría una regresión (u otro método) donde la variable dependiente (Y) sería cada una de las columnas que tienen valores faltantes pero solo con las filas de la tabla que contienen todos los datos y predicen los valores faltantes con este método, complete la tabla junto a la tabla y avance a la siguiente 'columna' con valores faltantes y repita el método hasta que todo esté lleno.
Pero eso me da algunas dudas.
¿Por qué comienza cualquier columna? Creo que el que tiene los valores perdidos más pequeños hasta el que tiene más
¿Hay algún umbral de valores perdidos que no valga la pena intentar completar? (por ejemplo, si esta característica solo tiene el 10% de los valores rellenados, ¿no sería más interesante excluirla?)
¿Existe algún tipo de implementación en paquetes tradicionales u otros métodos que sean robustos para las faltas?
Amelia II
en R es una opción sólida. O podrías rodar tu propio usostan
.Respuestas:
La técnica que describe se llama imputación por regresiones secuenciales o imputación múltiple por ecuaciones encadenadas. La técnica fue pionera por Raghunathan (2001) y se implementó en un paquete R que funciona bien llamado
mice
(van Buuren, 2012).Un artículo de Schafer y Graham (2002) explica bien por qué la imputación mala y la eliminación por listas (lo que llama exclusión de línea) generalmente no son buenas alternativas a las técnicas mencionadas anteriormente. Principalmente, la imputación media no es condicional y, por lo tanto, puede sesgar las distribuciones imputadas hacia la media observada. También reducirá la variación, entre otros impactos no deseados en la distribución imputada. Además, la eliminación por listas solo funcionará si los datos faltan completamente al azar, como al lanzar una moneda. También aumentará el error de muestreo, ya que se reduce el tamaño de la muestra.
Los autores citados anteriormente generalmente recomiendan comenzar con la variable que presenta los valores que faltan menos. Además, la técnica generalmente se aplica de forma bayesiana (es decir, una extensión de su sugerencia). Las variables se visitan con mayor frecuencia en el procedimiento de imputación, no solo una vez. En particular, cada variable se completa mediante sorteos de su distribución predictiva posterior condicional, comenzando con la variable que presenta los valores que faltan menos. Una vez que se han completado todas las variables en un conjunto de datos, el algoritmo nuevamente comienza en la primera variable y luego se repite hasta la convergencia. Los autores han demostrado que este algoritmo es Gibbs, por lo tanto, generalmente converge a la distribución multivariada correcta de las variables.
Por lo general, debido a que hay algunos supuestos no comprobables involucrados, en particular faltan datos aleatorios (es decir, si los datos se observan o no, depende solo de los datos observados y no de los valores no observados). Además, los procedimientos pueden ser parcialmente incompatibles, por lo que se les ha llamado PIGS (muestra de Gibbs parcialmente incompatible).
En la práctica, la imputación múltiple bayesiana sigue siendo una buena manera de lidiar con problemas de datos perdidos no monótonos multivariados. Además, las extensiones no paramétricas, como la comparación predictiva de medias, ayudan a relajar los supuestos del modelo de regresión.
Raghunathan, TE, Lepkowski, J., van Hoewyk, J. y Solenberger, P. (2001). Una técnica multivariada para la multiplicación de valores faltantes de imputación utilizando una secuencia de modelos de regresión. Survey Methodology, 27 (1), 85–95.
Schafer, JL y Graham, JW (2002). Datos faltantes: nuestra visión del estado del arte. Métodos psicológicos, 7 (2), 147-177. https://doi.org/10.1037/1082-989X.7.2.147
van Buuren, S. (2012). Imputación flexible de datos faltantes. Boca Raton: CRC Press.
fuente
mice
algoritmo usa regresión o coincidencia de predicción media. Inicialmente, completa los datos faltantes mediante sorteos de la distribución observada y luego imputa secuencialmente. Una vez terminado, repite, pero utilizando los valores recién imputados. Los nuevos datos participan, síNo encontré nada que resolviera mi problema, así que escribí una función que mezcla algunas soluciones para un marco de datos de Pandas con valores numéricos faltantes (con una fantasía) y categórico (con un bosque aleatorio).
fuente
R
funciónmice
, Stef van Buuren. Puede estar interesado en su código de Python y / o señalarle el trabajo de otras personas a este respecto. stefvanbuuren.nlAunque generalmente es más complicado, puedes probar y crear una distribución de entropía máxima basada en los datos que tienes.
http://proceedings.mlr.press/v5/huang09a/huang09a.pdf
fuente