cause2e
cause2e copied to clipboard
Replace py-causal by causal-learn?
Causal-learn "is a python package for causal discovery that implements both classical and state-of-the-art causal discovery algorithms, which is a Python translation and extension of Tetrad."
If it provides the same functionality as the (Java wrapper) py-causal library, but with the algorithms actually implemented in Python, this would free cause2e of any Java dependencies. I need to check out the package in more detail to see if it is that easy.
Necessary steps should be:
- write a new searcher class (analogous to TetradSearcher) that runs the search and communicates the resulting graph to the StructureLearner
- change the default behaviour of run_search and run_quick_search
- make dependency on py-causal optional (if users have py-causal installed, they should still be able to use it in cause2e)
- include dependency on causal-learn in setup and requirements
- update documentation method for search options
- update notebooks
Graph translation after search seems easy, but currently I see no possibilty of passing domain knowledge to the search methods from causal-learn. Created an issue: https://github.com/cmu-phil/causal-learn/issues/4