predicción

Más sobre la estimación de probabilidades de eventos que no se repiten

Hace un tiempo hablé sobre la estimación de probabilidades de eventos que ocurren una única vez: elecciones, etc. Argumentaba cómo pueden ser descompuestos en dos partes muy distintas cualitativamente: una asociada a eventos que sí que se han repetido; otra, específica y única. El tamaño relativo de ambas componentes afecta a eficacia del mecanismo de estimación. Esta vez quiero ilustrarlo con un ejemplo extraído, traducido y adaptado de aquí que ilustra el procedimiento.

Causalidad inversa: más sobre los momentos "Le Verrier"

Escribí el otro día sobre los llamados momentos Le Verrier. Que, siguiendo la nomenclatura de Why ask why? Forward causal inference and reverse causal questions no son otra cosa que ejercicios de causalidad inversa con final feliz. Efectivamente, según el artículo, las cuestiones de índole causal son de dos tipos: prospectivas y retrospectivas (o inversas), en una traducción muy libre. Las primeras, más habituales, se refieren a cuáles serán los efectos de una causa.

Cuantificación de la incertidumbre

IBM ha desarrollado una iniciativa, Uncertainty Quantification 360, que describe así: Uncertainty quantification (UQ) gives AI the ability to express that it is unsure, adding critical transparency for the safe deployment and use of AI. This extensible open source toolkit can help you estimate, communicate and use uncertainty in machine learning model predictions through an AI application lifecyle. We invite you to use it and improve it. En la página del proyecto hay documentación abundante pero recomiendo comenzar por la demo.

Esos felices "momentos Le Verrier"

Son muy infrecuentes, lo admito. Pero cuando ocurren, le dan a uno ganas de poner los pies encima la mesa y fumarse un puro. ¿Qué son? Imagina que te pasan unos datos con el objetivo de realizar determinadas predicciones. Creas un modelo razonable —hasta bueno, dirías—, basado en primeros principios y que funciona bastante bien… excepto en unos cuantos casos irreductibles (sí, como aquellos galos de su aldea). Compruebas el modelo una y mil veces y no le ves problemas significativos; revisas los datos de nuevo, especialmente en esos casos en los que el modelo falla, y parecen tener sentido.

Sobre predicciones puntuales

Como tan a menudo se nos olvida, Taleb nos recuerda, breve y conciso, un par de cositas sobre las predicciones puntuales aquí. Además, casi todo lo que tiene que decir se resume en:

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.

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.

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.

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