Estadística

Llegó (¿llegó?) el tiempo de la ingeniería estadística

Mucho se habla de ciencia de datos pero poco de una disciplina emergente de la que me ocupé hace tiempo en una entrada que entre las más de 1300 que llevo no ubico: la ingeniería estadística.

Porque muchos de nosotros no hacemos ciencia (¡Dios nos guarde!); más bien, resolvemos problemas reales en contextos reales. Y, entre otras cosas, defenimos o redefinimos el problema (¡al carajo con el RMSE!).

Pero, ¿qué es la ingeniería estadística? Pues podéis averiguarlo aquí mucho mejor contado que por mí.

Tres grandes problemas que ocupan pero, según el CIS, no preocupan

Plañe el periodista porque dizque hay tres graves problemas que, a pesar de lo que ocupan (en los medios), a la hora del CIS, no preocupan.

Aggiorno una vieja entrada para ver, por ejemplo, cómo ha variado en los últimos años la preocupación de los encuestados por el CIS acerca de uno de los tres graves problemas:

De hecho, el porcentaje que se muestra indica la proporción de los encuestados que mencionaron el asunto como uno de los tres principales problemas de España. La pregunta, de respuesta abierta, aparece así formulada en los cuestionarios:

EM (duro) a mano (y para humanos)

Dada una configuración de puntos tal como

puede pensarse que existen dos grupos (clústers los llaman casi todos menos el neotroll de estas páginas y algún otro purista) de puntos organizados alrededor de unas rectas que se adivinan.

Nos planteamos el problema de identificarlas y de asignar los puntos a su respectiva.

Una posible estrategia consiste en construir la verosimilitud asociada al problema y maximizarla. Esa verosimilitud dependería de muchos parámetros:

Un párrafo afortunadísimo sobre las "nuevas aptitudes"

Traduzco:

Las nuevas aptitudes que tanto atraen la atención de los medios no sirven para resolver más eficazmente el problema de la inferencia; son puras técnicas de supervivencia para gestionar los artefactos inducidos por la computación distribuida a gran escala. Lidian con las enormes restricciones que impone el mundo de los sistemas multiproceso y distribuidos sobre los algoritmos. En este mundo tan constreñido, el elenco de algoritmos utilizables es tan limitado si se lo compara con el disponible en el de un único procesador, que es inevitable adoptar técnicas estadísticas que hubieran sido tachadas de rudimentarias, si no de inadecuadas, en otros tiempos. Estos problemas consumen nuestro tiempo y energía, deforman nuestro criterio sobre lo que resulta adecuado y nos desvían de las estrategias de análisis de datos que habríamos aplicado de oficio en otras circunstancias.

Reducción de la dimensionalidad con t-SNE

Voy a explicar aquí lo que he aprendido recientemente sobre t-SNE, una técnica para reducir la dimensionalidad de conjuntos de datos. Es una alternativa moderna a MDS o PCA.

Partimos de puntos $latex x_1, \dots, x_n$ y buscamos otros $latex y_1, \dots, y_n$ en un espacio de menor dimensión. Para ello construiremos primero $latex n$ distribuciones de probabilidad, $latex p_i$ sobre los enteros $latex 1, \dots, n$ de forma que

$$ p_i(j) \propto d_x(x_i, x_j),$$

En contra del estado "de derecho"

Nos engañaron malamente. Nos prometieron que estudiar matemáticas nos abriría la puerta de los misterios más sutiles del conocimiento y ahora no hacemos otra cosa que celebrar como gilipollas el día de $latex \pi$ a golpe de retuiteo. Nos dijeron que aprendiendo ingeniería conoceríamos el funcionamiento de las cosas y acabamos usando ordenadores armados con pegamento. Con la estadística seríamos capaces de estudiar y entender los movimientos y cambios sociales, el funcionamiento de los mercados financieros, etc. y nunca pasamos de los k-vecinos.

Vídeos sobre estadística (pero, que conste, esto no es una recomendación)

Alguien me pidió el otro día referencias para aprender estadística. Pero no, no preguntó por libros; preguntó por vídeos.

En mi afán por evitar convertirme en un carca (o peor aún, un carca prematuro) incurro en experimentos a veces vergonzantes, como jugar al GTA o ver alguna (una, más bien) emisión de El Rubius. Pero a algo a lo que no me acostumbraré, creo, nunca es a adoptar esa costumbre que detecto en las nuevas generaciones de tratar de aprender (¿y conseguirlo?) a través de vídeos.

La inesperada correlación de los ratios

Tomemos dos variables aleatorias independientes y positivas,

    set.seed(123)
    n <- 100
    x <- runif(n) + 0.5
    y <- runif(n) + 0.5

No tengo ni que decir que su correlación es prácticamente cero,

    cor(x,y)
    #-0.0872707

y que en su diagrama de dispersión tampoco vamos a poder leer otra cosa:

Ahora generamos otra variable independiente de las anteriores,

    z <- runif(n) + 0.5

y calculamos el cociente de las primeras con respecto a esta:

    xz <- x / z
    yz <- y / z

¿Independientes? Hummmm…

Infradispersión de conteos: ¿buenos ejemplos?

La distribución de Poisson se utiliza de oficio cuando se quiere modelar datos relativos a conteos. Sin embargo, tiene un problema serio: la varianza está fijada a la media: ambas son $latex \lambda$, el parámetro de la distribución.

Muy frecuentemente se observan datos con sobredispersión. Si $latex \lambda$ es 1000, el número esperado de eventos está contenido en un intervalo demasiado estrecho,

qpois(c(0.025, 0.975), 1000)
#[1]  938 1062

como para ser realista en muchas aplicaciones.

El número efectivo de partidos

El número efectivo de partidos es el nombre de una página de la Wikipedia, que contiene la fórmula

$$ N = \frac{1}{\sum_i p_i^2}$$

y excipiente alrededor.

Aplicada a España (usando datos del CIS como proxy),

Como casi siempre, el código:

library(rvest)
library(rvest)
library(reshape2)
library(plyr)
library(zoo)

url <- "http://www.cis.es/cis/export/sites/default/-Archivos/Indicadores/documentos_html/sB606050010.html"

raw <- read_html(url)
tmp <- html_nodes(raw, "table")
tmp <- html_table(tmp[[2]], fill = TRUE)

colnames(tmp)[1] <- "partido"

tmp <- tmp[!is.na(tmp$partido),]
tmp <- tmp[1:30,]

tmp <- melt(tmp, id.vars = "partido")
tmp <- tmp[tmp$value != ".",]
tmp$value <- as.numeric(tmp$value)

tmp$variable <- gsub("ene", "01-", tmp$variable)
tmp$variable <- gsub("abr", "04-", tmp$variable)
tmp$variable <- gsub("jul", "07-", tmp$variable)
tmp$variable <- gsub("oct", "10-", tmp$variable)

tmp$variable <- gsub("-0", "-200", tmp$variable)
tmp$variable <- gsub("-1", "-201", tmp$variable)
tmp$variable <- gsub("-9", "-199", tmp$variable)

tmp$variable <- paste0("01-", tmp$variable)

tmp$variable <- as.Date(tmp$variable, format = "%d-%m-%Y")

dat <- tmp

dat <- ddply(dat, .(variable), transform, total = value / sum(value))
res <- ddply(dat, .(variable), summarize, enp = 1 / (sum(total^2)))

res <- zoo(res$enp, order.by = res$variable)

plot(res, main = "Número efectivo de partidos\nen España(1996-2016)",
        xlab = "", ylab = "número efectivo de partidos")

Las tres (o cuatro) eras de la estadística

Las cosas, frecuentemente, son como son y no de otra manera, especulativamente, mejor por razones históricas. Es lo que hay. La respuesta a muchas preguntas es “porque A llegó antes que B”.

La estadística (y particularmente, la que se enseña) es como es y no de otra manera, especulativamente, mejor, también por razones históricas. Por eso siempre pierdo algo de tiempo hablando (¡es uno de mis personajes favoritos del XIX!) de Quetelet y los suyos; luego, de Fisher y compañía; finalmente, de Efron y los demás.

La h-filosofía de la estadística en once puntos

  • La estadística tiene que estar totalmente integrada en la investigación: el diseño experimental es fundamental.
  • Que no te asuste utilizar métodos modernos
  • Preserva toda la información disponible en los datos: evita categorizar los predictores continuos y los valores predichos
  • No asumas que algo opera linealmente
  • Ten en cuenta la incerditumbre sobre el (no del) modelo y trata de minimizarlo usando conocimiento previo sobre la materia
  • Usa remuestreos
  • Considera el tamaño muestral una variable aleatoria cuando sea posible
  • Usa estadística bayesiana siempre que sea posible
  • Usa buenos gráficos frecuentemente
  • Para que sea creíble, la investigación tiene que ser reproducible
  • Toda la manipulación de datos y el análisis estadístico tiene que ser reproducible