Anomalías, cantidad de información e "isolation forests"

Identificar a un tipo raro es sencillo: el que lleva tatuada a su madre en la frente. Identificar a un tipo normal es más complicado: altura… normal, pelo… ¿moreno? Es… como… normal, ni gordo ni flaco… Identificar transacciones de tarjeta normales es prolijo: gasta más o menos como todos en supermercados, un poco más que la media en restaurantes, no tiene transacciones de gasolineras… Identificar transacciones fraudulentas es (o puede ser) sencillo: gasta miles de euros en las farmacias de los aeropuertos y nada en otros sitios. ...

27 de octubre de 2020 · Carlos J. Gil Bellosta

Explicación de modelos como procedimiento para aportar valor a un "scoring"

El principal asunto preambular en todo lo que tiene que ver con la explicación de modelos es ético (ético en la versión ñoña de la palabra, hay que dejar claro). Pero tiene sentido utilizar técnicas de explicación de modelos para aportarles valor añadido. En particular, un modelo puede proporcionar un determinado scoring, pero se le puede pedir más: se le puede pedir una descripción de los motivos que justifican ese scoring, particularísimanete, en los casos más interesantes: los valores más altos / bajos. ...

9 de octubre de 2020 · Carlos J. Gil Bellosta

Sobremuestreando x (y no y)

Construyo unos datos (artificiales, para conocer la verdad): n <- 10000 x1 <- rnorm(n) x2 <- rnorm(n) probs <- -2 + x1 + x2 probs <- 1 / (1 + exp(-probs)) y <- sapply(probs, function(p) rbinom(1, 1, p)) dat <- data.frame(y = y, x1 = x1, x2 = x2) Construyo un modelo de clasificación (logístico, que hoy no hace falta inventar, aunque podría ser cualquier otro): summary(glm(y ~ x1 + x2, data = dat, family = binomial)) #Call: #glm(formula = y ~ x1 + x2, family = binomial, data = dat) # #Deviance Residuals: # Min 1Q Median 3Q Max #-2.2547 -0.5967 -0.3632 -0.1753 3.3528 # #Coefficients: # Estimate Std. Error z value Pr(>|z|) #(Intercept) -2.05753 0.03812 -53.97 <2e-16 *** #x1 1.01918 0.03386 30.10 <2e-16 *** #x2 1.00629 0.03405 29.55 <2e-16 *** #--- #Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 # #(Dispersion parameter for binomial family taken to be 1) # # Null deviance: 9485.2 on 9999 degrees of freedom #Residual deviance: 7373.4 on 9997 degrees of freedom #AIC: 7379.4 # #Number of Fisher Scoring iterations: 5 Correcto. ...

29 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 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

"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.] ...

25 de mayo de 2020 · Carlos J. Gil Bellosta

La gramática del análisis explicativo interactivo de modelos

Así vendría a traducirse el título de este artículo, que trata de taxonomizar y sistematizar una serie de técnicas muy recientes para explicar modelos de caja negra. Tal vez no acabe siendo la manera pero, sin duda, acabará habiendo una.

14 de mayo de 2020 · Carlos J. Gil Bellosta

Interacciones y selección de modelos

Desafortunadamente, el concepto de interacción, muy habitual en modelización estadística, no ha penetrado la literatura del llamado ML. Esencialmente, el concepto de interacción recoge el hecho de que un fenómeno puede tener un efecto distinto en subpoblaciones distintas que se identifican por un nivel en una variable categórica. El modelo lineal clásico, $$ y \sim x_1 + x_2 + \dots$$ no tiene en cuenta las interacciones (aunque extensiones suyas, sí, por supuesto). ...

16 de marzo de 2020 · Carlos J. Gil Bellosta

Sobre la normalización de las direcciones postales

Lo de las direcciones postales es un caos. Trabajar con ellas, una tortura. Y cualquier proyecto de ciencia de datos que las emplee se convierte en la n-ésima reinvención de la rueda: normalización y tal. Cuando todo debería ser más sencillo. Cada portal en España tiene asociado un número de policía, un identificador numérico único. Independientemente de que quienes lo habiten se refieran a él de formas variopintas, vernaculares y, en definitiva, desnormalizadas y desestandarizadas hasta pedir basta. ...

10 de febrero de 2020 · Carlos J. Gil Bellosta