Mezcolanza: de INLA a GAM pasando por la frenología

Combino en uno cuatro asuntos demasiado prolijos para Twitter pero sobre los que no sé lo suficiente como para desarrollarlos en una entrada entera.

El paquete stpp de R tiene muy buena pinta para el análisis de conteos espacio-temporales. Se recomienda leer el artículo que lo describe. Para el tipo de problemas que plantea, se me habría ocurrido tirar de INLA. Desafortunadamente, a los autores del artículo no se les ocurrió compararlos. Cosas de la academia.

Sobre el problema de las martingalas: ¿cuántos sabíais la respuesta?

Pues no se sabe bien. Además, habrá quién pudiéndola haber averiguado, prefirió dejarse llevar por la intuición y errar. Pero volvamos a los hechos. Dado

la pregunta urgente es: ¿cuántos podrían haber conocido la respuesta? Suponiendo que el conocimiento de la respuesta es algo binarizable (¿lo es?), la distribución del número de respuestas correctas sería $latex pN + X$, donde $latex N$ es el número total de respuestas, $latex p$ es la proporción de quienes sabe la respuesta y $latex X \sim B(N - pN, 1/3)$, suponiendo siempre que $latex pN$ es entero.

El z-score es una medida inadecuada de la perplejidad

Tenemos un dato y un valor de referencia. Por ejemplo, el valor predicho por uno modelo y el observado. Queremos medir la distancia entre ambos. ¿En qué unidades?

Antes de eso, incluso, ¿para qué queremos medir esa distancia? Esta es la pregunta fácil: para ver cómo encaja en el modelo propuesto, para ver cómo lo sorprende, para cuantificar la perplejidad.

Los estadísticos están acostumbrados a medir la perplejidad en unas unidades que solo ellos entienden, si es que las entienden: desviaciones estándar. El z-score de un residuo es el número de desviaciones estándar que lo separan de su estimación. Si es una, exclaman ¡bah!; si es dos, ¡oh!; si es tres, ¡oooh!; si es cuatro, ¡ooooooh, válgame Dios!, etc.

La distribución de Poisson y la estabilización de la varianza

Imagínate que quieres estabilizar la varianza (¡para qué!) de una distribución de Poisson. Los libros viejunos te dirán que saques la raíz cuadrada de tus valores.

Si en lugar de mirar en libros viejunos prestas atención a tus propios ojos, harás algo parecido a:

lambdas <- -10:10
lambdas <- 2^lambdas
res <- sapply(lambdas,
    function(lambda) sd(sqrt(rpois(1e5, lambda))))

para obtener

y averiguar dónde funciona y dónde no.

Si usas la transformación $latex f(x) = x^{2/3}$, como recomiendan en cierto artículo que no viene a cuento identificar, harás

Martingalas, tiempos de parada y tuits cuasivirales

El otro día publiqué en Twitter un problema que copié de algún sitio (sinceramente, no recuerdo cuál),

que resultó megaviral en mi humilde tuitescala.

A ver si mañana tengo tiempo de ocuparme de lo triste que resulta que mi entorno de Twitter sea tan cafre como para haber desacertado tanto.

p-curvas

Primero, una simulación:

n <- 100
delta <- 0.2
n.iter <- 10000

p_valores <- function(n, delta){
  tmp <- replicate(n.iter, {
    x <- rnorm(n)
    y <- rnorm(n, mean = delta)
    t.test(x, y)$p.value
  })

  res <- tmp[tmp < 0.05]

  hist(res, freq = FALSE, xlab = "p value", ylab = "", col = "gray", main = "histograma de p-valores publicables")

  res
}

null_effect_p_values <- p_valores(n, 0)
some_effect_p_values <- p_valores(n, delta)

Lo que simula son n.iter experimentos en los que se comparan n valores N(0,1) con otros n valores N(delta, 1) y se extrae el correspondiente p-valor. Luego se grafican los publicables (<0.05).

Cuidado con los $

R

El otro tropezamos con el siguiente artefacto:

a <- list(aa = 12, bb = 14)
is.null(a$a)
#[1] FALSE
a$a
#[1] 12

No es un bug de R, por que la documentación reza:

x$name is equivalent to x[[“name”, exact = FALSE]]

Y se pueden constrastar:

a[["a", exact = FALSE]]
a[["a", exact = TRUE]]

Comentarios:

  • Odio muchísimo los bugs que no son bugs porque están documentados en el la nota ‡2.a.(c), párrafo §23.3 de la sección 14 de un manual oscuro.
  • Odio mucho al os gilipollas que se complacen en mandarte a leer manuales.
  • Odio mucho las violaciones del principio de mínima sorpresa.
  • Soy consciente de que R es, fundamentalmente, una plataforma de análisis interactivo y no (o solo subsidiariamente) un lenguaje de programación.
  • Soy consciente de que muchos de los defaults de R se decidieron antes de que se popularizasen los completadores de comandos.

Un artículo que está esperando a ser escrito

Alguno de mis lectores, supongo, estará metido en ese mundo de ir escribiendo cosas y cosechado méritos, impactos y anecosas para salir del precariado y pillar moscosos. Que dejen de leer. Es una orden.

A aquellos que tengan tiempo y talento los invito a escribir el artículo titulado Temperaturas umbrales de disparo de la mortalidad atribuible al frío y al calor en España en el periodo 2007-2017.

Se trata, esencialmente, de aggiornar metodológica, gráfica y sintácticamente esta cosa viejuna y manifiestamente mejorable en todas las dimensiones concebibles.

¿Cómo se mide el número medio de días para pagar una factura?

[Esta entrada tiene una errata de la que doy fe aquí.]

Pues casi seguro que mal. Por eso hay que enfrentarse a noticia como esta con escepticismo. En el cuerpo del artículo aparece el gráfico

Que invita a preguntarse cosas como: ¿habrán tenido en cuenta las facturas aún no pagadas? (Es decir, las censuradas, en la nomenclatura del análisis de la supervivencia). Si se ignoran, el tiempo se estará infraestimando seriamente.

La magnitud de la sequía

Cuando tienes una serie temporal al uso (sin entrar a definir qué es eso), uno puede aplicar descomposiciones tmabién al uso, como stl, para extraer tendencia y estacionalidad, de la forma

como en esta entrada previa.

Lluvia.

La serie de la lluvia es otra cosa. Uno ve si llueve o no llueve (típicamente no). Lo que uno no ve es la probabilidad, que varía a lo largo del año, de que llueva. Pasa lo mismo con monedas (uno ve caras o cruces, no la probabilidad de cara), clientes que compran (uno ve si compra o no, no la probabilidad de compra), etc. Pero la probabilidad existe y en estimarla consiste frecuentemente el trabajo de algunos.