v0.8.0
This is a major release containing several important improvements.
- Support for python 3.8, tensorflow 2, and sklearn 0.22 and above (#210)
- Major enhancements to bootstrap inference, allowing stratified bootstrap for discrete treatments, full inference support \when using bootstrap (including things like
summary
to get nice results tables), and the ability to use pivot bootstrap (now the default) or bootstrap with a parametric normal assumption instead of percentile bootstrap (#236, #299) - Major performance improvements to our OrthoForest classes; in some of our tests the new code is ~10x faster (#316)
- Added a CausalForest implementation comparable to grf (#316)
- Added full inference support for our Forest classes using bootstrap of little bags (including things like
summary
to get a nice results table) (#316) - Added support for feature importance to ForestDML and ForestDRLearner, and sped them up substantially (#306)
- Most estimators now support
inference='auto'
by default during fitting to use a fast recommended form of inference for that estimator (#307) - Added a robust linear model (
StatsModelsRLM
) that can be used as a final stage for DML while supporting inference (#307) - Enabled grouping during cross-fitting for DML and other OrthoLearner classes (#273)
- New case study notebooks incorporating DoWhy (#255)
- Many bug fixes and small enhancements, such as enabling model serialization (#258, #248, #318, #305, #283)
Upcoming breaking changes
We have also taken this opportunity to deprecate some aspects of our existing code, and which we will remove completely in a future update to the library. You will now see a warning if you use these features.
- The DML estimators have been renamed to remove the
CateEstimator
suffix; for example, you can now use justLinearDML
instead ofLinearDMLCateEstimator
. You can continue to use the old names for now, but should move to the new names since the old ones will be removed in a future update. - The OrthoForest classes have also been renamed to make their names more similar to other classes in our package.
DiscreteTreatmentOrthoForest
is nowDROrthoForest
andContinuousTreatmentOrthoForest
is nowDMLOrthoForest
. - Arguments to
fit
other thanY
orT
should now be passed by keyword rather than positionally; previously we had encountered cases where users were passing arguments in the wrong order, which we hope this change will prevent. Again, the old usage will generate a warning and will be removed in a future update.