doubleml-for-py

DoubleML - Double Machine Learning in Python

BSD-3-CLAUSE License

Downloads
14K
Stars
480
Committers
9

Bot releases are hidden (Show)

doubleml-for-py - DoubleML 0.9.0 Latest Release

Published by SvenKlaassen about 2 months ago

doubleml-for-py - DoubleML 0.8.2

Published by SvenKlaassen 2 months ago

  • API Update: Change nuisance evaluation for classifiers. The corresponding properties are renamed nuisance_loss instead of rmses #254 #184

  • Add new example on sensitivity analysis #190

  • Add a new example on DiD with DoubleML in R #178

  • Enable set_sample_splitting for cluster data #255

  • Update the make_confounded_irm_data data generating process #263

  • Maintainance package #264

  • Maintenance documentation #177 #180 #181 #187 #189

doubleml-for-py - DoubleML 0.8.1

Published by SvenKlaassen 4 months ago

  • Increment package requirements and update workflows for Python 3.9 (add tests for Python 3.12) #247 #175

  • Additional example for ranking treatment effects (by Apoorva Lal) #173 #174

  • Maintenance documentation #172

doubleml-for-py - DoubleML 0.8.0

Published by SvenKlaassen 4 months ago

  • Release highlight: Sample-selections models as DoubleMLSMM class (by Michaela Kecskésová) #231 #235 #171

  • API change: Remove options apply_crossfitting and dml_procedure from the DoubleML class #227 #166

  • Restructure the package to improve readability and maintainability #225

  • Add a DoubleMLFramework class to combine multiple DoubleML models (aggregation of estimates, bootstrap, and CI-procedures #226 #169

  • Enable the use of external predictions for short models in benchmarks (by Lucien) #238 #239

  • Add the gain_statistics to utils for sensitivity analysis #229

  • Maintenance documentation #162 #163 #164 #165 #167 #168

  • Maintenance package #225 #229 #246

doubleml-for-py - DoubleML 0.7.1

Published by SvenKlaassen 9 months ago

  • Release highlight: Add weights to DoubleMLIRM class to extend sensitivity to GATEs etc. #220 #229 #155 #161

  • Extend GATE and CATE estimation to the DoubleMLPLR class #220 #155

  • Enable the use of external predictions for DoubleML classes #221 #159

  • Implementing utility classes and functions (gain statistics and dummy learners) #221 #222 #229 #161

  • Extend example Gallery #153 #158 #161

  • Maintenance documentation #157 #160

  • Maintenance package #223 #224

doubleml-for-py - DoubleML 0.7.0

Published by SvenKlaassen about 1 year ago

  • Release highlight: Benchmarking for Sensitivity Analysis (omitted variable bias) #211

  • Policy tree estimation for the DoubleMLIRM class #212

  • Extending sensitivity and policy tree documentation in User Guide and Example Gallery #148 #150

  • The package requirements are set to Python 3.8 or higher #211

  • Maintenance documentation #149

  • Maintenance package #213

doubleml-for-py - DoubleML 0.6.3

Published by SvenKlaassen over 1 year ago

  • Fix install requirements for 0.6.2 #208
doubleml-for-py - DoubleML 0.6.2

Published by SvenKlaassen over 1 year ago

  • Release highlight: Sensitivity Analysis (omitted variable bias) for #201

    • DoubleMLPLR
    • DoubleMLIRM
    • DoubleMLDID
    • DoubleMLDIDCS
  • Updated documentation #144 #141

  • Extend the guide with sensitivity and add further examples #142

  • Maintenance package #202 #206

  • Maintenance documentation #137 #138 #140 #143 #145 #146

doubleml-for-py - DoubleML 0.6.1

Published by SvenKlaassen over 1 year ago

DoubleML 0.6.1

  • Release highlight: Difference-in-differences models for ATTE estimation #200 #194
    - Panel data DoubleMLDID
    - Repeated cross sections DoubleMLDIDCS

  • Add a potential time variable to DoubleMLData (until now only used in DoubleMLDIDCS) #200

  • Extend the guide in the documentation and add further examples #132 #133 #135

  • Maintenance #199 #134 #136

doubleml-for-py - DoubleML 0.6.0

Published by SvenKlaassen over 1 year ago

DoubleML 0.6.0

  • Release highlight: Heterogeneous treatment effects (GATE, CATE, Quantile effects, ...)

  • Add out-of-sample RMSE and targets for nuisance elements and implement nuisance estimation
    evaluation via evaluate_learners(). #182 #188

  • Implement gate() and cate() methods for DoubleMLIRM class. Both are
    based on the new DoubleMLBLP class. #169

  • Implement different type of quantile models #179

    • Potential quantiles (PQ) in class DoubleMLPQ
    • Local potential quantiles (LPQ) in class DoubleMLLPQ
    • Conditional value at risk (CVaR) in class DoubleMLCVAR
    • Quantile treatment effects (QTE) in class DoubleMLQTE
  • Extend clustering to nonlinear scores #190

  • Add ipw_normalization option to DoubleMLIRM and DoubleMLIIVM #186

  • Implement an abstract base class for data backends #173

  • Code refactorings, bug fixes, docu updates, unit test extensions and continuous integration #183 #192 #195 #196

  • Change License to BSD 3-Clause #198

  • Maintenance #174 #178 #181

doubleml-for-py - DoubleML 0.5.2

Published by MalteKurz almost 2 years ago

  • Fix / adapted unit tests which failed in the release of 0.5.1 to conda-forge #172
doubleml-for-py - DoubleML 0.5.1

Published by MalteKurz almost 2 years ago

  • 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
  • Maintenance #166 #167 #168 #170
doubleml-for-py - DoubleML 0.5.0

Published by MalteKurz over 2 years ago

  • Implement a new score function score = 'IV-type' for the PLIV model (for details see #151)
    --> API change from DoubleMLPLIV(obj_dml_data, ml_g, ml_m, ml_r [, ...]) to DoubleMLPLIV(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 from DoubleMLPLR(obj_dml_data, ml_g, ml_m [, ...]) to DoubleMLPLR(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 )
  • Maintenance #143 #148 #149 #152 #153
doubleml-for-py - DoubleML 0.4.1

Published by MalteKurz almost 3 years ago

  • We added Contribution Guidelines, issue templates, a pull request template and a discussion forum to the repository #132
  • Code refactorings, docu updates, unit test extensions and continuous integration #126 #127 #128 #130 #131
doubleml-for-py - DoubleML 0.4.0

Published by MalteKurz about 3 years ago

  • 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-for-py - DoubleML 0.3.0

Published by MalteKurz over 3 years ago

  • Always use the same bootstrap algorithm independent of dml1 vs dml2 and consistent with docu and paper #101 & #102
  • Added 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 #112
  • Code refactorings and unit test extensions #103, #105, #106, #111 & #113
doubleml-for-py - DoubleML 0.2.2

Published by MalteKurz over 3 years ago

  • 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 between x_cols and d_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 or z_cols (#100).
  • Check the datatype of data when initializing DoubleMLData objects. Also check for duplicate column names (#100).
  • Fix bug #95 in #97: It occurred when x_cols where inferred via setdiff and y_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-for-py - DoubleML 0.2.1

Published by MalteKurz over 3 years ago

  • Provide an option to store & export the first-stage predictions #91
  • Added the package logo to the doc
doubleml-for-py - DoubleML 0.2.0

Published by MalteKurz over 3 years ago

  • 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-for-py - DoubleML 0.1.2

Published by MalteKurz almost 4 years ago

  • 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.
Package Rankings
Top 34.59% on Conda-forge.org
Top 8.93% on Pypi.org
Badges
Extracted from project README
build PyPI version Conda Version codecov Codacy Badge Python version CRAN Version