Evaluating causal inference methods in a scientifically thorough way is a cumbersome and error-prone task. To foster good scientific practice JustCause provides a framework to easily:
- evaluate your method using common data sets like IHDP, IBM ACIC, and others;
- create synthetic data sets with a generic but standardized approach;
- benchmark your method against several baseline and state-of-the-art methods.
Our cause is to develop a framework that allows you to compare methods for causal inference in a fair and just way. JustCause is a work in progress and new contributors are always welcome.
In order to set up the necessary environment:
- create an environment
justcause
with the help of conda,conda env create -f environment.yaml
- activate the new environment with
conda activate justcause
- install
justcause
with:python setup.py install # or `develop`
Optional and needed only once after git clone
:
- install several pre-commit git hooks with:
and checkout the configuration under
pre-commit install
.pre-commit-config.yaml
. The-n, --no-verify
flag ofgit commit
can be used to deactivate pre-commit hooks temporarily.
Some steps to continue the work on this project would be:
- Allow to use Confidence Intervals in the learners (see
causalml
, for example) and in the evaluation - Implement a fully parametric DGP, following the dimensions roughly outlined in Chapter 4 of the thesis
- Rewrite the plot functions in
utils.py
to simply takeDataProvider
as inputs and handle the internals within the functions. - Implement a run-checker that ensures that all methods fit on the data and/or that no complications arise, before expensive computation is started. (e.g. requested size is to big for given DataProvider)
- Obviously, add more methods and reference datasets ;)
- use Sphinx (checkout
docs
folder) to create command reference and some explanations. - add some example notebooks in the
notebooks
folder of experiments and parameter studies - Check licences of third-party methods and add and note them accordingly. Within the init.py of the subpackage add a docstring and state the licences and the original authors.
This project has been set up using PyScaffold 3.2.2 and the dsproject extension 0.4. For details and usage information on PyScaffold see https://pyscaffold.org/.