7/18/2017

Guía sensata para limpiar datos


¿A ver cómo solucionamos esto? 
La confianza en nuestro trabajo en analítica y datos depende en gran medida de la calidad de los datos con los que trabajamos. Y tenemos que admitir que los datos nos llegan siempre cargados de errores. 
Una de nuestra frases favoritas en analítica es la de "garbabe in, garbage out" («si metes basura, sacas basura»). Se aplica exactamente igual de bien en People Analytics. 
Pero quizás haya alguna oportunidad de reciclar esa basura que nos entra.
Limpiar, ordenar y agregar datos de fuentes diferentes, unido a los procesos de “compliance” (conformidad con las normas) puede ser trabajo de meses. Aún peor si trabajas con multinacionales, donde, sí o sí, te encuentras con sistemas diferentes de codificación para los mismos tipos de datos.
Os están mintiendo, cuando os dicen que en analítica tres cuartas partes del tiempo lo pasamos limpiando o preparando datos. Porque se quedan cortos. 
Lo perfecto es enemigo de lo bueno
Siempre surgen problemas con los datos: faltan datos, los errores abundan, encontramos valores duplicados y muchos más que vamos a repasar e intentar ir resolviendo lo mejor que podemos. 
Antes esta situación, la pregunta que nos hacemos es: 
¿cómo saber si la calidad de los datos es lo suficientemente buena para el proyecto que está llevando a cabo?
Vayamos a por un par de citas de Voltaire, la referencia filosófica de la tolerancia (Traité sur la tolérance) y el optimismo bobalicón (Candide, ou l'Optimisme). Estas citas están tomadas de su Dictionnaire philosophique.
“Le mieux est l'ennemi du bien"  ----------------------------------- Lo perfecto es enemigo de lo bueno
Esta primera es muy frecuente en español, aunque preferimos la variante: "Lo mejor es enemigo de lo bueno"
La síntesis que podría resolver este enfrentamiento dialéctico entre lo perfecto y lo bueno podría estar en otra cita del Dictionnaire philosophique
"La discorde est le plus grand mal du genre humain, et la tolérance en est le seul remède" ------------------------------------- El desacuerdo es el más grave mal del género humano, y la tolerancia es su único remedio

Preguntando al propietario de los datos

Nos preguntábamos un poco más arriba sobre ¿cómo saber si la calidad de los datos es lo suficientemente buena para el proyecto que está llevando a cabo? 
Probablemente no nos toca a nosotros responder. Los propietarios de los datos pueden estar en mejor posición para saber cuándo la calidad de los datos es suficiente para producir resultados útiles. Si encontramos, como veremos abajo, registros sobre sueldos con valores negativos (fulanito cobra -2523,35 € bruto) ó 0,00 €, la persona que se ocupa de nóminas podrá aclararnos si son errores o tiene una explicación.
En un mundo necesariamente imperfecto, vamos a buscar soluciones parciales para resolver los desafíos a los que nos enfrentamos en el área de calidad de datos. 
Eso llegará un poco más abajo. 
Antes, una digresión de cine. Ya sabéis lo que suelo decir para justificar estos desvaríos: si estas cosas mías os rayan, saltad hacia el siguiente título de sección (desafíos y soluciones) y arreglado. La interrupción de hoy, además, debería estar más justificada que nunca en esta sección que predica la tolerancia y el pragmatismo. Hay sitio para todos.

¿La mejor comedia de Billy Wilder?


Esto de la actitud pragmática y tolerante respecto a la perfección me recuerda a la escena final de Some Like It Hot (Una Eva y dos Adanes y Algunos prefieren quemarse en Hispanoamérica, Con faldas y a lo loco en España), una película de Billy Wilder y protagonizada por Marilyn Monroe, Tony Curtis y Jack Lemmon. 
Para muchos, es la mejor comedia de Wilder. Personalmente, estoy de acuerdo, siempre y cuando consideremos a El Apartamento, mi película favorita de todos los tiempos, como comedia romántica y no como comedia a secas.
Ambientado en 1929, el argumento gira en torno a dos músicos (Jack Lemmond y Tony Curtis) que fueron testigos de la masacre de San Valentín y se disfrazan de mujer con el fin de escapar de la mafia. Se pasan la película entera como en el título "Con faldas y a lo loco".
Some like it hot se estrnó en 1959 y tuvo sus problemillas con la censura. Los censores en Kansas decidieron que la película contenía material "considerado demasiado perturbador" para la gente del estado. No se opusieron al “travestismo”, pero querían cortar 30 metros de película correspondientes a una escena de amor a bordo del yate entre Curtis y Monroe. 
En la ciudad de Memphis sólo pudo estrenarse añadiendo la advertencia "No recomendable para los niños." y el obispo McNulty, presidente del Comité Episcopal de Cinematografía, Radio y Televisión protestó contra la película y afirmó que violaba el Código Hays, que describía lo que era considerado moralmente aceptable en la época. El código Hays se aplicó entr 1934 y 1967. 
En la escena final de la película, la que más nos interesa aquí, Dafne (Jack Lemmond), vestido de mujer recibe la proposición de matrimonio de Osgood (Joe E. Brown), un rico heredero bastante casquivano. Cuando lleguéis a la guía sensata que os propongo en el apartado siguiente, entenderéis el parecido entre este diálogo y las problemas y soluciones que proponemos.
Joe E. Brown: “Hablé con mamá. Se puso tan contenta que hasta lloró. Quiere que lleves su vestido de novia. Es de encaje”.
Jack Lemmon: “Eh, Osgood, no puedo casarme con el vestido de tu mamá. Ella y yo …no tenemos el mismo tipo”.
Joe E. Brown: “Podemos arreglarlo”.
Jack Lemmon: “Oh, no hace falta. Osgood, he de ser sincera contigo. Tú y yo no podemos casarnos”.
Joe E. Brown: “¿Por qué no?.
Jack Lemmon: “Pues primero porque no soy rubia natural”.
Joe E. Brown: “No me importa”.
Jack Lemmon: “Y fumo. ¡Fumo muchísimo!”.
Joe E. Brown: “Me es igual”.
Jack Lemmon: “¡Tengo un horrible pasado!. Desde hace tres años estoy viviendo con un saxofonista”.
Joe E .Brown: “Te lo perdono”.
Jack Lemmon: “Nunca podré tener hijos”.
Joe E. Brown: “Los adoptaremos”.
Jack Lemmon: “No me comprendes, Osgood. (Se quita la peluca). Soy un hombre”.
Joe E. Brown: “Bueno, nadie es perfecto“.
Os transcribo, al final de todo, el texto original en inglés, porque a continuación viene el video en YouTube sin subtítulos.

Desafíos y soluciones

Para cada problema de calidad de datos hay una o más soluciones imperfectas a las que podemos recurrir para resolver lo mejor posible nuestro problema y conseguir resultados que nos acerquen a una solución en la que podamos confiar.

Desafío 1. Valores atípicos (outliers)


Son valores que son anormalmente más altos o más bajos que la mayoría de los otros valores en una muestra de datos. La identificación de valores atípicos en los datos es importante porque algunos valores extremos pueden alterar los resultados considerablemente. A veces los valores atípicos son valores legítimos; Otras veces, son el resultado de un error. De cualquier manera, pueden conducir a conclusiones engañosas. Uno de los métodos más utilizado para detectar outliers es el test de Tukey
Soluciones cuando hay valores atípicos
  • a. Lo primero de todo es saber si se trata de errores o simplemente de valores extremos. ¿Es un error un registro sueldo negativo? ¿Y un sueldo de “cero”? Es muy probable que tendremos que hablar con los propietarios de los datos para aclararlo. 
  • b. Los mantenemos. En muestras grandes, deberíamos evitar eliminar estos valores atípicos, cuando no son errores. Deberíamos utilizar un algoritmo que sea robusto para los valores atípicos y modele bien con este tipo de valores. 
  • c. Una opción es simplemente eliminar los casos con valores atípicos. Es necesario comprender las consecuencias de lo que hacemos. Los dos enfoques comunes para excluir los valores atípicos son el recorte (trimming), que los descarta y técnica de Winsorising, que reemplaza los outliers con los datos no-sospechosos más cercanos. 
Desafío 2: No hay datos

A veces, ningún sistema o base de datos tiene los datos que necesitamos para el análisis de abandono. 
Sucede que estamos analizando las causas del abandono. Tenemos variables diferentes para analizar, pero consideramos que las promociones (es decir, cuándo y con qué frecuencia la gente ha sido ascendida) podrían ser una variable importante. 
Lamentablemente, descubrimos que no hay datos sobre promociones. ¿Qué hacemos? 
Soluciones a la falta de datos
  • a. Una solución que vale siempre es comenzar a recoger esos datos a partir de ese momento. Aunque eso, obviamente, no solucionará el problema inmediato. 
  • b. Además podríamos buscar variables sustitutivas (“proxy variables”) que ya existen en los datos internos. Por ejemplo: una fuerte subidas de sueldo podría ser un buen indicador de una promoción. 
  • c. ¿Y si miramos en LinkedIn los cambios que encontramos en los perfiles?
Desafío 3: Faltan algunos datos

Este problema es muy común. Supongamos que estamos analizando los resultados de un e-NPS para evaluar la experiencia de los empleados. Lo normal es que no tengamos datos de muchos empleados. 
Soluciones cuando faltan algunos datos
  • a. Lo primero de todo es saber si la falta de datos es aleatoria o hay patrones en los registros que faltan. Si hay señales de que existen patrones, habrá que llevar adelante un análisis más profundo. Hemos hablado arriba de un e-NPS. Típicamente las personas más preocupadas por la privacidad de los datos tienen menos probabilidades de responder a ciertas preguntas en una encuesta porque no confían en lo que sucederá con sus datos. Deberíamos tenerlo en cuenta. Podría ser relevante para el análisis. 
  • b. Una opción es simplemente eliminar los casos con valores que faltan del análisis, aunque esto puede reducir la representatividad de la muestra (causando resultados sesgados) y el tamaño general de la muestra (lo cual es indeseable -en general, cuanto más datos mejor).
  • c. Alternativamente, los valores perdidos pueden ser "rellenados" estimándolos, usando técnicas de regresión para estimar los valores faltantes. Es un trabajo delicado que requiere un conocimiento y experiencia. 

Desafío 4. Datos desactualizados.


Por ejemplo. Un problema clásico en People Analytics: los sueldos no están actualizados. 
Soluciones cuando faltan algunos datos
  • a. Un análisis de sensibilidad puede ser útil para determinar si los valores actualizados cambiarán significativamente los hallazgos.
  • b. Si los ciclos de actualización de datos son frecuentes (o inminentes), la mejor opción puede ser esperar la próxima actualización
  • c. Otra opción es actualizar manualmente los valores, si es necesario. Es una intervención peligrosa. 
Desafío 5. ¿Tienen los datos una distribución normal?

Para muchas estadísticas inferenciales (variaciones, correlaciones, regresiones, etc), la variable independiente tiene que tener una distribución normal (media = mediana = modo) para poder hacer inferencias. Si la distribución no es normal, las pruebas estadísticas podrían producir resultados engañosos. Vamos a ver varios ejemplos en los capítulos posteriores donde hacemos este tipo de validaciones previas. 
 Soluciones cuando la distribución no es normal
  • a. Podemos transformar la variable. Normalizándola. 
  • b. Existen técnicas estadísticas alternativas para el análisis de datos que no tienen una distribución normal. Las pruebas no paramétricas también se denominan pruebas libres de distribución porque no asumen que sus datos siguen una distribución específica. Son como un universo paralelo al de los tests paramétricos. Así por ejemplo, un test-t de student de una muestra es una prueba que hacemos cuando la distribución es normal. Cuando no lo es, utilizamos la prueba de Wilkinson

Desafío 6. Duplicación de datos


Los datos duplicados son el pan nuestro de cada día. 
A menudo en RRHH, algunas personas tienen más de una posición en la empresa. Los sistemas a menudo crean registros separados para cada posición. Estas personas por lo tanto terminan teniendo múltiples registros en una base de datos. 
Soluciones para la duplicación de datos
  • a. Eliminarlos podría no ser recomendable. 
  • b. Reagruparlos parece mas recomendable para asegurarse de que la calidad del análisis no se ve comprometida. 
===========
Guión en inglés de la escena final de Some like it Hot:
Jerry: Oh no you don't! Osgood, I'm gonna level with you. We can't get married at all.Jerry: Oh no you don't! Osgood, I'm gonna level with you. We can't get married at all.
Osgood: Why not?
Jerry: Well, in the first place, I'm not a natural blonde.
Osgood: Doesn't matter.
Jerry: I smoke! I smoke all the time!
Osgood: I don't care.
Jerry: Well, I have a terrible past. For three years now, I've been living with a saxophone player.
Osgood: I forgive you.
Jerry: [tragically] I can never have children!
Osgood: We can adopt some.
Jerry: But you don't understand, Osgood! Ohh...
[Jerry finally gives up and pulls off his wig]
Jerry: [normal voice] I'm a man!
Osgood: [shrugs] Well, nobody's perfect!
[Jerry looks on with disbelief as Osgood continues smiling with indifference. Fade out]Jerry: Oh no you don't! Osgood, I'm gonna level with you. We can't get married at all.Jerry: Oh no you don't! Osgood, I'm gonna level with you. We can't get married at all.
Osgood: Why not?
Jerry: Well, in the first place, I'm not a natural blonde.
Osgood: Doesn't matter.
Jerry: I smoke! I smoke all the time!
Osgood: I don't care.
Jerry: Well, I have a terrible past. For three years now, I've been living with a saxophone player.
Osgood: I forgive you.
Jerry: [tragically] I can never have children!
Osgood: We can adopt some.
Jerry: But you don't understand, Osgood! Ohh...
[Jerry finally gives up and pulls off his wig]
Jerry: [normal voice] I'm a man!
Osgood: [shrugs] Well, nobody's perfect!
[Jerry looks on with disbelief as Osgood continues smiling with indifference. Fade out]