Hello,

I’m new to pyMC3 and I would like to know if it is possible to use it to solve the following problem: I have a bayesian network (the one in the figure below) and I don’t know the parameters of the distributions of A,B,C,D and S, I just know the type of distribution (there are both discrete and continuous distributions). I have data from A,B,C and D (thus S is a hidden variable and it is discrete) and my goal is to determine the probability of S given the observed data. I know that one approach is to use the expectation maximization algorithm but I was wondering if it is possible to solve the problem with pyMC3. Thank you.

Hi Daniele,

I can’t answer your question directly, but I’m thinking that this thread by @drbenvincent could be useful to you

If you can describe the relationships `S ~ f(A, B)`

and `C ~ g(S)`

and `D ~ h(S)`

, as well as the distributions for `A`

, `B`

, `S`

, `C`

, `D`

, then I think you have everything you need to describe a PyMC3 model. If you don’t have the relationships, then I don’t think it’s doable in PyMC3 (but not totally sure).

Alternatively it might be possible to solve with different approaches, see Chapter 3 (More complex cases: Hybrid Bayesian Networks) in Bayesian Networks: with examples in R by Scutari & Denis.

1 Like

thank you

ok I got it! thank you