y0-causal-inference/y0

How do we handle subunit-level confounding in a hierarchical causal model?

Closed this issue · 2 comments

Because NxMixedGraph cannot (currently) handle subunit-level observed or latent variables, how should we handle subunit-level confounders?

After discussing with Eli, the theory currently does not account for subunit-level confounding, although they working on a follow-up paper about this. Until that is out, we should add a flag in collapse_HCM to throw an Error if the input HCM has subunit confounding.

Let's add a flag to HierarchicalCausalModel.to_admg() to raise a NotImplementedError if there are unobserved subunit variables in the model with more than one child (i.e. unobserved subunit confounder).
Make a hidden method to check for unobserved confounder.