Estadística

Recodificación de variables categóricas de muchos niveles: ¡ayuda!

Una vez escribí al respecto. Y cuanto más lo repienso y lo reeleo, menos clara tengo mi interpretación. De hecho, estoy planteándome retractar esa entrada.

Y reconozco que llevo tiempo buscando en ratos libres algún artículo serio (no extraído del recetario de algún script kiddie de Kaggle) que justifique el uso del procedimiento. Es decir, que lo eleve de técnica a categoría. Sin éxito.

He hecho probaturas y experimentos mentales en casos extremos (p.e., cuando todos los niveles de la variable categórica son distintos, cuando son iguales, etc.) con los decepcionantes resultados que cabe esperar. Lo cual contradice las presuntas virtudes casi taumatúrgicas del procedimiento.

La ilusión de progreso (en problemas de clasificación)

David Hand, en Classifier Technology and the Illusion of Progress, resume el asunto así:

A great many tools have been developed for supervised classification, ranging from early methods such as linear discriminant analysis through to modern developments such as neural networks and support vector machines. A large number of comparative studies have been conducted in attempts to establish the relative superiority of these methods. This paper argues that these comparisons often fail to take into account important aspects of real problems, so that the apparent superiority of more sophisticated methods may be something of an illusion. In particular, simple methods typically yield performance almost as good as more sophisticated methods, to the extent that the difference in performance may be swamped by other sources of uncertainty that generally are not considered in the classical supervised classification paradigm.

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

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).

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.

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.

Más sobre correlaciones espurias y más sobre correlación y causalidad

Hoy toca esto:

Se trata de una invitación para leer el artículo Los picos de contaminación coinciden con un aumento radical en los ingresos hospitalarios, un cúmulo de desafueros epilogados por el ya habitual

Los resultados de esta investigación tienen puntos en común con la metodología científica aunque en ningún momento tendrán la misma validez ni tampoco es su intención que la tenga.

Arqueólogos bayesianos

Se ve que hay arqueólogos bayesianos. Un problema con el que se encuentran es que tropiezan con cacharros antiguos y quieren estimar su antigüedad.

Así que prueban distintos métodos (¿químicos?), cada uno de los cuales con su precisión, y acaban recopilando una serie de estimaciones y errores. Obviamente, tienen que combinarlas de alguna manera.

El modelo más simple es

$$ M_i \sim N(\mu, \sigma_i)$$

donde $latex \mu$ es la antigüedad (desconocida) del artefacto y los $latex \sigma_i$ son las varianzas distintas de los distintos métodos de medida, que arrojan las estimaciones $latex M_i$.