Mi pregunta está dirigida a técnicas para tratar datos incompletos durante el clasificador / entrenamiento modelo / ajuste.
Por ejemplo, en un conjunto de datos con unos cientos de filas, cada fila tiene cinco dimensiones y una etiqueta de clase como último elemento, la mayoría de los puntos de datos se verán así:
[0,74, 0,39, 0,14, 0,33, 0,34, 0]
Algunos podrían verse más o menos así:
[0.21, 0.68,?, 0.82, 0.58, 1]
Entonces, son esos tipos de puntos de datos los que son el foco de esta pregunta.
Mi razón inicial para hacer esta pregunta fue un problema directamente frente a mí; sin embargo, antes de publicar mi Pregunta, pensé que podría ser más útil si la reformulara para que las respuestas fueran útiles para una porción más grande de la Comunidad.
Como simple heurística, dividamos estas técnicas de manejo de datos en función de cuándo se emplean durante el flujo de procesamiento, antes de ingresar al clasificador o durante (es decir, la técnica está dentro del clasificador).
El mejor ejemplo que se me ocurre para este último es la ingeniosa técnica de 'ramificación triple' utilizada en los árboles de decisión.
Sin duda, la primera categoría es mucho más grande. Las técnicas que conozco pertenecen a uno de los siguientes grupos.
Mientras revisaba recientemente mis notas personales sobre el "manejo de datos faltantes", noté que tenía una lista bastante impresionante de técnicas. Solo mantengo estas notas para tranquilidad general y en caso de que un colega junior me pregunte cómo tratar con los datos faltantes. En la práctica, en realidad no uso ninguno de ellos, excepto el último.
Imputación : una rúbrica amplia para un conjunto de técnicas cuyo denominador común (creo) es que los datos faltantes son suministrados directamente por el mismo conjunto de datos: sustitución en lugar de estimación / predicción.
Reconstrucción : calcule los puntos de datos faltantes utilizando una red autoasociativa (solo una red neuronal en la que los tamaños de las capas de entrada y salida son iguales; en otras palabras, la salida tiene la misma dimensión que la entrada); La idea aquí es entrenar esta red en datos completos, luego alimentarla con patrones incompletos y leer los valores faltantes de los nodos de salida.
Bootstrapping : (no es necesario un resumen, no debería pensar, dado que se usa en otros lugares en el análisis estadístico).
Negación : elimine silenciosamente los puntos de datos con elementos faltantes / corruptos de su conjunto de entrenamiento y pretenda que nunca existieron.
modern
técnicas? Gracias
mice
tiene un buen documento introductorio sobre JSS: jstatsoft.org/article/view/v045i03 . (Debería encontrar útil la introducción, incluso si no usa R.) Y el paquete R Amelia
tiene una bonita viñeta que se incluye con el paquete. Estos dos paquetes difieren en sus detalles, pero ambos usan imputación múltiple.