Skip to content

v0.8.0

Compare
Choose a tag to compare
@kbattocchi kbattocchi released this 18 Nov 23:02

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 just LinearDML instead of LinearDMLCateEstimator. 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 now DROrthoForest and ContinuousTreatmentOrthoForest is now DMLOrthoForest.
  • Arguments to fit other than Y or T 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.