I have a graphical model with binary variables Y, X1, X2, and observed data D.

D depends on Y X1 and X2 depend on Y

When Y is false, X1 and X2 are independent:

(D) <-- (Y) --> (X1)

However, when Y is true, X1 and X2 are not independent and must be modeled in a joint manner:

(D) <-- (Y) --> (X1,X2)

I've tried putting in an "edge" variable E between X1 and X2 that is influenced by Y; I can get the correct behavior when Y is false, but not when Y is true:

(D) <-- (Y) --> (X1)
         |       ^
         V       E
       (X2) <- /

(that is Y --> E and E --> X1 and E --> X2)

If I reverse the directed edges so that they point from X1 and X2 to E, then the moral graph once again always treats X1 and X2 as joint.

So I can't seem to encode state-dependent independence...

Is there established theory about such networks (if so what is this relationship called)? Is there a way to encode or transform the graph with temporary variables or something so that, if you know given D, Y must be false, that you can use the first graph (where X1 and X2 are independent given Y), and have faster inference?

Of course, I should point out that this is a toy example; the real one is huge.

Thank you very much for your help. And sorry for the ascii graphs, I was raised by wolves.


1 Answer 1


You cannot express state-dependent independencies with standard directed (Bayesian networks) or undirected graphical models (Markov networks). But you can use an extension called gates which are described

      T. Minka & J. Winn, Gates: A graphical notation for mixture models, 2008

and were designed specifically for this purpose.

  • $\begingroup$ This is exactly what I was looking for. "Thank you, kind raccoon!" $\endgroup$
    – user
    Aug 9, 2013 at 11:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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