Predicción

Clasificación vs predicción

Traduzco de aquí:

Es crucial distinguir predicción y clasificación. En el contexto de la toma de decisiones, la clasificación es una decisión prematura: la clasificación combina predicción y decisión y usurpa al decisor la consideración del coste del error. La regla de clasificación tiene que reformularse si cambian las recompensas o la base muestral. Sin embargo, las predicciones están separadas de las decisiones y pueden ser aprovechadas por cualquier decisor.

La clasificación es más útil con variables objetivo no estocásticas o determinísticas que ocurren frecuentemente y cuando no ocurre que dos sujetos con los mismos atributos pueden tener comportamientos distintos. En estos casos, la clave es modelar las tendencias (es decir, las probabilidades).

Más sobre las proyecciones de población del INE

Bastante he hablado de las proyecciones de población del INE (p.e., aquí o aquí). Insisto porque el gráfico que aparece en la segunda página de la nota de prensa de las últimas, a saber,

se parece muchísimo a un gráfico que garabateé en el Bar Chicago de Zúrich (el peor garito de la peor calle de una de las mejores ciudades del mundo), con demasiadas cervezas en el cuerpo y mientras nos reíamos hasta de las bombillas. Era algo así como

Consecuencias indeseadas de la falta de humildad

Me refiero a estas:

Es que es muy ridículo tu afan por aplicar tus promedios frívolamente a los fenómenos más variados para ofrecer predicciones que casi nunca se cumplen. No tiene que ver con el modelo estadístico, sino con el pésimo periodismo paracientífico que haces https://t.co/kD6bxknMFp

– Guillermo López (@GuillermoLPD) 9 de julio de 2018

La historia, resumida, es que Kiko Llaneras publica sus predicciones para el mundial en El País, i.e.,

Si se estudió que las autopistas eran viables, ¿por qué están ahora en quiebra?

Así titula El Mundo un artículo en el que el mismo periódico se responde:

Porque los estudios de viabilidad sirvieron más para justificar la construcción que para cubrir una necesidad real. La R-3 y la R-5 absorberían 70.000 vehículos diarios según las estimaciones y el tráfico real es al menos cuatro veces inferior. En sentido contrario Gobierno, concesionarias y bancos subestimaron el coste del suelo. Los expropiados llevaron su caso a los tribunales y llegaron a multiplicar hasta en 10 veces lo que recibieron años atrás.

Contaminación y restricciones de tráfico en Madrid: ¿por qué no se puede ni prevenir ni "estimar"?

Aparentemente, porque así lo establece el protocolo de actuación, del ayuntamiento de la villa. Lo resume la imagen

antiestadistica

que bajé de Twitter y que me llamó la atención sobremanera. Algún gobierno municipal decidió en su día que estaba fuera de lugar tanto prevenir como estimar.

Me preocupa que dicho gobierno municipal estuviese reñido con el refranero en lo concerniente a la prevención. Pero no es el asunto, entiendo, por el que mis lectores me visitan.

La funesta manía de querer acertar

Vayan dos cosas por delante:

  • Que la de pretender acertar es una perniciosa manía. Más loable es la de tratar de evitar un fallo catastrófico.
  • Que recomiendo muy mucho seguir las cosas que hace Kiko Llaneras.

Dicho lo cual…

Kiko Llaneras ha estado elaborando predicciones del resultado de las elecciones en Cataluña durante la precampaña. Pueden verse aquí. El documento enlazado incluye una discusión de la metodología.

A diferencia de los más de los comentaristas, Kiko ofrece, más que pretendidas certezas, distribuciones. Tal y como hacen los que más saben. Es algo aplaudible.

Tan actual 25 años después

Dentro de unos días os copiaré aquí unas líneas de un artículo del 83 que bien pudiera haber sido escrito el mes pasado. Pero hoy no voy a ir tan lejos. Me quedo con uno del 89 que recomiendo que hojeéis: Clinical vs Actuarial Judgement.

No, no vais a aprender en él nada que no sepáis. Os podrá parecer viejuno el uso de clínico o actuarial para denotar conceptos que ahora conocemos por otros nombres. Pero el tema, desgraciadamente, sigue siendo reciente. Todavía hay clínicos —más bien, todavía siguen siendo mayoría— que desconfían de los cálculos probabilísticos proporcionados por las máquinas (actuariales en la terminología del artículo) más que de su propia intuición.

El porqué de los mínimos cuadrados con restricciones

Avisé en mi entrada del otro día: no me preguntéis por qué (imponer restricciones en un problema de mínimos cuadrados).

Pero cuanto más pienso sobre ello, menos claro lo tengo. ¿Por qué restricciones?

Primero, el contexto. O el casi contexto. Porque no es exactamente así. Pero sí parecido. Supongamos que queremos predecir algo y construimos, p.e., 4 modelos. Se nos ocurre (y hay buenas razones para ello) combinar los predictores.

Uno puede pensar en usar la media de las predicciones. O la mediana. O tratar de usar un peso revelado por los datos.

Científicos de datos, aprended de los actuarios

Los actuarios fueron tal vez los primeros científicos de datos. Aparentemente, la primera tabla de mortalidad fue creada por John Graunt en 1662.

Los actuarios hablan de la esperanza de vida. Pero no son tan pendejos como los científicos de datos de hoy en día en eso de pretender que la esperanza de vida es la vida. Los actuarios saben que en una cohorte con una esperanza de vida de 78 años habrá quien muera a los tres, a los quince, a los cincuenta y a los noventa. Nadie les exige que acierten cuándo va a morir cada cual. En lugar de eso, estudian la distribución de los fallecimientos a lo largo del tiempo y calculan indicadores útiles para sus clientes.

Victoria o diferencia de puntos, ahora con "random forests"

Después de hablar con tirios y troyanos sobre mi entrada sobre los efectos de binarizar una variable objetivo continua, he decidido tomarme la justicia por mi mano y llamar a la caballería. Es decir, utilizar random forests.

Aquí va el código:

library(randomForest)

set.seed(1234)

my.coefs <- -2:2
n <- 200
train.n <- floor(2*n/3)

test.error <- function(){
  X <- matrix(rnorm(n*5), n, 5)
  Y <- 0.2 + X %*% my.coefs + rnorm(n)
  Y.bin <- factor(Y>0)

  train <- sample(1:n, train.n)

  X <- as.data.frame(X)
  X$Y <- Y

  modelo <- randomForest(Y ~ .,
    data = X[train,])
  pred <- predict(modelo, X[-train,])
  error.cont <- length(pred) -
    sum(diag(table(pred >0, Y[-train]>0)))

  X$Y <- Y.bin
  modelo <- randomForest(Y ~ .,
    data = X[train,])
  pred <- predict(modelo, X[-train,])
  error.bin <- length(pred) -
    sum(diag(table(pred, Y.bin[-train])))

  data.frame(error.cont = error.cont,
    error.bin = error.bin)
}

errores <- do.call(rbind,
  replicate(1000, test.error(), simplify = F))

sapply(errores, fivenum)

El resultado, si te interesa, en tu pantalla.

Error de tipo I, error de tipo II

Aquí está la noticia sobre el resultado de un error de tipo I: Danone takes legal action over milk scare.

Este otro, sobre un error de tipo II: Wave a banknote at a pundit and he’ll predict anything.

Siempre me ha llamado la atención el segundo caso: ¿tienen realmente responsabilidades penales los geólogos? He leído algunos artículos al respecto y nunca he visto el caso planteado de la manera en que voy a hacerlo aquí.

Use SAS para predecir como un pulpo

Para el otoño volverá a tener lugar el congreso de usuarios de SAS en España. El anuncio que me acaba de llegar —con su referencia al ubicuo pulpo Paul— no puede ser más desafortunado. Por si desaparece el enlace, reproduzco con una captura de pantalla aquí lo más sustancioso del mismo:

Addenda:

Comí el jueves con la más infiel de mis lectoras (creo que ni lectora es) y convinimos en que el mensaje de SAS resulta, cuando menos, insultante para cuantos nos dedicamos al sufrido oficio de la estadística y actividades concomitantes. Entre ambos consensuamos un mensaje alternativo que venía a ser el siguiente: