PyMC3 -> PyMC v4 migration

I am very excited about this development. Improved performance is always nice, especially given how massive some improvements seem to be. Another convenience that will hopefully make my live much easier is that then C-compilation will be dropped. The compilation directory had to be managed manually when multiple projects ran on the same file system and they could grow to terabytes in size. All this will probably go away and make working with PyMC even easier.

My main concern is that less commonly used features will go away in the new version. Specifically, using the .dist function of distributions without generating a named RV seems to work differently and I do not know how yet. I know that using the distributions in pm.Potential is sometimes considered “hacky”. But if you know the analytic form of the posterior, it can be more straight forward to use it in pm.Potential and in some use cases I have not found an alternative way. Another maybe less loved feature is the find_MAP since its results can be misleading and some of the advantages of Bayesian analysis are wasted. However, if one makes sure the posterior is concave and its mode aligns with the mean, then there is no quicker way to find it.

PyMC v4 seems to be an amazing advancement for the software in any case and I am very grateful for the awesome community and the extremely useful software! All the best for the lunch :rocket:

4 Likes