Consultoría

Cómo organizar un proyecto de análisis de datos: primeros pasos

Esta es una entrada básica orientada a quienes comienzan en el mundo del análisis de datos y se enfrentan a uno de sus primeros retos en solitario. Contiene consejos que no son de aplicación universal, dependen del contexto y están sometidos a revisión y adecuación a las circunstancias concretas. Cada maestrillo tiene su librillo y esta es una versión simplificada del mío.

Un proyecto vive un directorio

Un proyecto vive en un directorio. Proyecto nuevo, directorio nuevo. Con un nombre que lo identifique adecuadamente, etc. Importante: ¡sin espacios en el nombre! (Utilizar espacios en el nombre de directorios y ficheros es, aparte de enojoso en sí mismo, fuente de problemas; afortunadamente, es trivial evitarlos: nunca espacios en el nombre y ya.)

Las reglas generales son para lacayos; el contexto, para reyes

La frase

Las reglas generales son para lacayos; el contexto, para reyes.

apareció, dícese, en un episodio de Star Treck.

[Nótese su metainterpretación: ¡no deja de ser una regla general!]

Pero por los motivos que expongo a continuación resonó como pocas frases hacen: tiene mucho que ver con el día a día de todo lo que hago. El mundo sería tal vez más feliz —y mucho más aburrido— si funcionase así:

Hayek vs "Machín Lenin"

Contexto: Una empresa tiene una serie de técnicos repartidos por todas las provincias que tienen que hacer visitas y reparaciones in situ a una serie de clientes dispersos. La empresa cuenta con un departamento técnico central que asigna diariamente y, fundamentalmente, con herramientas ofimáticas las rutas a cada uno de los técnicos.

Alternativas tecnológicas:

  • Machín Lenin: Unos científicos de datos usan algoritmos de enrutamiento para crear una herramienta que ayuda (o reemplaza total o parcialmente) al equipo técnico de las hojas de cálculo para generar rutas óptimas que enviar diariamente a los técnicos. El sueño húmedo de los burócratas del Gosplán (y de los Kantorovich que en el mundo han sido).
  • Anarcocapitalismo: Unos informáticos crean una herramienta que permite a los técnicos seleccionar sus rutas diarias (sujetas a ciertas restricciones fácilmente adivinables), intercambiarlas entre sí, etc. Sí, como quien se apunta a las clases del gimnasio (¿funciona este símil en general?).

Ejercicio para el lector: Ponderar las ventajas y desventajas de cada aproximación al problema.

Nuevo vídeo en YouTube: analizo un proyecto de fugas de clientes en Paypal

Acabo de subir a Youtube mi último vídeo:

En él analizo este hilo de Twitter en el que su autor describe un proyecto muy particular —heterodoxo— de ciencia de datos cuyo objetivo consiste identificar y prevenir la fuga de clientes. El hilo ha circulado todo lo viralmente que permite el tema y me ha parecido interesante sacarle un poco de punta.

Distancias (V): el colofón irónico-especulativo

Remato la serie sobre distancias con una entrega especulativa. Según se la mire, o bien nunca se ha hecho esa cosa o bien nunca ha dejado de hacerse.

El problema es que ninguna de las propuestas desgranadas por ahí, incluidas las de mis serie, responde eficazmente la gran pregunta:

¿Son más próximos un individuo y una individua de 33 años o una individua de 33 y otra de 45?

La respuesta es contextual, por supuesto, y en muchos de esos contextos habría que tener en cuenta las interacciones entre variables, que es a lo que apunta la pregunta anterior.

Distancias (IV): la solución rápida y sucia

Prometí (d)escribir una solución rápida y sucia para la construcción de distancias cuando fallan las prêt à porter (euclídeas, Gower, etc.).

Está basada en la muy socorrida y casi siempre falsa hipótesis de independencia entre las distintas variables $latex x_1, \dots, x_n$ y tiene la forma

$$ d(x_a, x_b) = \sum_i \alpha_i d_i(x_{ia}, x_{ib})$$

donde los valores $latex \alpha_i$ son unos pesos que me invento (¡eh!, Euclides también se inventó que $latex \alpha_i = 1$ y nadie le frunció el ceño tanto como a mí tú ahora) tratando de que ponderen la importancia relativa que tiene la variable $latex i$ en el fenómeno que me interesa.

Distancias (III): la gran pregunta

Dejemos atrás los puntos en el plano. Olvidemos al Sr. Gower. La gran pregunta a la que uno se enfrenta al construir una distancia es en términos de qué se espera proximidad entre sujetos. Y eso genera una cadena de subpreguntas del tipo:

¿Son más próximos un individuo y una individua de 33 años o una individua de 33 y otra de 45?

Las dos entradas restantes de la serie (una sucia, rápida y práctica; la otra más especulativa) van sobre opciones disponibles para atacar (nótese que digo atacar y no resolver) el problema.

Distancias (I): el planteamiento del problema

Me han pedido (vía Twitter) que desarrolle cosas que tengo por ahí desperdigadas (p.e., en las notas de esos cursos que ya no daré y puede que en algunas entradas viejunas de este blog) sobre distancias.

¿Por qué son importantes las distancias? Por un principio que no suele ser explicitado tanto como merece en ciencia de datos: si quieres saber algo sobre un sujeto, busca unos cuantos parecidos y razona sobre ellos.

"The great reset"

La ciencia de datos es la ciencia de la extrapolación. Todas las técnicas que la componen tratan de eso: de como proyectar hacia el futuro el comportamiento pasado. Si funciona, es por las inercias que operan en lo físico, en lo sicológico, en lo conductual.

[La ciencia de datos puede (no necesariamente, pero puede) ser una extrapolación objetiva: de ahí que quienes denuncian su presunta amoralidad solo nos están haciendo saber una opinión: que el pasado no encaja con su personalísimo criterio ético.]

Lo que queda cuando has eliminado tantas cosas que ya no se entiende nada se llama "paper"

Para un observador externo objetivo, eso que llaman ciencia es un conjunto de tinglados absolutamente intrascendente en para su día a día que opera de acuerdo con un sistema torcido de incentivos orquestados alrededor de una suerte de moneda ficticia que se llama paper que permite acumular avatares de todo tipo.

Esa economía ficticia mantiene nexos con la real. Por ejemplo, una acumulación suficiente de papers genera un avatar llamado sexenio que genera euros contantes y sonantes mes a mes en la cuenta corriente de quien lo ostenta. En ocasiones, también, los partícipes de ese enorme Monopoly pagan euros contantes y sonantes a terceros a condición de que estos elaboren papers (o partes significativas de ellos) para poder así firmarlos y canjearlos en el mercado de los avatares.

CausalImpact me ha complacido mucho

Estoy aquí analizando datos para un cliente interesado en estudiar si como consecuencia de uno de esos impuestos modennos con los que las administraciones nos quieren hacer más sanos y robustos. En concreto, le he echado un vistazo a si el impuesto ha encarecido el precio de los productos gravados (sí) y si ha disminuido su demanda (no) usando CausalImpact y me ha complacido mucho que la salida de summary(model, "report") sea, literalmente, esta:

Fases divergentes y convergentes del análisis de datos

Aquí se propone un método para el análisis de datos que resume

Consta de dos procesos divergentes,

  • la exploración de los datos y
  • la modelización

y dos convergentes,

  • la síntesis y
  • la narración, que concluye el análisis.

En el enlace anterior se describe el proceso con más detalle. Eso sí, mis comentarios. El primero es que cada vez veo menos diferencia entre explorar y modelar. No entiendo ninguna exploración que no esté motivada por un modelo implícito; p.e., representar las medias por grupo no es otra cosa que una ANOVA para pobres. Crear árboles de decisión sobre los datos brutos es muy indicativo de por dónde van los tiros en los datos, qué variables son más importantes, cuáles son irrelevantes, etc. Obviamente, el modelo final no va a ser ninguno de estos protomodelos, pero sí que contienen su germen.

Clasificación vs predicción

Aquí se recomienda, con muy buen criterio, no realizar clasificación pura, i.e., asignando etiquetas 0-1 (en casos binarios), sino proporcionar en la medida de lo posible probabilidades. Y llegado el caso, distribuciones de probabilidades, claro.

La clave es, por supuesto:

The classification rule must be reformulated if costs/utilities or sampling criteria change.