¿Cuándo falla lasso?

Una de las consecuencias funestas —tal vez inesperadas e imprevistas— de la actual arquitectura del mundo en que vivimos es que hay mucha gente (e instituciones, y libros, y artículos, y…) empeñada en enseñarte las cosas buenas y provechosas y muy especialmente en sus facetas que lo son más mientras que para aprender las malas dependes de la calle, la suerte y las pésimas compañías. Así, te enseñan lasso y todo son parabienes. ...

23 de junio de 2020 · Carlos J. Gil Bellosta

Escalabilidad (y estructuras cooperativas)

Esta entrada es una breve nota (en parte, para mí) sobre On the Scalability of Cooperative Structures, un artículo sobre lo que el título indica (sí, que existen estructuras cooperativas como, p.e., las cooperativas o determinados sistemas políticos defendidos desde ciertas posiciones ideológicas, que tienen muy serios problemas de escalabilidad) y que a pesar de su interés no cabría en estas páginas si no fuese por este parrafito: What I would like to do, instead, is introduce a concept to the discussion that I believe has the potential to elucidate several aspects in an extremely helpful way. The concept is that of “scalability.” It is drawn from the computer science literature, and it refers rather generally to the capacity of a system to take on increased workload by integrating additional resources (i.e. to “scale up”) without suffering degradation of performance. ...

22 de junio de 2020 · Carlos J. Gil Bellosta

RuleFit

El otro día me sentí culpable porque me preguntaron sobre RuleFit y tuve que hacer un Simón (aka, me lo estudio para mañana). Y como mañana fue antier, lo que sigue. Hay descripciones estándar de RuleFit (p.e., esta o la del artículo original) pero me voy a atrever con una original de mi propio cuño. Comenzamos con lasso. Lasso está bien, pero tiene una limitación sustancial: se le escapan las iteracciones (vale, admito que lo anterior no es universalmente exacto, pero lo es casi y eso me vale). Entonces, la pregunta es: ¿cómo introducir interacciones en lasso? ...

19 de junio de 2020 · Carlos J. Gil Bellosta

Bagging y boosting, hermanados

Ambas son heurísticas para construir modelos buenos a partir de la combinación de modelos malos. Con la diferencia —¿recordáis los condensadores de la física de bachillerato?— de que en un caso se colocan en paralelo y en el otro, en serie. Entran Friedman y Popescu (algoritmo 1): Y, tachán: Bagging, si $\nu = 0$ Boosting otherwise.

18 de junio de 2020 · Carlos J. Gil Bellosta

Un mecanismo para fomentar la provisión privada de bienes públicos

Tienes un proyecto que cuesta 1000 euros pero solo dispones de 100. Puede ser el típico proyecto de Patreon o Verkami; o ya puestos, proyectos como el de NadaEsGratis. O, ya puestos, un curso de ciencia de datos (cuya realización es contingente en que se alcance un volumen de alumnos mínimo). Podrías, simplemente pedir 900 euros a voluntarios (como en los enlaces de más arriba). Pero podrías hacer algo mejor: ofrecer un contrato condicional en el que a los potenciales patrones: ...

17 de junio de 2020 · Carlos J. Gil Bellosta

Coronavirus: prevalencia, sensibilidad y especificidad

El otro día, por motivos que no vienen al caso, dibujé que es una gráfica que muestra la posibilidad de tener aquello que quiera Dios que midan los tests del estudio ENECOVID-19 para aquellos a los que el test correspondiente ha dado positivo habida cuenta de su sensibilidad (85%) y especificidad (98%, que uso en lugar del menos creíble 99% que usa el estudio). Efectivamente, cuando la prevalencia es baja, casi todos los tests positivos son falsos: corresponden a ese 2% de error que tiene el test sobre la población sana.

16 de junio de 2020 · Carlos J. Gil Bellosta

Cuidado con la aleatoriedad "pochola"

Abundo sobre mi entrada del otro día. Usando números aleatorios hirsutos, n <- 200 x <- runif(n) plot(cumsum(x - .5), type = "l") produce mientras que library(randtoolbox) s <- sobol(n, 1, scrambling = 3) plot(cumsum(s - .5), type = "l") genera que tiene un cariz totalmente distinto.

15 de junio de 2020 · Carlos J. Gil Bellosta

Explicación de modelos

Este es el primer año en el que en mi curso de ciencia de datos (hasta ahora en el EAE; a partir del año que viene, vaya uno a saber si y dónde) introduzco una sección sobre explicación de modelos. Hay quienes sostienen que, mejor que crear un modelo de caja negra y tratar luego de explicar las predicciones, es recomendable comenzar con un modelo directamente explicable (p.e., un GLM). Por mucha razón que traigan, vox clamantis in deserto: hay y seguirá habiendo modelos de caja negra por doquier. ...

12 de junio de 2020 · Carlos J. Gil Bellosta

Un marco conceptual para repensar los presuntos sesgos del AI, ML, etc.

He escrito en alguna ocasión sobre el tema: véanse (algunas de) las entradas con etiquetas sesgo, discriminación o justicia. Recientemente he releído un artículo de Joseph Heath, Redefining racism (adivinad por qué) que mutatis mutandis, ofrece un marco conceptual muy adecuado para repensar el asunto (pista: todo lo que se refiere al llamado racismo institucional). Nota: si este fuese un blog al uso y yo tuviese más tiempo del que dispongo, resumiría ese artículo induciéndoos a privaros del placer de leer el original y luego desarrollaría el paralelismo ofendiendo a la inteligencia de los lectores que más me importan. Me abstengo.

11 de junio de 2020 · Carlos J. Gil Bellosta

Sobre "Predicción, estimación y atribución"

Subrayo hoy aquí tres cuestiones que considero importantes del reciente artículo Prediction, Estimation, and Attribution de B. Efron (para otra visión, véase esto). La primera es que existe una cadena de valor en la modelización estadística que va del producto más ordinario, la predicción, a la estimación y de este, al más deseable, la atribución. En la terminología de Efron, estimación consiste en la determinación de los parámetros subyacentes (e importantes) del modelo; específicamente se refiere a la estimación puntual; atribución tiene que ver con intervalos de confianza, p-valores, etc. de esos parámetros. La segunda es que la predicción es un problema fácil, mientras que la estimación (y la atribución) son mucho más complicados. Lo ilustra con un ejemplo sencillo: comparando la eficiencia de dos modelos, uno el óptimo y otro ligeramente inferior para: ...

10 de junio de 2020 · Carlos J. Gil Bellosta