comments 2

4 razones para no ignorar los valores perdidos

The best thing to do about missing data is not to have any.
Gertrude Mary Cox.

Con más frecuencia de la que quisiéramos, los métodos estadísticos se enseñan suponiendo que se parte de un conjunto de datos completo, donde para todas las filas y columnas existe un dato, una observación. Así la presentación queda más sencilla, y el método más claro. Tras ilustrar la técnica en cuestión, se hace una discusión de qué tipo de problemas surgen en la práctica, entre los cuales se toca el de los valores perdidos.

Los softwares estadísticos suelen proporcionar la opción de efectuar los análisis empleando sólo los registros que están completos (complete-case analysis); así, nos ponen en bandeja la opción de eliminar las filas con datos perdidos y seguir adelante. No obstante, nos preguntamos: ¿Es buena idea proceder así? ¿Qué motivos tenemos para no ignorar los valores perdidos?

1 Explorar el patrón de datos faltantes puede ayudarnos a comprender el mecanismo por el que ocurren, esto es, la razón por la que se originan en el fichero. Esto, por sí solo, puede ser ya un resultado interesante.

Pensemos en un cuestionario que recoja la edad, el sexo, el tipo de ocupación y el sueldo de una población de personas trabajadoras. Muchas personas no nos proporcionan el sueldo. Investigando un poco, descubrimos que un tipo concreto de personas (mayores, con estudios avanzados…) proporciona menos veces este dato que el resto.

Este tipo de análisis suele ser una tarea ardua, pero, si se articula en torno a cuestiones concretas (ver [1]), el estudio puede aportarnos mucho valor:

  • ¿Qué porcentaje de valores faltan para cada variable?
  • ¿Están concentrados en unas pocas variables o distribuidos?
  • ¿Se puede decir que ocurren al azar?
  • ¿Aparecen a la vez en varias variables, o siguiendo algún patrón concreto?
  • ¿Nos da eso una idea acerca del mecanismo que los ha producido?

2 Ignorar los valores perdidos implica un gran riesgo de introducir sesgos.

Si calculamos el sueldo medio sólo con los valores observados, podemos acabar con una estimación errónea. ¿Por qué? Porque puede que las personas con sueldos altos proporcionen menos veces este dato que las que tienen sueldos bajos. En este caso, la media basada en los datos disponibles sería más baja que la real.

En estos casos se dice que el mecanismo que produjo los valores perdidos no es ignorable. Concretamente, en el ejemplo anterior es un mecanismo de tipo NMAR, not missing at random – es decir, los valores perdidos no ocurren al azar, sino ligados al propio valor que se quiere estudiar. Es el peor caso que podría darse, ¿verdad?

3 Los valores perdidos se pueden imputar, o sustituir por valores razonables, con relativa facilidad. Ésta es una opción mucho mejor que la de ignorarlos simplemente.

Muchos valores se pueden deducir por reglas lógicas (por ejemplo: cuando me falta el sexo y el nombre es “Juan”), pero no me refiero a este tipo de casos. Me refiero a casos más complicados, donde hay una incertidumbre real acerca del dato.

La imputación es un tema que se ha estudiado extensamente y que ya se utiliza como un método de pre-preocesamiento básico. La idea es emplear modelos estadísticos que predigan los valores perdidos a partir de los datos observados.

La opción más recomendada es emplear la imputación múltiple, que básicamente consiste en repetir el proceso unas cuantas veces (normalmente, de 3 a 10 veces), obteniendo otros tantos ficheros completos (digamos que m ficheros, con m = un valor de 3 a 10). Como se introduce una componente aleatoria al imputar los valores, los m ficheros resultarán ligeramente diferentes. Esta variabilidad nos da una idea de la incertidumbre que hay en los mismos.

¿Y cómo se trabaja con m ficheros completos, si lo que necesito es sólo una estimación? Pues no hay problema: se calcula la media de los valores entre los m ficheros (a este proceso se le llama pool), y se le asocia una varianza que incorpora dos fuentes de variabilidad: (i) la propia de los datos observados y (ii) la debida a la incertidumbre porque parte de ellos son desconocidos.

En R, es altamente recomendable el paquete mice (que ya mencioné en mi post sobre las 10 razones para usar R, por su calidad en la documentación). Este paquete trabaja con la lógica que hemos descrito:

  • Primero, el fichero o data-frame con datos incompletos se procesa con la función mice(), que produce m ficheros completos del mismo tamaño que el inicial, empaquetados en un objeto específico.
  • Para hacer análisis tales como lm() -modelos lineales- o glm() -modelos lineales generalizados-, se aplica la función with() sobre el objeto antes creado, y esto produce m resultados. 
  • Finalmente, la función pool() combina los m resultados para obtener una única estimación.

4 Existen otras alternativas, basadas en el método de máxima verosimilitud, para hacer estimaciones incorporando los huecos del fichero, sin ignorarlos (en R, consultad el paquete mvnmle).

Como veis, el tema es mucho más relevante de lo que la escasa dedicación en los libros de texto da a entender. Es indispensable hacer una reflexión sobre los mecanismos que producen los valores perdidos, y hay saber que existen soluciones muy buenas y accesibles como la imputación múltiple.

Anexo

En R existen funciones que nos facilitarán la ardua labor exploratoria para conocer el mecanismo por el que se originan de los valores perdidos. En [1], capítulo 5º, os encontraréis con una explicación magnífica.

Es indispensable manejar is.na(), que devuelve un vector de valores TRUE o FALSE aplicado sobre un vector de valores o columna del data-frame. También es útil complete.cases(), que devuelve las filas del data-frame que tienen todas las columnas completas.

A la hora de estudiar el patrón de valores faltantes, es muy interesante la función md.pattern() del paquete VIM.

Referencias

[1] R in Action. Data analysis and graphics with R. Robert I. Kabacoff. Manning, 2011.
[2] Statistical analysis with missing data, 2nd edition. Roderick J.A. Little & Donald B. Rubin. Wiley series in probability and statistics, 2002.

Anuncios
Filed under: Uncategorized

About the Author

Escrito por

Nací en el año 1980 en Donostia, hija única de una familia entusiasta de las Letras. A pesar de ello a los dieciocho años tomé la rara decisión de estudiar Matemáticas. Obtuve la Licenciatura en 2003, y comencé mi andadura profesional en Tekniker, un centro tecnológico afincado en Eibar dedicado al mundo de la automoción. Desde el inicio me encontré analizando datos estadísticos que nunca se ajustaban a los ejemplos de los libros de texto. Tras un breve paso por la Universidad de Deusto, el destino me llevó a un Banco donde trabajé con modelos de riesgo de crédito (de esos que saben si uno va a pagar incluso antes de que se le ocurra pedir la hipoteca). Debido a la crisis salí catapultada de aquel puesto, circunstancia que aproveché para cuidar plenamente de mi hijo recién nacido, Miguel. A los pocos meses de nacer el segundo, Ion, corrí a incorporarme a un proyecto sobre enlace de encuestas en el Instituto Vasco de Estadística - Eustat. Ahora sigo trabajando con datos que no se ajustan a los libros de texto, pero ya casi no me importa, y soy más feliz pensando que a lo mejor se trata de hacer algo que no está escrito.

2 Comments

    • Hola Luis,

      Antes de nada gracias por tu comentario.

      Como en todo, la respuesta depende de cada caso en particular, pero yo creo que sí hay algo que se puede decir en general, y es que a los valores perdidos habría que dedicarles más tiempo del que usualmente se les dedica.

      Básicamente creo que hay que dar los pasos que indico: primero, hacer un análisis exploratorio detallado para diagnosticar en qué tipo de caso estamos (MCAR – missing completely at random, o valores perdidos distribuidos completamente al azar, que es el mejor caso; o, en el otro extremo, NMAR, que indico en el post, que es el peor). Segundo, intentar imputar los valores perdidos o hacer estimaciones mediante métodos de máxima verosimilitud adaptados para ello. Para ello, hoy día disponemos de herramientas más o menos al alcance de todos.

      Espero que esto te haya aclarado algo… Un saludo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s