DoWhy is a Python library for causal inference that supports explicit modeling and testing of causal assumptions. DoWhy is based on a unified language for causal inference, combining causal graphical models and potential outcomes frameworks.
Contributors: @bhatt-priyadutt, @drawlinson, @bloebp, @amit-sharma
A big thank you to all the contributors: @amit-sharma, @bloebp, @kunwuz
This is a patch release.
Thanks to everyone for contributing issues and fixes for this patch.
A big thanks to all the contributors. @AlxndrMlk @amit-sharma @andresmor-ms @bloebp @darthtrevino @eeulig @eltociear @emrekiciman @jivatneet @kbattocchi @Klesel @MFreidank @MichaelMarien @moberst @Padarn @petergtz @RoseDeSicilia26 @sgrimbly @vspinu @yoshiakifukushima @Zethson
Minor update to v0.9.
Thanks @darthtrevino, @petergtz, @andresmor-ms for driving this release!
Preview for the new functional API (see notebook). The new API (in experimental stage) allows for a modular use of the different functionalities and includes separate fit and estimate methods for causal estimators. Please leave your feedback here. The old DoWhy API based on CausalModel should work as before. (@andresmor-ms)
Faster, better sensitivity analyses.
New API for unit change attribution (@kailashbuki)
New quality option BEST
for auto-assignment of causal mechanisms, which uses the optional auto-ML library AutoGluon (@bloebp)
Better conditional independence tests through the causal-learn package (@bloebp)
Algorithms for computing efficient backdoor sets [ example notebook ] (@esmucler)
Support for estimating controlled direct effect (@amit-sharma)
Support for multi-valued treatments for econml estimators (@EgorKraevTransferwise)
New PyData theme for documentation with new homepage, Getting started guide, revised User Guide and examples page (@petergtz)
A contributing guide and simplified instructions for new contributors (@MichaelMarien)
Streamlined dev environment using Poetry for managing dependencies and project builds (@darthtrevino)
Bug fixes
A big thanks to @petergtz, @kailashbuki, and @bloebp for the GCM package and @anusha0409 for an implementation of partial R2 sensitivity analysis for linear models.
Graphical Causal Models: SCMs, root-cause analysis, attribution, what-if analysis, and more.
Sensitivity Analysis: Faster, more general partial-R2 based sensitivity analysis for linear models, based on Cinelli & Hazlett (2020).
New docs structure: Updated docs structure including user and contributors' guide. Check out the docs.
Bug fixes
Contributors: @amit-sharma, @anusha0409, @bloebp, @EgorKraevTransferwise, @EliKling, @kailashbuki, @itsoum, @MichaelMarien, @petergtz, @ryanrussell
Graph refuter with conditional independence tests to check whether data conforms to the assumed causal graph
Better docs for estimators by adding the method-specific parameters directly in its own init method
Support use of custom external estimators
Consistent calls for init_params for dowhy and econml estimators
Add support for Dagitty graphs
Bug fixes for GLM model, causal model with no confounders, and hotel case-study notebook
Thank you @EgorKraevTransferwise, @ae-foster, and @anusha0409 for your contributions!
[Major] Faster backdoor identification with support for minimal adjustment, maximal adjustment or exhaustive search. More test coverage for identification.
[Major] Added new functionality of causal discovery [Experimental]. DoWhy now supports discovery algorithms from external libraries like CDT. Example notebook
[Major] Implemented ID algorithm for causal identification. [Experimental]
Added friendly text-based interpretation for DoWhy's effect estimate.
Added a new estimation method, distance matching that relies on a distance metrics between inputs.
Heuristics to infer default parameters for refuters.
Inferring default strata automatically for propensity score stratification.
Added support for custom propensity models in propensity-based estimation methods.
Bug fixes for confidence intervals for linear regression. Better version of bootstrap method.
Allow effect estimation without need to refit the model for econml estimators
Big thanks to @AndrewC19, @ha2trinh, @siddhanthaldar, and @vojavocni
pip install dowhy[plotting]
A big thanks to @arshiaarya, @n8sty, @moprescu and @vojavocni for their contributions!