Estadística

¿Seguro que aplica lo del secreto estadístico?

[A esta entrada, publicada hace un tiempo y puede que con más entusiasmo que reflexión, le he añadido posteriormente, en junio de 2022, una coda con cosas que he aprendido luego.]

En la nota de prensa de la estadística de transporte de viajeros del INE de julio de 2016 (no la enlazo porque, entiendo, las notas de prensa van siendo reemplazadas en su portal) aparece la tabla

transporte_viajeros

en la que el lector podrá encontrar valores ocultos con un puntero a la nota al pie. Que dice:

Big vs small data en estadística aplicada aplicada

Tengo un proyecto entre manos. Trata de medir un efecto pequeño bajo una condición experimental (una palanca que se puede subir y bajar) con un enorme ruido de fondo (debido a factores para los que no existe la susodicha palanca). Existen dos aproximaciones que, en su versión resumida, son:

  • Datos pequeños: recoger un conjunto pequeño de mediciones en un contexto en el que los factores no controlables sean constantes (aunque en la práctica no lo vayan a ser).
  • Datos grandes: recoger muchas mediciones alterando el factor controlable a lo largo de un periodo de tiempo extenso.

Se supone —y lo advierto, sobre todo para evitar que algún purista quiera señalar que lo es— en ambos casos, que existe cierta aleatorización del factor experimental para que sea lo más ortogonal posible al ruido no controlado.

Los límites que la varianza impone a las energías renovables

El asunto de las energías renovables, a partir de cierto umbral de capacidad instalada, se convierte en uno de gestión de la varianza.

eolica_alemania

En este artículo se discuten esos problemas para el caso alemán. No trata tanto el problema de la gestión de los picos (particularmente los intradiarios) como de la variabilidad estacional, dentro del año, de la producción eólica y solar, que no se corresponde con la del consumo.

¿Quién demonios lee el segundo párrafo?

Me llega por Twitter lo que lleva por título Más suicidios y peor salud mental por la crisis en España y Grecia.

Hay una escena de la película Primera Plana resumida aquí pero que, por abreviar, reproduzco con la ayuda de Control-C y Control-V: Walter Matthau, director del Examiner, relee por encima del hombro de su redactor jefe, Jack Lemmond, mientras este redacta la gran exclusiva. “Pero, ¿no citas al Examiner?”, se queja el director. “Sí, lo pongo aquí, en el segundo párrafo”. “Y quién demonios lee el segundo párrafo?”, brama Matthau.

Análisis estadístico de formas y perfiles

Siempre me intrigó cómo podía realizarse el análisis estadístico de cosas que no son tablas. Por ejemplo, formas.

momocs_botellas

Nótese que tales medidas deberían presentar invariancias frente a rotaciones, dilataciones, simetrías, etc.

Quien alimente también semejantes dudas podrá saciarlas (parcialmente, claro) aquí y aquí, donde, entre otras cosas, se enseña cómo extraer variables de toda la vida que resumen ese tipo de perfiles a través de, por ejemplo, aplicaciones muy particulares de la transformada de Fourier.

Rápido y frugal: una digresión en la dirección inhabitual

Siempre (aténganse los puristas al contexto) recomiendo comenzar con un árbol de decisión para, sobre esa base, ensayar métodos más potentes. Sobre todo si la precisión conviene más que la interpretabilidad.

En la dirección opuesta se sitúan los árboles rápidos y frugales. Un árbol rápido y frugal es un tipo de árbol de decisión tal como

fast_frugal_tree

La restricción que satisface (a diferencia de los árboles de decisión más habituales) es que:

k-medias es como las elecciones; k-vecinos, como los cumpleaños

El otro día asistí a la enésima confusión sobre k-medias y k-vecinos. Que lo es, más en general, sobre el clústering contra modelos locales de la clase que sean, desde k-vecinos hasta el filtrado colaborativo. Veamos si esta comparación que traigo hoy a mis páginas contribuye a erradicar dicha confusión.

k-medias es como las elecciones. Hace poco tuvimos unas en España. Alguien decidió (aproximadamente) que k = 4 y nos pidió, a nosotros, punticos del espacio, identificar el centroide más próximo a nosotros para que lo votásemos. Pues eso, la misma frustración que muchos dizque sintieron teniendo que elegir entre partidos/centroides subjetivamente igual de alejados de los intereses de uno es la que sienten nuestros punticos cuando los procrusteamos para asociarlos al totum revolutum de los clientes estrella, etc.

GLMs con prioris (casi) a voluntad

Esto que cuento hoy puede ser muy útil: cómo mejorar los GLMs mediante la introducción de prioris (casi) a voluntad sobre los coeficientes. Usando el paquete arm de R, claro.

De momento y porque aún tengo sucios los datos sobre los que me gustaría aplicar el modelo, extraeré un ejemplo de la ayuda de la función principal del paquete, bayesglm.

Primero, preparo unos datos:

n <- 100
x1 <- rnorm (n)
x2 <- rbinom (n, 1, .5)
b0 <- 1
b1 <- 1.5
b2 <- 2
y <- rbinom (n, 1, invlogit(b0+b1*x1+b2*x2))

Comenzamos con un glm de toda la vida.

Gestión de la mendacidad encuestoelectoral: los números

Continuando con la entrada anterior, ahora, números.

Primero, el planteamiento (cuatro partidos, etc.):

probs <- c(4, 3, 2, 1)
probs <- probs / sum(probs)
partidos <- letters[1:length(probs)]

Nos hará falta más adelante

library(plyr)
library(rstan)
library(ggplot2)
library(reshape2)

Sigo con el proceso de muestreo. Reitero: cada encuestador enseña al encuestado una tarjeta al azar donde aparece el nombre de dos partidos y le pregunta si ha votado (o piensa votar) a alguno de ellos.

n <- 3000
resultados <- data.frame(
  tarjeta = sample(1:nrow(tarjetas), n, replace = T),
  partido = sample(partidos, n, prob = probs, replace = T))
resultados <- data.frame(
  tarjetas[resultados$tarjeta,],
  partido = resultados$partido)
resultados$coincide <- resultados$partido == resultados$partido1 |
  resultados$partido == resultados$partido2

# proporciones reales en la muestra
props.muestra <- table(resultados$partido) / nrow(resultados)

# resultados agregados (por tarjeta)
resultados.agg <- ddply(
    resultados, .(partido1, partido2),
    summarize,
    total = length(partido1),
    coincidencias = sum(coincide))

Y

Gestión de la mendacidad encuestoelectoral

Lo de que la gente que miente al ser encuestada se ha esgrimido frecuentemente en los últimos días. Inspirado en esto, se me ha ocurrido (posiblemente reocurrido: es fácil que la idea sea conocida, sobre todo si resulta ser buena) el siguiente procedimiento para la realización de encuestas electorales.

  • El encuestador va provisto de una colección de cartulinas en las que aparecen parejas de nombres de partidos políticos.
  • El encuestador muestra al encuestado una cartulina al azar dentro de su colección.
  • El encuestador pregunta al encuestado si ha votado (o piensa votar) a alguno de ellos.
  • Se registran los partidos mostrados y la respuesta, positiva o negativa, del encuestado.

Con una versión del procedimiento que describo en la entrada que enlazo más arriba, se podrían redescubrir las opciones de la población subyacente, aun ignorando el de cada uno de los encuestados. No sé cuál sería (si no se me adelanta nadie, igual la hago yo) el procedimiento, pero seguro que no es tan complicado como para que Stan no pueda con ello.