Predicción

Sobre "Predicción, estimación y atribución"

Subrayo hoy aquí tres cuestiones que considero importantes del reciente artículo Prediction, Estimation, and Attribution de B. Efron (para otra visión, véase esto).

La primera es que existe una cadena de valor en la modelización estadística que va del producto más ordinario, la predicción, a la estimación y de este, al más deseable, la atribución. En la terminología de Efron,

  • estimación consiste en la determinación de los parámetros subyacentes (e importantes) del modelo; específicamente se refiere a la estimación puntual;
  • atribución tiene que ver con intervalos de confianza, p-valores, etc. de esos parámetros.

La segunda es que la predicción es un problema fácil, mientras que la estimación (y la atribución) son mucho más complicados. Lo ilustra con un ejemplo sencillo: comparando la eficiencia de dos modelos, uno el óptimo y otro ligeramente inferior para:

Cosas que ocurrirán sin lugar a dudas tras el coronavirus

Hay mucha incertidumbre sobre cómo será el mundo post-coronavirus. Pero una cosa es segura: tendremos gráficas tales como

hasta en la sopa. La buena noticia para quienes son ellos y su ideología, es que hay tantos grados de libertad, i.e., la posibilidad de elegir muy cuidadosamente

  • las variables que colocar en el eje x, las fuentes, los años de los datos, etc.,
  • los indicadores que colocar en el eje y,
  • los países, provincias, regiones, etc., que incluir o excluir en la gráfica,

que, ¡enhorabuena!, van poder esgrimir en las redes sociales la pendiente que más le convenga.

Tengo cuenta en Hypermind

Acaban de notificarme que han aprobado mi cuenta en Hypermind. Hypermind es un mercado de predicciones cuyo funcionamiento está descrito aquí y aquí mejor que yo pudiera hacerlo.

Ya iré contando. En tanto, una imagen extraída de uno de los enlaces anteriores que vale por mil palabras:

k-vecinos + lmer

El de los k-vecinos es uno de mis métodos favoritos de modelización. Al menos, teóricamente: luego, en la práctica, es complicado construir una función de distancias decente. Pero tiene la ventaja indiscutible de ser tremendamente local: las predicciones para una observación concreta dependen únicamente de su entorno.

lme4::lmer (y sus derivados) es ya casi la lente a través de la que imagino cómo operan las variables dentro de un modelo. Desafortunadamente, es un modelo global y no gestiona particularmente bien las interacciones, cuando son muchas y complejas.

Clasificación vs predicción

Aquí se recomienda, con muy buen criterio, no realizar clasificación pura, i.e., asignando etiquetas 0-1 (en casos binarios), sino proporcionar en la medida de lo posible probabilidades. Y llegado el caso, distribuciones de probabilidades, claro.

La clave es, por supuesto:

The classification rule must be reformulated if costs/utilities or sampling criteria change.

Intervalos de confianza, intervalos de predicción

Contexto:

modelo <- lm(dist ~ speed, data = cars)

Intervalos de confianza:

head(predict(modelo, interval = "confidence"))
#        fit        lwr       upr
#1 -1.849460 -12.329543  8.630624
#2 -1.849460 -12.329543  8.630624
#3  9.947766   1.678977 18.216556
#4  9.947766   1.678977 18.216556
#5 13.880175   6.307527 21.452823
#6 17.812584  10.905120 24.720047

Intervalos de predicción:

head(predict(modelo, interval = "prediction"))
#        fit       lwr      upr
#1 -1.849460 -34.49984 30.80092
#2 -1.849460 -34.49984 30.80092
#3  9.947766 -22.06142 41.95696
#4  9.947766 -22.06142 41.95696
#5 13.880175 -17.95629 45.71664
#6 17.812584 -13.87225 49.49741

Creo que la diferencia (y el significado) es claro. Para todos los demás, esto.

"Para razonar rigurosamente bajo incertidumbre hay que recurrir al lenguaje de la probabilidad"

Así arranca este artículo, que presenta una extensión de XGBoost para predicciones probabilísticas. Es decir, un paquete que promete no solo una estimación del valor central de la predicción sino de su distribución.

La versión equivalente de lo anterior en el mundo de los random forests está descrito aquí, disponible aquí y mucho me temo que muy pronto voy a poder contar por aquí si está a la altura de las expectativas.

Análisis y predicción de series temporales intermitentes

Hace tiempo me tocó analizar unas series temporales bastante particulares. Representaban la demanda diaria de determinados productos y cada día esta podía ser de un determinado número de kilos. Pero muchas de las series eran esporádicas: la mayoría de los días la demanda era cero.

Eran casos de las llamadas series temporales intermitentes.

Supongo que hay muchas maneras de modelizarlas y, así, al vuelo, se me ocurre pensar en algo similar a los modelos con inflación de ceros. Es decir, modelar la demanda como una mixtura de dos distribuciones, una, igual a 0 y otra >0, de manera que la probabilidad de la mixtura, $latex p_t$, dependa del tiempo y otras variables de interés.

¿Tienes un sistema predictivo guay? Vale, pero dame los dos números

No, no me vale que me digas que aciertas el 97% de las veces. Dime cuántas veces aciertas cuando sí y cuántas veces aciertas cuando no.

Si no, cualquiera.

Nota: estaba buscando la referencia a la última noticia de ese estilo que me había llegado, pero no la encuentro. No obstante, seguro, cualquier día de estos encontrarás un ejemplo de lo que denuncio.

¿Escenarios jerárquicos? (para encuestas electorales en contextos multipartidistas)

Existe una brecha conceptual entre los pronósticos electorales,

que son continuos y cómo percibimos los resultados, de manera discreta: p.e., el partido X y el partido Y suman (o no).

Después de las elecciones, sobre todo de muchas de las últimas, el público siente perplejidad (frente a los resultados que acaban siendo) a la vista de las predicciones que se hicieron. Y los hacedores de pronósticos publican el consabido artículo explicando que esos escenarios que acabaron sucediendo estaban de alguna manera recogidos en sus (en el óptimo de los casos) histogramas.