Causal diagram support
pzivich opened this issue · comments
For the problem of identification, it would be nice to have zEpid be a one-stop-shop for causal inference. To do this, I will need to add some support for causal diagrams (e.g. directed acyclic graphs, single-world intervention graphs, etc.).
A causal diagram class would need to:
- Generate a network
- Check that network is acyclic
- Find all open backdoor paths. Provide adjustment set
- Allow for censoring / missing data nodes and identifying adjustment sets
- Create a nice visualization like https://causalify.github.io/#start which I need to learn a good position algorithm for a network
Currently, I would not plan for this class to directly move to analyses. The reason being is that the diagrams are nonparametric but most analyses will need to be somewhat parametric (i.e. IPTW
relies on parametric models for weights).
Concerns:
- This addition will inflate the dependencies. I will likely have to add
NetworkX
and its corresponding dependencies.
Time to inflate those (optional) dependencies! Added DAGs in #143