Tengo un gran conjunto de vectores de características que usaré para atacar un problema de clasificación binaria (usando scikit learn en Python). Antes de comenzar a pensar en la imputación, estoy interesado en tratar de determinar, a partir de las partes restantes de los datos, si los datos faltantes 'faltan al azar' o no faltan al azar.
¿Cuál es una forma sensata de abordar esta pregunta?
Resulta que una mejor pregunta es preguntar si los datos 'faltan completamente al azar' o no. ¿Cuál es una forma sensata de hacer eso?
missing-data
randomness
Lembik
fuente
fuente
Respuestas:
Encontré la información de la que estaba hablando en mi comentario.
Del libro de van Buurens , página 31, escribe
"Se han propuesto varias pruebas para evaluar MCAR versus MAR. Estas pruebas no se usan ampliamente, y su valor práctico no está claro. Ver Enders (2010, pp. 17-21) para una evaluación de dos procedimientos. No es posible evaluar MAR versus MNAR ya que falta la información necesaria para tal prueba ".
fuente
Esto no es posible, a menos que haya logrado recuperar los datos faltantes. No puede determinar a partir de los datos observados si los datos faltantes faltan al azar (MAR) o no al azar (MNAR). Solo puede decir si los datos claramente no faltan completamente al azar (MCAR). Más allá de eso, solo apele a la plausibilidad de MCAR o MAR en lugar de MNAR en función de lo que sabe (por ejemplo, razones informadas de por qué faltan datos). Alternativamente, podría argumentar que no importa demasiado, porque la proporción de datos faltantes es pequeña y, bajo MNAR, tendrían que suceder situaciones muy extremas para que se anulen sus resultados (consulte "análisis del punto de inflexión").
fuente
Esto suena bastante factible desde el punto de vista de la clasificación.
Desea clasificar los datos perdidos frente a los que no faltan utilizando todas las demás características. Si obtiene resultados significativamente mejores que los resultados aleatorios, sus datos no faltan al azar.
fuente
Desea saber si existe alguna correlación entre un valor perdido en la función y el valor de cualquier otra función.
Para cada una de las características, cree una nueva característica que indique si falta el valor o no (llamémoslas característica "is_missing"). Calcule su medida de correlación favorita (sugiero usar aquí información mutua) de las características is_missing y el resto de las características.
Tenga en cuenta que si no encuentra ninguna correlación entre dos características, aún es posible tener una correlación debido al grupo de características (falta un valor en función de XOR de otras diez características).
Si tiene un gran conjunto de características y una gran cantidad de valores, obtendrá correlaciones falsas debido a la aleatoriedad. Aparte de las formas habituales de hacer frente a eso (conjunto de validación, umbral suficientemente alto) Puede verificar si las correlaciones son simétricas y transitivas. Si lo son, es probable que sean ciertas y debe verificarlas más a fondo.
fuente
Un método que uso es una matriz de sombra, en la que el conjunto de datos consiste en variables indicadoras donde se da un 1 si hay un valor y 0 si no lo está. Correlacionarlos entre sí y los datos originales pueden ayudar a determinar si las variables tienden a faltar juntas (MAR) o no (MCAR). Usando
R
para un ejemplo (tomado del libro "R en acción" de Robert Kabacoff):fuente