spinner

Bayesian Deep Learning (parte V) – Introducción a forecasting probabilístico

Realizar pronósticos precisos con modelos de IA es una de las problemáticas más difíciles de resolver. Estos pronósticos a menudo son mal interpretados, sin tener en cuenta la incertidumbre real a la que están expuestos a largo plazo. En este post veremos cómo a través del forecasting probabilístico podemos mejorar la precisión e interpretación de las predicciones de estos modelos.

Introducción a forecasting y la incertidumbre

A diario estamos expuestos a pronósticos sobre distintos aspectos de nuestra vida cotidiana. Cada vez que escogemos la ruta óptima para llegar al trabajo, abrimos una cuenta de ahorros o escuchamos el pronóstico meteorológico, estamos tomando decisiones en base a predicciones a futuro que creemos que pueden ocurrir.

Sin embargo, la habilidad de hacer pronósticos certeros es también uno de los problemas más difíciles de resolver. Según una encuesta realizada por Mckinsey, bringing a real-world edge to forecasting, sólo el 8% de las empresas que realizan pronósticos de negocio está contenta con los resultados que ha obtenidos de ellos.

Dado el grado de incertidumbre al que se enfrenta esta problemática, hay una tendencia a utilizar modelos probabilísticos. Estos modelos no sólo son capaces de predecir la solución más probable, sino también el conjunto de las otras muchas soluciones que se podrían dar con cierta probabilidad. En este post vamos a introducir este nuevo enfoque en el desarrollo de modelos de IA, conocido como enfoque probabilístico o bayesiano.  Estudiaremos los distintos aspectos que pueden influir en su respuesta y qué soluciones existen para cada uno de ellos.

Tipos de incertidumbre en forecasting

Una de las personas que se ha hecho famosa siguiendo este tipo de enfoque probabilístico es Nate Silver. Este estadístico y escritor estadounidense conocido como ‘el brujo’, logró acertar en 49 de los 50 estados de las elecciones presidenciales estadounidenses de 2008. En su libro ‘The signal and the noise’ analiza algunos de los aspectos más relevantes para poder realizar pronósticos infalibles. En este libro se analizan distintos casos y cómo la incertidumbre puede afectar hasta las predicciones más certeras.

Incertidumbre epistémica: El análisis profundo de las variables más relevantes

Uno de los aspectos que destaca, es la capacidad de analizar el conjunto de variables relevantes para el pronóstico en cuestión, es decir, reducir la incertidumbre epistémica. Como ejemplo se menciona la crisis inmobiliaria que hubo en 2008 causada por las hipotecas subprime. En esta crisis los principales bancos de EEUU concedieron un tipo de hipotecas ‘basura’ que las agencias de calificación de riesgo pronosticaron como muy seguras, con sólo el 0,12% de probabilidad de impago. Históricamente parecía que estaba bastante claro que la gente siempre pagaba sus hipotecas. Sin embargo, el producto financiero1 que se creó realmente resultó ser mucho más complejo de lo que se conocía hasta el momento. Esto ligado a falta de estudio de las condiciones actuales del mercado (e.g. nivel de apalancamiento, evolución real del precio de la vivienda) generó la crisis financiera global que todos conocemos. Hoy día se sabe que esta probabilidad de impago de estas hipotecas resultó ser del 23%.

Incertidumbre aleatoria: El análisis del error imprevisible o incontrolable

Otro aspecto relevante a tener en cuenta es la aleatoriedad a la que están expuestos los pronósticos. En el caso concreto del forecasting nos encontramos ante un sistema dinámico. Muchos de vosotros conoceréis la frase:  ‘el pequeño vuelo de una mariposa en Brasil puede causar un tornado en Texas.’ también conocido como el efecto mariposa2. Y es que cualquier pequeño cambio en el entorno puede hacer que cambie completamente la respuesta del sistema.

Figura 1: El efecto mariposa – Concepto de teoría del caos propuesto por Edward Norton Lorenz

Si además tenemos en cuenta un horizonte temporal de predicción muy amplio, este efecto puede crecer exponencialmente. Por eso, a medida que los pronósticos meteorológicos se alejan del día actual suelen dar predicciones mucho menos precisas en la práctica.

Figura 2: Horizonte temporal – ventana de tiempo que se suele utilizar para realizar predicciones.

Modelos de forecasting probabilístico

Dado que los pronósticos están expuestos a una incertidumbre que en muchos casos puede ser impredecible. Un modelo de forecasting probabilístico no sólo tiene como objetivo estimar lo que conoce con certeza del problema. Sino que también estima lo que no conoce con tanta certeza del mismo. Es decir, estima la incertidumbre en la predicción o cómo esta podría variar su valor y con qué probabilidad.

Como podemos observar en los ejemplos anteriores, uno de los problemas que tenemos es que tanto como en política, economía o meteorología, se suele ofrecer siempre un único valor cómo el más fiable obviando el resto de soluciones del problema. Para estimar el conjunto de posibles soluciones o predicciones para cada entrada del modelo vamos a utilizar como herramienta la estadística bayesiana y las distribuciones de probabilidad.

Figura 3: Ilustración gráfica – Modelos de forecasting probabilístico.

Técnicas de forecasting probabilístico

Dentro del conjunto de técnicas o modelos que existen para realizar predicciones probabilísticas o estimar la incertidumbre asociada a la predicción, podemos diferenciarlas según la medida de incertidumbre que ofrecen, así como las asunciones que realizan del problema.

Figura 4: Medidas de incertidumbre en forecasting probabilistico

Desde el laboratorio de innovación de BBVA Next Technologies, hemos estudiado técnicas para obtener dos tipos de medidas de incertidumbre en modelos de Deep Learning. Se ha estudiado la obtención de intervalos de predicción mediante Deep Quantile Regression y distribuciones de probabilidad con Redes de Densidad Mixta.

Intervalos de predicción – Deep Quantile Regression

Los modelos de Deep Quantile Regression estiman la incertidumbre como intervalos de predicción. Un intervalo de predicción es un rango o conjunto de valores en los que sabemos que puede variar la predicción con X% de confianza. Por ejemplo en la figura 5, sabemos que el intervalo [11, 19] recoge un 50% de las predicciones y el intervalo [4, 25] recoge un 90% de las predicciones.

Como vemos en la siguiente figura, este método lo que hace es estimar partes o cuantiles de la distribución de probabilidad total yi por cada entrada xi.

Figura 5: Ilustración gráfica del método de estimación de Deep Quantile Regression.

Para esto la técnica de Deep Quantile Regression implementa la función de pérdida de pinball. Esta función minimiza una suma con penalizaciones asimétricas para las sobre-predicciones (aquellas predicciones que se realizan por encima del valor real) y las infra-predicciones (aquellas que están por debajo) de tal forma que para un mismo cuantil o valor de q, las penalizaciones que se aplican sobre estas predicciones son diferentes. En el siguiente notebook podéis encontrar una explicación detallada de cómo funciona esta función de pérdida.

Implementación

Para la implementación de este método, en un modelo de forecasting, simplemente es necesario sustituir la función de pérdida convencional (MSE) por la función de pérdida pinball. En el siguiente notebook podéis ver un ejemplo de implementación de esta técnica en la problemática de forecasting.

En este notebook se genera un dataset sintético de prueba como el que tenéis en esta figura:

Figura 6: Serie temporal sintéticamente generada con el objetivo de hacer pruebas.

Sobre este dataset se estiman los 5 cuantiles de la distribución de las predicciones. Estos se corresponden con los cuantiles: 0.1, 0.3, 0.5, 0.7 y 0.9. El área sombreada entre las líneas del cuantil 0.1 y 0.9 recogen el 90% de las predicciones. Esta sería la máxima incertidumbre o el mayor rango de variación de las predicciones.

Figura 7: Resultado de la predicción sobre 5 cuantiles.

La siguiente figura representa una ampliación o zoom sobre el conjunto de predicciones realizadas. Vemos como el área sombreada tiene como objetivo cubrir el conjunto de test (lineal naranja). En las zonas donde la incertidumbre es mayor [400,440] las predicciones (en azul) mantienen una variación más o menos constante. Sin embargo, la dispersión de las predicciones de los cuantiles extremos [q_0, q_4] es mayor en esta zona.

Figura 8: Ampliación o zoom de la fig.7 sobre la zona de predicción.

 

Distribución de probabilidad – Redes de densidad mixta

Otro de las técnicas que hemos estudiado son las redes de densidad mixta. Esta técnica nos ofrece la posibilidad de estimar la incertidumbre de las predicciones como una distribución de probabilidad. Para el caso de las redes de densidad mixta vamos a estimar una distribución de mixturas a la salida de la red para cada entrada del conjunto de datos.

Figura 9: Distribución de mixturas como la suma de dos componentes o mixturas gaussianas.

Este tipo de distribución consiste en la suma ponderada de m distribuciones de probabilidad o componentes, en la figura 9 podemos ver la suma de dos distribuciones gaussianas. El coeficiente de mezcla α nos da los pesos de participación de cada componente como vemos en la siguiente fórmula.

Figura 10: Formulación de la composición de una distribución de mixturas – aplicación en deep learning.

Para realizar la estimación de esta distribución de mixturas como se muestra en la figura 10 utilizamos la función log-likelihood como función de pérdida. El objetivo de entrenamiento de la red es evaluar y maximizar en cada iteración la probabilidad de las observaciones (conocidas) bajo la asunción de los parámetros de la distribución (estimados).

Figura 11: Ilustración intuitiva del funcionamiento de la función log-likelihood.

En la figura 11 se ha representado de forma intuitiva el funcionamiento de esta función de pérdida. En esta figura vemos como suponiendo una distribución de mixturas como la que se observa, tendríamos observaciones (datos) que tienen una probabilidad o likelihood más alta (representado con una línea vertical azul) y otras con una probabilidad mucho más baja (zona verde).

Para maximizar el likelihood (o minimizar el error o likelihood negativo) en cada iteración de entrenamiento de la red, tendríamos que variar la varianza y la media (corregirla hacia la derecha en este caso) para cubrir las observaciones de la zona verde. Tanto la varianza como la media son los parámetros de la distribución que pretendemos estimar para componer la distribución de mixturas final.

Implementación

Para la implementación de esta técnica seguimos los siguientes pasos:

  1. Cambiamos la arquitectura del modelo para incrementar la salida de la red. Los parámetros a estimar son además de la media de la distribución, su varianza por cada componente y el coeficiente de mezcla.
  2. Componemos la distribución de mixturas con el supuesto de parámetros o estimación de los mismos. Estos son los parámetros que vamos a contrastar con los datos reales en cada iteración, utilizando la función log-likelihood.
  3. Modificamos la función de pérdida de la red para implementar la función negative log-likelihood, como se ha explicado en el ejemplo anterior. Esta función evaluará en cada iteración los parámetros de la distribución de mixturas. En el proceso de backpropagation se reajustan los pesos de la red para minimizar el error o maximizar la probabilidad de observar los datos (conocidos) bajo nuestra hipótesis/estimación de parámetros.

A continuación se proporciona un notebook a modo de ejemplo con la implementación de esta técnica en la problemática de forecasting. Para ello se ha generado un dataset sintético de prueba como el que se puede ver en esta figura:

Figura 12: Serie temporal sintéticamente generada con el objetivo de hacer pruebas.

Como resultado se obtiene la distribución de probabilidad por cada punto. Esta medida como podemos observar es más informativa que los intervalos de predicción puesto que nos ayudan a identificar el conjunto de solución más probable para cada entrada del conjunto de datos. En la figura 14 se puede apreciar una distribución bi-modal como la suma de dos distribuciones gaussianas. Una de ellas tiene una varianza baja (menor incertidumbre) y la otra más alta (mayor incertidumbre).

Figura 13: Resultados obtenidos de predicción e incertidumbre en el dataset propuesto.

Figura 14: Resultados de incertidumbre como distribuciones de mixturas.

Conclusiones

Los pronósticos o predicciones a futuro forman parte de nuestro día a día. Sin embargo, también representan uno de los problemas más difíciles de resolver. A menudo suelen ser malinterpretados, sin tener en cuenta la incertidumbre real a la que están expuestos a largo plazo.

La estadística bayesiana y más concretamente los modelos de forecasting probabilísticos nos pueden ayudar a mejorar la precisión de nuestros pronósticos. En este post hemos visto que podemos ofrecer dos medidas incertidumbre distintas: intervalos de predicción y distribuciones de probabilidad P(yi|xi). Finalmente hemos visto que ofrecer estas medidas de incertidumbre nos puede ayudar a identificar aquellos casos en los que el modelo no está seguro de la predicción.

Notas

1Se crearon unos productos financieros derivados de crédito conocidos como CDO (Collateralized debt obligation).
2El efecto mariposa fue un concepto descubierto Edward Norton Lorenz mediante la implementación de un programa informático que pretendía realizar estimaciones meteorológicas. Durante el desarrollo de este programa se dio cuenta de que el simple hecho de trucar un dato a milésima podía hacer que el sistema se comportara de forma completamente diferente. El sistema pasó de realizar pronósticos más o menos precisos a predecir días soleados como días de tormenta.

Referencias

[1] Nate Silver. (2013). The Signal and Noise: Why So Many Predictions Fail–But Some Don’t. Editorial Penguin.

[2] https://github.com/beeva/TEC_LAB-bayesian_probabilistic

[3] Rodrigues, F., & Pereira, F. C. (2020). Beyond Expectation: Deep Joint Mean and Quantile Regression for Spatiotemporal Problems. IEEE Transactions on Neural Networks and Learning Systems, 1–13. https://doi.org/10.1109/tnnls.2020.2966745

[4] Brando, A., Rodríguez-Serrano, J. A., Vitrià, J., & Rubio, A. (2019). Modelling heterogeneous distributions with an Uncountable Mixture of Asymmetric Laplacians. (NeurIPS 2019). Retrieved from http://arxiv.org/abs/1910.12288

Las opiniones vertidas por el autor son enteramente suyas y no siempre representan la opinión de BBVA Next Technologies.

¿Quieres saber que más cosas hacemos en BBVA Next Technologies?