Después de investigar un poco sobre el tema, he notado un sorprendente déficit de paquetes de inferencia y bibliotecas que dependen de métodos de optimización o transmisión de mensajes para Python y R.
Que yo sepa, estos métodos son extremadamente útiles. Por ejemplo, para una red de Bayes (dirigida, acíclica), la propagación de creencias por sí sola debería ser capaz de dar respuestas exactas. Sin embargo, la mayoría del software de inferencia que está disponible en línea (por ejemplo, STAN, BUGS, PyMC) se basa en métodos MCMC.
En el caso de Python, que yo sepa, ni PyMC, scikit-learn o statsmodels incluyen algoritmos de inferencia variacional como propagación de creencias, métodos de transmisión de mensajes o cualquiera de sus variantes.
¿Porqué es eso? ¿Son estos métodos menos utilizados en la práctica porque no se consideran tan potentes o genéricos como sus contrapartes MCMC? o ¿Es simplemente una cuestión de falta de mano de obra y tiempo?
fuente
Respuestas:
¿Has mirado a Edward ? La API de inferencia admite, entre otras cosas, la inferencia variacional:
KL(p∥q)
fuente