Release notes#
DoubleML 0.5.2 - Fix / adapted unit tests which failed in the release of 0.5.1 to conda-forge
DoubleML 0.5.1
Store estimated models for nuisance parameters #159
Bug fix: Overwrite for tune method (introduced for depreciation warning) did not return the tune result #160 #162
DoubleML 0.5.0
Implement a new score function
score = 'IV-type'
for the PLIV model (for details see #151) –> API change fromDoubleMLPLIV(obj_dml_data, ml_g, ml_m, ml_r [, ...])
toDoubleMLPLIV(obj_dml_data, ml_g, ml_m, ml_r, ml_g [, ...])
Adapt the nuisance estimation for the
'IV-type'
score for the PLR model (for details see #151) –> API change fromDoubleMLPLR(obj_dml_data, ml_g, ml_m [, ...])
toDoubleMLPLR(obj_dml_data, ml_l, ml_m, ml_g [, ...])
Allow the usage of classifiers for binary outcome variables in the model classes IRM and IIVM #134
Published in JMLR: DoubleML - An Object-Oriented Implementation of Double Machine Learning in Python (citation info updated in #138)
DoubleML 0.4.1
We added Contribution Guidelines, issue templates, a pull request template and a discussion forum to the Python package repository #132
Code refactorings, docu updates, unit test extensions and continuous integration #126 #127 #128 #130 #131
DoubleML 0.4.0
Release highlight: Clustered standard errors for double machine learning models #116
Improve exception handling for missings and infinite values in the confounders, predictions, etc. (fixes #120 by allowing null confounder values) #122
Clean up dev requirements and use dev requirements on github actions #121
Other updates #123
DoubleML 0.3.0
Always use the same bootstrap algorithm independent of
dml1
vsdml2
and consistent with docu and paper #101 & #102Added an exception handling to assure that an IV variable is specified when using a PLIV or IIVM model #107
Improve exception handling for externally provided sample splitting #110
Minor update of the str representation of
DoubleMLData
objects #112Code refactorings and unit test extensions #103, #105, #106, #111 & #113
DoubleML 0.2.2
IIVM model: Added a subgroups option to adapt to cases with and without the subgroups of always-takers and never-takers (#96).
Add checks for the intersections of
y_col
,d_cols
,x_cols
,z_cols
(#84, #97). This also fixes #83 (with intersection betweenx_cols
andd_cols
a column could have been added multiple times to the covariate matrix).Added checks and exception handling for duplicate entries in
d_cols
,x_cols
orz_cols
(#100).Check the datatype of
data
when initializingDoubleMLData
objects. Also check for duplicate column names (#100).Fix bug #95 in #97: It occurred when
x_cols
where inferred via setdiff andy_col
was a string with multiple characters.We updated the citation info to refer to the arXiv paper (#98): Bach, P., Chernozhukov, V., Kurz, M. S., and Spindler, M. (2021), DoubleML - An Object-Oriented Implementation of Double Machine Learning in Python, arXiv:2104.03220.
DoubleML 0.2.1
Provide an option to store & export the first-stage predictions #91
Added the package logo to the doc
DoubleML 0.2.0
Major extensions of the unit test framework which result in a coverage >98% (a summary is given in #82)
In the PLR one can now also specify classifiers for
ml_m
in case of a binary treatment variable with values 0 and 1 (see #86 for details)The joint Python and R docu and user guide is now served to https://docs.doubleml.org from a separate repo https://github.com/DoubleML/doubleml-docs
Generate and upload a unit test coverage report to codecov https://app.codecov.io/gh/DoubleML/doubleml-for-py #76
Run lint checks with flake8 #78, align code with PEP8 standards #79, activate code quality checks at codacy #80
Refactoring (reduce code redundancy) of the code for tuning of the ML learners used for approximation the nuisance functions #81
Minor updates, bug fixes and improvements of the exception handling (contained in #82 & #89)
DoubleML 0.1.2
Fixed a compatibility issue with
scikit-learn
0.24, which only affected some unit tests (#70, #71)Added scheduled unit tests on github-action (three times a week) #69
Split up estimation of nuisance functions and computation of score function components. Further introduced a private method
_est_causal_pars_and_se()
, see #72. This is needed for the DoubleML-Serverless project: https://github.com/DoubleML/doubleml-serverless.
DoubleML 0.1.1
Bug fix in the drawing of bootstrap weights for the multiple treatment case #66 (see also https://github.com/DoubleML/doubleml-for-r/pull/28)
Update install instructions as DoubleML is now listed on pypi
Prepare submission to conda-forge: Include LICENSE file in source distribution
Documentation is now served with HTTPS https://docs.doubleml.org/
DoubleML 0.1.0
Initial release
Development at https://github.com/DoubleML/doubleml-for-py
The Python package DoubleML provides an implementation of the double / debiased machine learning framework of Chernozhukov et al. (2018).
Implements double machine learning for four different models:
Partially linear regression models (PLR) in class
DoubleMLPLR
Partially linear IV regression models (PLIV) in class
DoubleMLPLIV
Interactive regression models (IRM) in class
DoubleMLIRM
Interactive IV regression models (IIVM) in class
DoubleMLIIVM
All model classes are inherited from an abstract base class
DoubleML
where the key elements of double machine learning are implemented.
DoubleML 0.5.2
Store estimated models for nuisance parameters #169
New maintainer of the CRAN package DoubleML @PhilippBach
DoubleML 0.5.1
Fix a CRAN issue (html checks) by regenerating
.Rd
-files with the newest version ofroxygen2
. #166 #167 #168
DoubleML 0.5.0
Implement a new score function
score = 'IV-type'
for the PLIV model (for details see #161) –> API change fromDoubleMLPLIV$new(obj_dml_data, ml_g, ml_m, ml_r [, ...])
toDoubleMLPLIV$new(obj_dml_data, ml_g, ml_m, ml_r, ml_g [, ...])
Adapt the nuisance estimation for the
'IV-type'
score for the PLR model (for details see #161) –> API change fromDoubleMLPLR$new(obj_dml_data, ml_g, ml_m [, ...])
toDoubleMLPLR$new(obj_dml_data, ml_l, ml_m, ml_g [, ...])
Use
task_type
instead oflearner_class
to identify whether a learner is meant to regress or classify (this change makes it possible to easily integrate pipelines frommlr3pipelines
as learner for the nuisance functions) #141Add Contribution Guidelines, issue templates, a pull request template and a discussion forum to the R package repository #142 #146 #147
Allow the usage of classifiers for binary outcome variables in the model classes IRM and IIVM #114
DoubleML 0.4.1
Prevent usage of
glmnet
learner for unit testing as recommended by CRAN (failing tests on Solaris) #137Prepare for the upcoming release of
checkmate
which is not backward compatible with our unit tests #134
DoubleML 0.4.0
Release highlight: Clustered standard errors for double machine learning models #119
Apply styler as described in the wiki (https://github.com/DoubleML/doubleml-for-r/wiki/Style-Guidelines) and add a corresponding CI on github actions #120 #122
Other refactoring, bug fixes and documentation updates #127 #129 #130 #131 #132 #133
DoubleML 0.3.1
Initialize all numeric matrices, vectors and arrays with the correct data type by using
NA_real_
instead ofNA
and replace aprint()
call withcat()
#115
DoubleML 0.3.0
Fix the aggregation formula for standard errors from repeated cross-fitting #94 & #95
Always use the same bootstrap algorithm independent of
dml1
vsdml2
and consistent with docu and paper #98 & #99Initialize predictions with NA and make sure that there are no misleading entries in the evaluated score functions #96 & #105
Fixes in the exception handling and extension of the unit tests for the score function choice #82
Prevent overwriting parameters from initialization when calling set_ml_nuisance_params #87 & #89
Major refactoring and cleanup and extension of the unit test framework #101
Extension and reorganization of exception handling for
DoubleMLData
objects #63 & #90Adaption to be compatible with an API change in the next
mlr3
release #103Run unit tests with mlr3 in dev version on github actions #104
Added a short version of and a reference to the arXiv paper as vignette #110 & #113
Prevent using the subclassed methods check_score and check_data when constructing DoubleML objects #107
DoubleML 0.2.1
Provide an option to store & export the first-stage predictions #74
Reduce and refine messaging to the console during estimation #72
Fix bug in IIVM model if the IV variable is not named
z
#75Fix failing unit test #71
Added the package logo to the doc
DoubleML 0.2.0
In the PLR one can now also specify classifiers for
ml_m
in case of a binary treatment variable with values 0 and 1Major refactoring of core-parts of the estimation and tuning of the ML estimators for the nuisance functions: All models now use central helper functions
dml_cv_predict()
anddml_tune()
Extensions to the unit test framework to improve upon test coverage
Added unit test coverage via codecov: https://app.codecov.io/gh/DoubleML/doubleml-for-r
DoubleML 0.1.2
Adapt calls to
mlr3tuning
due to a change in their API (since version 0.6.0): fixes #51Add
bbotk
to suggests: fixes R CMD check note #47Use
doi{}
command: fixes R CMD check note #54Minor docu updates as
DoubleML
is now available on CRAN
DoubleML 0.1.1
First release to CRAN https://cran.r-project.org/package=DoubleML
Clean up of imports
Continuous integration was extended by unit tests on github actions https://github.com/DoubleML/doubleml-for-r/actions
DoubleML 0.1.0
Initial release
Development at https://github.com/DoubleML/doubleml-for-r
The R package DoubleML provides an implementation of the double / debiased machine learning framework of Chernozhukov et al. (2018).
Implements double machine learning for four different models:
Partially linear regression models (PLR) in class
DoubleMLPLR
Partially linear IV regression models (PLIV) in class
DoubleMLPLIV
Interactive regression models (IRM) in class
DoubleMLIRM
Interactive IV regression models (IIVM) in class
DoubleMLIIVM
All model classes are inherited from
DoubleML
where the key elements of double machine learning are implemented.