Compute probability of parameters given data in a bayesian network

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 :vulcan_salute:

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