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.

La simplicísima mas no por ello menos útil distribución de Dirac

Ayer alguien desconocía la distribución de probabilidad de Dirac. No sé ni si se llama así y no aparece en prácticamente ninguno de los manuales al uso.

Es una distribución de probabilidad aleatoria: concentra toda su masa en un punto determinado. Por ejemplo, en el nueve:

Y es útil por:

  • Ser límite de cosas.
  • Porque las distribuciones discretas (de la Bernoulli en adelante) son mezclas de variables aleatorias de Dirac.
  • Porque los modelos con inflación de ceros (o de aquello de lo que estén inflados) son mezclas con variables aleatorias de Dirac.

Charla (mía) el día de pi (de 2019) en Elche

Los detalles logísticos, en

Hablaré de lo de casi siempre: que pese a los cantos de sirena que se oyen en la profesión (predecir por encima de todo, xgbost es el único dios y caret su profeta, etc.) existen muchos problemas reales (de los que dan de comer) donde es necesario modelar la estructura subyacente de los datos con mucho mimo. Eso más la descripción detallada de un proyecto bastante sofisticado en el que ando metido.

Aviso para navegadores

Ayer estuvimos pensando de dónde se podían obtener ejemplos de búsquedas de usuarios (sí, lo que la gente escribe en, p.e., Google cuando busca algo). Y parece que hay empresas que venden ese tipo de datos.

Pregunta: ¿de dónde los sacan?

Alguien que conoce el negocio la respondió en Quora. Parece que existen tres fuentes. Una de ellas es la de los llamados click stream data. Parece que Jumpshot es una de las empresas que las recolectan. Sobre sí misma dice:

Pesos de los componentes del QualityScore en Google Ads

El llamado QualityScore tiene su relevancia en Google Ads. Es un indicador con valores entre 1 y 10 asignado por Google que se basa en tres variables que están descritas por ahí:

  • PostClickQualityScore
  • SearchPredictedCtr
  • CreativeQualityScore

Se trata de variables categóricas con tres niveles: en / por encima de / por debajo de la media.

Haciendo

modelo <- lm(QualityScore ~ PostClickQualityScore +
    SearchPredictedCtr + CreativeQualityScore,
    data = tmp)

summary(modelo)

se obtiene

Call:
lm(formula = QualityScore ~ PostClickQualityScore + SearchPredictedCtr +
    CreativeQualityScore, data = tmp)

Residuals:
        Min       1Q   Median       3Q      Max
-0.25003 -0.07395  0.00775  0.06344  0.86470

Coefficients:
                                    Estimate Std. Error t value Pr(>|t|)
(Intercept)                        1.079603   0.008688   124.3   <2e-16 ***
PostClickQualityScoreAVERAGE       2.114012   0.009037   233.9   <2e-16 ***
PostClickQualityScoreABOVE_AVERAGE 3.856228   0.008448   456.5   <2e-16 ***
SearchPredictedCtrAVERAGE          1.137396   0.003284   346.4   <2e-16 ***
SearchPredictedCtrABOVE_AVERAGE    3.055694   0.004707   649.2   <2e-16 ***
CreativeQualityScoreAVERAGE        0.999580   0.004274   233.9   <2e-16 ***
CreativeQualityScoreABOVE_AVERAGE  2.000725   0.003862   518.1   <2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.1574 on 11426 degrees of freedom
Multiple R-squared:  0.9915,	Adjusted R-squared:  0.9915
F-statistic: 2.212e+05 on 6 and 11426 DF,  p-value: < 2.2e-16

Que no merece mayor explicación. Creo.

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.

Sobre el agregador de noticias sobre R en español

Aprovecho que acabo de actualizar mi agregador de noticias sobre R en español para escribir este recordatorio.

La cosa es que hace ya un tiempo (¡lo anuncié en 2010!) creé una programita que rastrea una serie de blogs que publican cosas sobre R, extrae los corresondientes RSS, selecciona las entradas que tratan sobre R y:

  • Crea un RSS combinado que guarda aquí (para los que aún uséis RSS, claro).
  • Publica esas entradas en una cuenta específica de Twitter, @noticiasSobreR.

¿Para qué, pues, este recordatorio? Para dos cosas:

Homo politicus < IQ < homo economicus

Lo del homo economicus ya no está de moda. Ahora pega más fuerte lo del homo politicus (y otros homos caracterizados por actuar como quien no completó el bachillerato con aprovechamiento).

No obstante, parece no todos los homos son iguales: unos se parecen más al economicus; otros, al politicus. Y ahora parece que el coeficiente intelectual tendría algo que ver con eso.

Nota: encuentro ridículas las críticas a la economía (particularmente, a la microeconomía) basadas en su acreditada incapacidad para predecir el comportamiento humano por su tendencia a alejarse del esperado en un homo economicus. No, no va de eso. No va de predecir el comportamiento humano. Para eso ya tenemos otras disciplinas ad hoc. Va de cómo un agente racional descubre en otro que lo es menos un imbécil al que separarlo de su dinero.