dodiscover
dodiscover copied to clipboard
Assumptions as first class citizen
Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
- Algorithms return a graph AND an updated context variable.
- Context variable has an element that stores assumptions that were used in the algorithm
- The abstraction should have partial ordering between assumptions: nonparametric CI/score < parametric CI/score < SCM-based
- Assumptions about faithfulness should be indicated
- Other possible assumptions (based on a slide by Spirtes at Neurips2022)
- Markov assumption (a violation would be if X->Y, but X was x when it caused Y=y, but X was x' at time of measurement)
- No latent confounders
- IID
- Same causal structure
- No non-causal relations
- No selection bias
- No measurement error
- No missing values
- No multiple data sets from different contexts
- No aggregation of values
- SUTVA
Describe alternatives you've considered Another solution is assumptions just made clearly in docstrings that are clear about assumptions. This is less preferred because we want to enable downstream analysis in do-why that might have more or less conservative assumptions that was used in discovery
Additional context Add any other context or screenshots about the feature request here.
We probably want both assumptions clearly indicated in docstrings and the Context. But documentation is a never-ending process, so that can be more of a long-haul when users have questions/etc.