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.
MIT License
Bot releases are hidden (Show)
Contributors: @bhatt-priyadutt, @drawlinson, @bloebp, @amit-sharma
Published by amit-sharma 11 months ago
A big thank you to all the contributors: @amit-sharma, @bloebp, @kunwuz
Published by amit-sharma about 1 year ago
This is a patch release.
Thanks to everyone for contributing issues and fixes for this patch.
Published by amit-sharma about 1 year ago
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
Published by amit-sharma almost 2 years ago
Minor update to v0.9.
Thanks @darthtrevino, @petergtz, @andresmor-ms for driving this release!
Published by amit-sharma almost 2 years ago
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
Published by amit-sharma over 2 years ago
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
Published by amit-sharma over 2 years ago
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!
Published by amit-sharma almost 3 years ago
[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
Published by amit-sharma over 3 years ago
pip install dowhy[plotting]
A big thanks to @arshiaarya, @n8sty, @moprescu and @vojavocni for their contributions!
Published by amit-sharma almost 4 years ago
identify_effect
common_causes
and effect_modifiers
Published by amit-sharma almost 4 years ago
Installation
Code
Docs
Community
A big thanks to @Tanmay-Kulkarni101, @ErikHambardzumyan, @Sid-darthvader for their contributions.
Published by amit-sharma over 4 years ago
DummyOutcomeRefuter now includes machine learning functions to increase power of the refutation.
Added a new BootstrapRefuter that simulates the issue of measurement error with confounders. Rather than a simple bootstrap, you can generate bootstrap samples with noise on the values of the confounders and check how sensitive the estimate is.
All refuters now provide confidence intervals and a significance value.
Better support for heterogeneous effect libraries like EconML and CausalML
CI and Standard errors: Added bootstrap-based confidence intervals and standard errors for all methods. For linear regression estimator, also implemented the corresponding parametric forms.
Convenience functions for getting confidence intervals, standard errors and conditional treatment effects (CATE), that can be called after fitting the estimator if needed
Better coverage for tests. Also, tests are now seeded with a random seed, so more dependable tests.
Thanks to @Tanmay-Kulkarni101 and @Arshiaarya for their contributions!
Published by amit-sharma almost 5 years ago
This release includes many major updates:
Includes contributions from @j-chou, @ktmud, @jrfiedler, @shounak112358, @Lnk2past. Thank you all!
Published by amit-sharma over 5 years ago
This release implements the four steps of causal inference: model, identify, estimate and refute. It also includes a pandas.DataFrame extension for causal inference and the do-sampler.