Sobre la muy necesaria "Oficina del Dato"

Hace no tanto propuse la creación de un segundo INE axialmente (eje: la Castellana) simétrico al actualmente existente que elaborase un segundo censo, una segunda EPA, etc. por lo mucho que podríamos aprender acerca de la varianza (y los límites de la estadística) gracias a la simultánea publicación de parejas de cifras oficiales desiguales.

Pero alguien en el brazo largo de la palanca debió leerme sin advertir que iba de coña y me hizo caso. Así, en uno de los últimos BOEs, se nos comunica que:

Misma p, distinto n, luego...

Tres situaciones. La primera:

n <- 20
y <- 15
test <- prop.test(y, n, p = .5)
test$p.value
# [1] 0.04417134
test$conf.int
# 0.5058845 0.9040674

La segunda:

n <- 200
y <- 115
test <- prop.test(y, n, p = 0.5)
test$p.value
#[1] 0.04030497
test$conf.int
# 0.5032062 0.6438648

Y la tercera:

n <- 2000
y <- 1046
test <- prop.test(y, n, p = 0.5)
test$p.value
#[1] 0.0418688
test$conf.int
# 0.5008370 0.5450738

En resumen:

  • mismo problema
  • distintos tamaños muestrales
  • mismo p-valor (aproximadamente)
  • distintos estimadores
  • distintos intervalos de confianza

La pregunta: ¿qué circunstancia es más favorable? Una respuesta, aquí.

¿Un "Instituto Nacional de Datos"?

Por motivos que algún día contaré, me está tocando leer una serie de documentos muy bizarros (en su acepción bárbara). De entre todos, el que se lleva la palma es el titulado Estrategia Española de I+D+I en Inteligencia Artificial, promovido por el ministerio del ramo y elaborado por la Secretaría General de Coordinación de Política Científica del Ministerio de Ciencia, Innovación y Universidades y el Grupo de Trabajo en Inteligencia Artificial GTIA.

"Transformación digital"

2010: Todos los registros civiles municipales ya están digitalizados:

Todos los registros civiles municipales de España (110.210 tomos manuscritos y 68.197.976 páginas) ya se encuentran en formato digital gracias al ‘Registro Civil en Línea’ que ha impulsado el MITYC a través del programa ‘red.es’, y al Ministerio de Justicia.

La iniciativa ha contado con un presupuesto de 128 millones de euros, cofinanciados con fondos FEDER, para digitalizar e informatizar los órganos registrales y los libros manuscritos desde 1950.

Modelos como "hechos estilizados"

El otro día, una remesa de nuevos datos rompió un modelo (no mío) en producción. El modelo suponía que la forma de los datos era muy concreta y estos se rebelaron.

Un amigo me preguntó por qué se usaba un modelo paramétrico tan simple. El motivo no es otro que la búsqueda de hechos estilizados, resúmenes a muy alto nivel de la realidad que quepan y queden bien en un tuit. Aunque luego, su parecido con la realidad sea nulo.

Un recordatorio: MOMOCalor está "up and running"

Por desgracia, MoMo ya no exige presentación. Pero con los termómetros acariciando los 40º no está mal recordar la existencia de MoMoCalor, su hermanito, que trata atribuir mortalidad a los excesos de temperaturas.

¿Por qué es particularmente importante MoMoCalor hoy? Recuérdese que MoMo estima, simplemente, desviaciones de mortalidad con respecto a la que sería la normal en una fecha determinada. Cuando hay una epidemia o una ola de calor, la mortalidad crece y MoMo lo detecta. Pero cuando hay una epidemia y una ola de calor simultáneas, MoMo es incapaz de atribuir muertos las causas anómalas subyacentes. Pero MoMoCalor sí.

Por supuesto que tengo más variables que observaciones... ¿y?

He intentado replicar los resultados de la entrada de ayer con GAM (vía mgcv) así (véase el enlace anterior para la definición de los datos):

library(mgcv)
modelo_gam <- gam(
    y ~ x + s(id, bs = "re"),
    data = datos,
    method = "REML",
    family = "poisson")

Y nada:

Error in gam(y ~ x + s(id, bs = "re"), data = datos, method = "REML", : Model has more coefficients than data

Sí, ya sé que tengo más variables que observaciones. Pero, ¿no es para eso que estoy usando efectos aleatorios?

Aún más sobre la presunta sobredispersión en modelos de Poisson

[Esta entrada continúa el ciclo al que he dedicado esta y esta otra entradas durante los últimos días.]

Las dos entradas anteriores de la serie se resumen en que:

  • el modelo de Poisson no recoge todas las fuentes de error que pueden existir en los datos y que
  • las soluciones al uso (como, p.e., usar modelos quasi-Poisson) son puros remiendos.

Si el error en el modelo de Poisson entra (también) en el término lineal, podemos modelar ese error explícitamente. Podría haber implementado la solución INLA o Stan del problema, pero me conformaré con la lme4. Primero, generaré los datos (igual que en las entradas anteriores) y añadiré una variable categórica que identifique cada registro:

Análisis de arquetipos

De eso trata un artículo de los noventa de Breiman. Es decir, de encontrar dentro de conjuntos de datos conjuntos finitos de sujetos puros que permiten representar cualquier otro como una mezcla (o combinación convexa) de ellos.

Ideas a vuelapluma:

  • Cuando leo sobre el asunto, la palabra que no deja de aparecérseme es outlier. Curiosamente, la busco en el texto y se resiste a aparecer. Pero me aterra la posibilidad de estar caracterizando a los sujetos normales (¿aún se puede usar la expresión?) como combinación convexa de raritos.
  • La técnica podía competir muy favorablemente con el clústering tanto conceptualmente (resuelve el problema de la heterogeneidad de los clústers) como operativamente (se podrían extraer para algún fin los sujetos que participasen en una proporción determinada de un cierto arquetipo).
  • En el fondo, se solapa con otras técnicas bien establecidas y que hacen cosas parecidas como LDA (con D de Dirichlet) o NMF (factorización no negativa de matrices).

Mi parrafito favorito de "Number Sense"

Acabo de terminar (la última edición corregida y aumentada de) The Number Sense, un libro que libro explora la ubicación de la aritmética básica dentro del eje naturaleza vs crianza y del que me permito compartir mi parrafito favorito:

Más sobre la presunta sobredispersión en el modelo de Poisson

[Esta entrada abunda sobre la de ayer y sin la cual no se entiende.]

Generemos unos datos, las x:

n <- 1000
sigma <- .5
x <- rep(-2:2, each = n)
x_real <- -1 + .5 * x + rnorm(length(x), 0, sigma)

En el bloque anterior hemos creado una/la variable observada, x, el término lineal que operará en el modelo de Poisson, -1 + .5 * x, y el real, -1 + .5 * x + rnorm(length(x), 0, sigma), que agrega al anterior el impacto de otras variables no tenidas en cuenta a través de un error normal al uso.

No, tus datos no "tienen sobredispersión": es que el gato de Nelder se ha merendado la epsilon

El modelo de Poisson viene a decir que si y es una variable con valores 0, 1,… y x1,…, xn son variables explicativas tiene cierto sentido en algunos casos plantear un modelo de la forma

$$ y | x_i \sim \text{Pois}(\exp(a_0 + \sum_i a_i x_i) ),$$

Es decir , para cada combinación de las xi, el modelo proporciona el parámetro de una distribución de Poisson de la que y es una realización. Hay una incertidumbre (o un error irreductible) que reside en que de y solo conocemos la distribución.