I need a little help with Bayesian Networks. Consider given the following network (all variables are binary) and we need to check conditional independence of $A$ and $C$ if $X$ and $Z$ are given.

Any suggestions?

The network is:

enter image description here

Thanks in advance.


I have some online software that might help you:


Shameless plug aside, you want to be able to say that $A$ and $C$ are $d$-separated by $X$ and $Z$ (because $d$-separation is a good proxy for statistical independance under certain assumptions).

The basic idea is to check the paths (without cycles) ignoring the arrows. So you have two paths

$$(I) \;\;\; A\rightarrow Z \leftarrow Y \leftarrow X \leftarrow C$$ $$(II) \;\;\; A\rightarrow Z \leftarrow B \rightarrow X \leftarrow C$$

The idea then is to check that both paths are blocked by conditioning on $X$ and $Z$. I find this definition easy to work with, a path is blocked if

  1. the path contains a chain $P \rightarrow Q \rightarrow R$ or a fork $P \leftarrow Q \rightarrow R$ with $Q$ being conditioned, OR

  2. the path contains a collider $P \rightarrow Q \leftarrow R$ with neither $Q$ nor any descendant of $Q$ being conditioned.

The first one roughly corresponds to our intuition about common causes, and the second one roughly corresponds to our understanding of Simpson's paradox.

The "or" is very important. Because (I) satisfies 1 but not 2. But (II) does not satisfy either. What is happening here is you are (potentially) introducing a correlation between $A$ and $C$ by your conditioning on $X$ and $Z$ via their link to $B$ (Simpson's paradox).


Conditioning on either $X$ or $Z$ would give you independence, it's just doing both that makes it fail.

Conditioning on $X$ introduces a correlation between $A$ and $B$, which is fine on its own, conditioning on $Z$ introduces a correlation between $B$ and $C$, which is fine on its own. But doing both introduces a correlation between $A$ and $C$ because $A$ is correlated with $B$ and $B$ is correlated with $C$.

  • $\begingroup$ Thanks, it is rather helpful, but I need to show it analytically. $\endgroup$ – Roman Dryndik Jun 8 '13 at 13:51
  • $\begingroup$ It has a tutorial part, but the whole d-separation bit is incomplete. $\endgroup$ – Lucas Jun 8 '13 at 13:52
  • $\begingroup$ I will add how to work it out by hand... $\endgroup$ – Lucas Jun 8 '13 at 13:52
  • $\begingroup$ Thanks, I will check carefully. $\endgroup$ – Roman Dryndik Jun 8 '13 at 13:52
  • $\begingroup$ @RomanDryndik actually, it seems I haven't uploaded it at all. Sorry :( $\endgroup$ – Lucas Jun 8 '13 at 13:54

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.