PyMC api for construction and inference with Bayesian Networks #6625
Replies: 2 comments 8 replies
-
What a great idea! For pymc and pyro using either MCMC or SVI it would be easy to configure such networks both at a top and hierarchical level. I'd be very interested - would the BN api potentially include structure learning too? |
Beta Was this translation helpful? Give feedback.
-
@arainboldt do you have some ideas of what such API could look like and what would it be doing behind the scenes? |
Beta Was this translation helpful? Give feedback.
-
Hi all,
In response to this thread from @drbenvincent on the topic of bayesian networks with PyMC, and in followup to this thread, I wanted to see if there was any general interest in developing a PyMC api for defining and inferring with bayesian networks.
What alternatives exist and why not use them?
While there are a handful of libraries that cover a good deal of the needs for working with discrete bayesnets, e.g. pommegranate, bnlearn, the former doesn't utilize mcmc for parameter learning, and the latter doesn't offer the flexibility and power that the PyMC ecosystem does. So far as I can tell at least.
It'd be nice to know what other people might be interested in using a bayesian networks defined in PyMC for. I'll share my currently desired use case.
My current use case:
My current project is using discrete data that has some very poorly represented portions of the probability space. Consequently, the straightforward conditional-probability-table method that's usually employed with discrete BNs will leave a lot of zero-probability zones in our model that shouldn't be completely zero. Additionally, our data has a natural hierarchy. Consequently, we'd like to utilize the natural structure in the data to fill in the gaps, so to speak. bayesian hierachical modelling is a natural solution to this issue, but I'm not aware of how this could be done with existing BN tools outside of PyMC. Please share any suggestions.
In addition to the above reason, PyMC is just a pleasure to work with and Bayes Nets seem like a natural extension of its application.
Love to hear what others' thoughts are and if there's any interest in contributing to developing a BN api for PyMC.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions