Synthesizing marginal probabilities with differing IV quantization using Bayesian Networks

New to PyMC3 (used PyMC2 for ages, then Stan for a long time, now curious to try PyMC3), and wondering what the “best” way to implement a common issue I see is.

I’d like to use a Bayesian Network to synthesize different data sources that all measure things a little differently. One tricky aspect is that the marginal probabilities I get from those sources all use slightly different methods for discretizing the independent variables. For instance, one gives values by wealth quartiles while the other uses quintiles; or they give marginals by age group, but use different (non-overlapping) bins in reporting.

So for a simplified example say I have information on `p(A | X')` and `p(B | X*)`, where `X'` and `X*` are different discretized transformations of the underlying continuous variable `X`. And I want to then e.g. estimate the joint distribution of `A` and `B`.

I could imagine a few ways that might work to model that:

1. Include `X` as a continuous random variable in the model and then create `X'` and `X*` using discretizing transformations
2. Include both `X'` and `X*` as random variables by using a multivariate distribution that attempts to incorporate the relationships between them as e.g. a correlation matrix
3. Instead start by simulating individuals from the population directly using the marginal probabilities

My intuition is that 1 is the most correct way, but that I would run into issues with performance due to the discretization (or at least that was my experience with Stan in the past). Any advice (and suggestions/examples of how to implement it) would be greatly appreciated!