I have this DAG DAG with 4 backdoor paths (D <- A -> P -> Su, D <- Ed -> St -> P -> Su, D <- Ed -> St -> Su, D <- Se -> Su). P is a collider, so the first two paths are closed

As I understand it, the paths D <- Ed -> St -> P -> Su and D <- A -> P -> Su are both closed because the contain the collider P. If I condition on P, both these paths will be open.

But that doesn't seem to be the case according to dagitty:


d = dagitty('dag {
A -> D
A -> P
D -> Em
D -> Su
Ed -> D
Ed -> St
Em -> Su
P -> Su
Se -> D
Se -> Su
St -> P
St -> Su

p = paths(d, from = 'D', to = 'Su')
[1] "D -> Em -> Su"            "D -> Su"                  "D <- A -> P -> Su"       
[4] "D <- Ed -> St -> P -> Su" "D <- Ed -> St -> Su"      "D <- Se -> Su"

Also if I condition on P, it doesn't open the two paths mentioned at the start, but does open the path D <- A -> P <- St -> Su.

Have I misunderstood the backdoor criterion? Does it have something to do with P being immediately next to the outcome Su?


2 Answers 2


$P$ would only be a collider if you were examining a path such as $A\to P\leftarrow St.$ That is, whether a node is a collider or not is actually dependent on the path you take through that node.

So both the paths $D\leftarrow Ed\to St\to P\to Su$ and $D\leftarrow A\to P\to Su$ have no colliders in them. You can think of it this way: suppose you took the subgraph of your graph consisting only of the nodes $\{A, Ed, St, P, Su\}.$ Would the first path you mentioned have a collider in it? Answer: no.

If you are considering $D$ as your cause, and $Su$ as your effect, you have a LOT of backdoor paths from $D$ to $Su$ that are unblocked. But if you were to condition on, say, the set $\{Se, St, P\},$ you would block them all.


As I understand it, the paths D <- Ed -> St -> P -> Su and D <- A -> P -> Su are both closed because the contain the collider P.

That's not quite right. I believe the key thing you're missing is the idea that, in a DAG, variables may play different roles depending on the path we're looking at. Thus, a variable may be a collider in one path but a mediator in another.

In this case, P isn't a collider in neither of the two paths you've picked. In fact, it's a mediator in both. The only back-door path in which P is a collider is D <- A -> P <- St -> Su. As you say, this back-door path is automatically closed because it has a collider.


Your Answer

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

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