2
$\begingroup$

Is there any good libraries that allow me to:

  1. Construct a Bayesian network manually
  2. Specify the conditional probabilities with any continuous PDF, not just Guassian
  3. Perform inference, either exact or approximate

I looked at the following libraries so far, none of them meet the 3 requirements:

  • pgmpy: only work on discrete distribution or linear Guassian distribution
  • bnlearn: same as pgmpy
  • gRain: only discrete distribution
  • Huggin: only discrete distribution and Guassian
  • deal: no support for inference
  • abn: same as deal
  • libpgm: only discrete distribution and Guassian
$\endgroup$
  • 1
    $\begingroup$ Investigate tensorflow, edward, and pymc $\endgroup$ – Emre Apr 12 '17 at 3:25
1
$\begingroup$

Not a library, but a interactive GUI based tool is "samiam" (Sensitivity Analysis Modeling Inference and More) from a research group at UCLA.

I am not sure about your "continuous PDFs" requirement, whether it's possible to define them inside the samiam GUI.

samiam is free to download, but registration is required.

The size of the software is small, but java-based (ok, the jvm is not that small).

For API-access, you might call functions inside the inflib.jar file.

There also exists a "Batch tool" and a "Code Bandit" (code generator). Haven't used any of them.

| improve this answer | |
$\endgroup$
1
$\begingroup$

Also have look at Genie (GUI) and SMILE (Lib) from BayesFusion (formerly University of Pittsburgh). Academic usage is free, but registration required.

| improve this answer | |
$\endgroup$
1
$\begingroup$

You can use pymc3. I am pretty sure it works for all the 3 requirements. http://pymc-devs.github.io/pymc3/

| improve this answer | |
$\endgroup$
  • $\begingroup$ I don't see a way to construct Bayesian network (directed graphical model) using PyMC3, but it seems that Edward, which depends on PyMC3, has that support. $\endgroup$ – Zebra Propulsion Lab Apr 14 '17 at 6:07
  • 1
    $\begingroup$ Since Edward uses PyMC3, I am pretty sure you can build PGMs with PyMC3 directly. The implementation is not that hard. I have tried PGMPy but since you ask for any continuous pdf as your requirement, you need to use PyMC3. You just need to go a level deeper writing your conditional distributions as equations. The inference and analysis are as easy as it gets! $\endgroup$ – ashudeep21 Apr 15 '17 at 18:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.