Ciencia De Datos

Medidas de similitud entre distribuciones

Por motivos que quedarán claros en entradas futuras, he estado investigando sobre medidas de proximidad entre distribuciones de probabilidad. En mi caso concreto, además, multidimensionales (y de dimensión alta, en $R^N$, con $N$ del orden de docenas o centenas).

Supongamos que tenemos dos variables aleatorias $X, Y \in R^N$ y queremos ver estudiar en qué medida son próximas sus distribuciones. Idealmente, además, utilizando un método que pueda utilizarse a través de muestras de dichas variables.

Sobre la hipótesis de la variedad

Dice (y traduzco) François Chollet en su libro sobre aprendizaje profundo:

[…] la hipótesis de la variedad [manifold hypothesis] consiste en que todos los datos naturales están situados sobre una variedad de dimensión baja dentro del espacio de alta dimensionalidad en el que están cosificados. Es una hipótesis muy fuerte sobre la estructura de la información en el universo. Pero, por lo que sabemos hasta la fecha, no solo se cumple sino que es el motivo por el que el aprendizaje profundo funciona.

Matrices de confusión, sensibilidad, especificidad, curva ROC, AUC y todas esas cosas

Esta entrada es una breve introducción a los conceptos indicados en el título. Está motivada por una pregunta que se formuló en Twitter acerca de la existencia o no de lo que voy a escribir en español y a que ninguna de las respuestas aportadas me satisfizo.

Todos esos conceptos hacen referencia al estudio de la bondad de un modelo de clasificación (es decir, un modelo que trata de predecir una etiqueta (o una variable categórica, si se quiere) a partir de ciertos datos). Comenzaré por una descripción exenta de esos conceptos y terminaré con una discusión desde la perspectiva de su aplicación práctica que, espero, sirva para ponerlos en su lugar.

Un matemático visita los modelos de difusión (generativos)

Los modelos generativos —aunque aquí generativo se use en un sentido distinto del habitual en estas páginas— están de moda (véase esto o esto). Estas aplicaciones están basadas en una serie de técnicas que el siguiente diagrama (extraído de aquí) resume estupendamente:

La más reciente de todas estas técnicas y la que subyace a las últimas y más sorprendentes aplicaciones es la de los llamados modelos de difusión. Les he estado echando un vistazo y esta entrada resume lo que he aprendido de ellos.

"Generalized random forests": una introducción

Los generalized random forests (GRF en lo sucesivo) han cobrado cierta relevancia recientemente porque una de sus potenciales variantes son los llamados causal forests: RRFF adaptados para medir el tamaño de una intervención causal.

Lo que voy a contar aquí es un resumen de lo que aprendí echándole un vistazo al artículo relevante de la cosa.

[Nota: voy a simplificar un poco con respecto a lo que aparecen en el artículo por aligerar la introducción; recuérdese: este es un mapa del territorio y el territorio en sí mismo.]

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.)

Mi apuesta para el larguísimo plazo: Julia

  • Larguísimo, arriba, significa algo así como 10 o 20 años. Vamos, como cuando comencé con R allá por el 2001.
  • R es, reconozcámoslo, un carajal. Pocas cosas mejores que esta para convencerse.
  • No dejo de pensar en aquello que me dijo un profesor en 2001: que R no podría desplazar a SAS porque no tenía soporte modelos mixtos. Yo no sabía qué eran los modelos mixtos en esa época pero, desde entonces, vine a entender y considerar que “tener soporte para modelos mixtos” venía a ser como aquello que convertía a un lenguaje para el análisis de datos en una alternativa viable y seria a lo existente. Y mirad esto.
  • Obviamente, lo de los modelos mixtos no es más que una metáfora. Realmente significa algo así como “el sistema X tiene muchas cosas y su alternativa, Y, es un mero juguete”. Pero no hay nada que impida que Y comience a implementar todo aquello que le falta. Además, mucho más rápida y eficientemente. P.e., ¿cuánto tardó R en dotarse de su gramática de los gráficos? Pues bien, Juilia ya los tiene. (¿Cómo se dice leapfrog en español?)
  • Dicho de otra manera, R ha sido el estado del arte en computación estadística en los últimos años. Ha avanzado por prueba y error. Pero ahora, cualquier rival ya sabe qué tiene que hacer exactamente para llegar a donde está R.
  • Julia corre sobre LLVM. Es decir, que se beneficia automáticamente de cualquier mejora realizada sobre la máquina virtual (si es que se me permite llamar así a LLVM).
  • Esta semana he estado programando en C unas rutinas que tienen que ser llamadas desde R. Pero, ¿no sería el mundo más hermoso no tener que cambiar de lenguaje para tener rendimiento de C?
  • Arriba comparo R y Julia como extremos de un arco (en el que a la izquierda de R quedan aún irrelevancias como SAS o SPSS). Python ocupa una posición intermedia entre ambos. Desde un punto de vista meramente técnico, si alguna dimensión es Python mejor que R, Julia es todavía mejor que Python. Salvo, de nuevo, la cantidad de flecos y cascabeles de los que ya dispone Python y que todavía no están presentes en Julia. Pero, como se ha dicho arriba, desde la perspectiva del larguísimo plazo, es una objeción irrelevante que apunta a un estado transitorio de las cosas.

Y supongo que podría seguir.

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.

¿Qué modelas cuando modelas?

Ahora que estoy trabajando en el capítulo dedicado a la modelización (clásica, frecuentista) de mi libro, me veo obligado no ya a resolver sino encontrar una vía razonable entre las tres —¿hay más?— posibles respuestas a esa pregunta.

La primera es yo modelo un proceso (o fenómeno), los datos llegan luego. Yo pienso que una variable de interés $latex Y$ depende de $latex X_i$ a través de una relación del tipo

Máxima verosimilitud vs decisiones

En Some Class-Participation Demonstrations for Introductory Probability and Statistics tienen los autores un ejemplo muy ilustrativo sobre lo lo relativo (en oposición a fundamental) del papel de la máxima verosimilitud (y de la estadística puntual, en sentido lato) cuando la estadística deja de ser un fin en sí mismo y se inserta en un proceso más amplio que implica la toma de decisiones óptimas.

Se trata de un ejemplo pensado para ser desarrollado en una clase. Consiste en un juego en el que el profesor muestra a los alumnos un bote con monedas y les propone que traten de acertar su número exacto. En tal caso, los alumnos se la quedan y pueden repartirse el contenido.

Sobre la "Carta de Derechos Digitales"

No cualquier ministerio sino precisamente el de economía (lo subrayo: es muy relevante para lo que sigue) ha colgado de su portal una (propuesta de) Carta de Derechos Digitales para su pública consulta.

Se trata de un documento confuso, en el que se mezclan propuestas que afectan a ámbitos muy heterogéneos, desde el transhumanismo,

[L]a ley regulará aquellos supuestos y condiciones de empleo de las neurotecnologías que, más allá de su aplicación terapéutica, pretendan el aumento cognitivo o la estimulación o potenciación de las capacidades de las personas.