¿Cuáles son los requisitos previos para aprender programación probabilística?

A nivel conceptual, debe comprender la teoría de la probabilidad y las estadísticas, en particular los modelos generativos o jerárquicos.

Entonces necesita saber cómo programar en su entorno de programación probabilística de elección. Por ejemplo, PyMC usa Python, mientras que Stan usa su propio lenguaje de dominio específico e interfaces con una variedad de entornos de programación como Python, R, Matlab y muchos otros.

Existen muchos otros entornos para la programación probabilística, pero PyMC y Stan parecen ser los más desarrollados para el uso práctico. Se basan principalmente en el muestreo MCMC (se está introduciendo Inferencia Variacional), por lo que también es bueno entenderlo, especialmente si va a trabajar en un modelo desafiante que requiere que proporcione una distribución de propuestas (en la que se puede pensar). como una heurística para el muestreo MCMC).

Otros entornos utilizan diferentes métodos. Por ejemplo, Figaro incluye varios algoritmos además del muestreo (como la propagación de creencias y la eliminación de variables) además del muestreo, y está integrado en el lenguaje Scala.