Estadística

Sobre la (necesaria) validación a posteriori de modelos de caja negra

Esta entrada viene a cuento de una conversación que tuve el otro día con un economista clásico que me preguntaba mi opinión sobre los métodos del ML aplicados en su disciplina (y no solo en ella). Le causaba cierto desasosiego, muy razonable, el hecho de que le pusieran delante cajas negras que presuntamente, y eso era artículo de fe, predecían ciertos fenómenos macroeconómicos. ¿Qué —decía— si los modelos están recogiendo las correlaciones erróneas? (Y sí, el mundo del ML está plagado de casos de ese tipo; por ejemplo, léase la motivación de Intelligible Models for HealthCare: Predicting Pneumonia Risk and Hospital 30-day Readmission).

Ceteris paribus vs Heráclito

Nuestro producto aumenta el X de las empresas en un Y%.

¿Cuántas veces hemos oído eso?

Esa afirmación presupone una fe ciega en la posibilidad de aplicar el principio del ceteris paribus en situaciones reales. Pues lo siento: el ceteris paribus es un concepto irreal, una aspiración a la que la realidad de las cosas se opone tozudamente.

¿Y Heráclito? Heráclito nos observa desde donde esté y se fuma un puro.

Encuesta de Estructura Salarial y R: propedéutica

La nota de prensa que acompaña a los resultados definitivos de la EES de 2014 reza:

El salario bruto medio anual fue de 22.858,17 euros por trabajador en el año 2014, un 0,7% superior al del año anterior.

Para poder replicar esa cifra y poder comparar manzanas con manzanas hay que preprocesar los datos crudos de la EES así:

library(MicroDatosEs)
dat <- ees2010("md_EES_2014.txt")

# Días año
dat$DIASRELABA <- dat$DRELABAM * 30.42 +
    dat$DRELABAD
dat$DIASRELABA[dat$DIASRELABA > 365]<- 365
dat$DIASANO <- dat$DIASRELABA -
    dat$DSIESPA2 - dat$DSIESPA4

# Salario bruto anual
dat$SALANUAL = (365/dat$DIASANO) *
    (dat$SALBRUTO + dat$VESP)

Ahora sí que se puede definir, por ejemplo,

Lo que las diferencias de medias evocan

Si a uno le dicen que la diferencia de medias de determinado atributo entre sujetos de tipo A y sujetos de tipo B es 5, uno tiende a pensar (o, más bien, tengo esa sensación) que la diferencia de dicho atributo entre un representante al azar de A y uno al azar de B será alrededor de 5. Igual porque nos han educado mostrándonos imágenes no muy distintas de

Mezclas y regularización

Cuando mezclas agua y tierra obtienes barro, una sustancia que comparte propiedades de sus ingredientes. Eso lo tenía muy claro de pequeño. Lo que en esa época me sorprendió mucho es que el agua fuese una mezcla de oxígeno e hidrógeno: ¡era muy distinta de sus componentes!

Porque no era una mezcla, obviamente. Era una combinación. En una combinación emergen propiedades inesperadas. Las mezclas, sin embargo, son más previsibles.

Pensaba en esto mientras escribía sobre la regularización de modelos (ridge, lasso y todas esas cosas). La regularización puede interpretarse como una mezcla de dos modelos: el original y el nulo (con todos los coeficientes iguales a cero). El modelo original tiene poco sesgo y mucha varianza; el nulo, prácticamente nada de varianza y muchísimo sesgo. El regularizado queda a medio camino. El original tiene varios, tal vez muchos, grados de libertad mientras que el nulo, ninguno (¿o uno?); puede considerarse que el número de grados de libertad del regularizado queda a medio camino.

Quienes ignoran la estadística están condenados a reinventarla

Esa frase la he pronunciado en alguna ocasión y no sé si la habré escrito en este blog. La reescribo porque hace apenas unas horas he leído un artículo en el que un tipo ha redescubierto el partial pooling (quien lo ignore lea esto urgentemente). Claro, proponía unas cosas tan raras como ocurrentes que se reducían en la estrategia que he contado: tengo cierta intuición de una idea genial que no llego a aprehender enteramente y procedo a moverme dando tumbos y a golpe de ocurrencias en la difusa dirección en la que parece apuntar.

offset, porque el coeficiente es 1 necesariamente

Estos días me han preguntado sobre un modelo lineal tal que $latex y \sim x_1 + \dots$ donde el coeficiente de $latex x_1$ no se entiende si no es igual a 1. Es como si los datos se creasen de la forma

n <- 100
x1 <- rnorm(n)
x2 <- rnorm(n)
y <- x1 + rnorm(n, .1) + .02 * x2

y se conociese el coeficiente de $latex x_1$ y no el de $latex x_2$. Entonces no tiene sentido plantear el modelo

lm(y ~ x1 + x2)

sino más bien

Entre lo fofo y lo hierático,modelos loglineales

El contexto, por fijar ideas, el problema de taguear fechas en textos.

La estrategia gomosa, fofa (ñof, ñof, ñof), y en la que parecen parecer creer algunos, embeddings más TensorFlow.

La estrategia hierática, inflexible y reminiscente de robots de pelis de serie B, expresiones regulares encadenadas con ORs.

En la mitad donde mora la virtud, extracción de features (principalmente con expresiones regulares) y luego, esto.

Nota: esta entrada es un recordatorio para mí mismo y por si retorna cierto asunto que dejé postergado hace un par de días.

Modelos log-lineales y GLMs con regularización

Hace años tomé el curso de NLP de M. Collings en Coursera (¡muy recomendable!), uno de cuyos capítulos trataba de los llamados modelos loglineales. En esto, Collings sigue una nomenclatura un tanto personal porque la mayor parte de la gente se refiere con ese nombre a algo que no es exactamente lo mismo (y dentro del mundo de las tablas de contingencia).

El otro día, sin embargo, me pensé que los modelos loglineales à la Collings me serían muy útiles para un problema de clasificación en el que estamos trabajando. Y repasándolos… me di cuenta de que eran versiones de algo ya conocido: GLMs multinomiales con regularización. Sí, como estos.