All Projects → DoubleML → doubleml-for-py

DoubleML / doubleml-for-py

Licence: MIT license
DoubleML - Double Machine Learning in Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to doubleml-for-py

doubleml-for-r
DoubleML - Double Machine Learning in R
Stars: ✭ 58 (-55.04%)
Mutual labels:  econometrics, causal-inference, double-machine-learning
causeinfer
Machine learning based causal inference/uplift in Python
Stars: ✭ 45 (-65.12%)
Mutual labels:  econometrics, causal-inference
CausalInferenceIntro
Causal Inference for the Brave and True的中文翻译版。全部代码基于Python,适用于计量经济学、量化社会学、策略评估等领域。英文版原作者:Matheus Facure
Stars: ✭ 207 (+60.47%)
Mutual labels:  econometrics, causal-inference
SyntheticControlMethods
A Python package for causal inference using Synthetic Controls
Stars: ✭ 90 (-30.23%)
Mutual labels:  econometrics, causal-inference
dbt-ml-preprocessing
A SQL port of python's scikit-learn preprocessing module, provided as cross-database dbt macros.
Stars: ✭ 128 (-0.78%)
Mutual labels:  scikit-learn
Machine-learning-toolkits-with-python
Machine learning toolkits with Python
Stars: ✭ 31 (-75.97%)
Mutual labels:  scikit-learn
Awesome-Neural-Logic
Awesome Neural Logic and Causality: MLN, NLRL, NLM, etc. 因果推断,神经逻辑,强人工智能逻辑推理前沿领域。
Stars: ✭ 106 (-17.83%)
Mutual labels:  causal-inference
mloperator
Machine Learning Operator & Controller for Kubernetes
Stars: ✭ 85 (-34.11%)
Mutual labels:  scikit-learn
Football Prediction Project
This project will pull past game data from api-football, and use these statistics to predict the outcome of future premier league matches through machine learning.
Stars: ✭ 44 (-65.89%)
Mutual labels:  scikit-learn
kaggle-titanic
Titanic assignment on Kaggle competition
Stars: ✭ 30 (-76.74%)
Mutual labels:  scikit-learn
NimbusML-Samples
Samples for NimbusML, a Python machine learning package providing simple interoperability between ML.NET and scikit-learn components.
Stars: ✭ 31 (-75.97%)
Mutual labels:  scikit-learn
dataquest-guided-projects-solutions
My dataquest project solutions
Stars: ✭ 35 (-72.87%)
Mutual labels:  scikit-learn
Causal Reading Group
We will keep updating the paper list about machine learning + causal theory. We also internally discuss related papers between NExT++ (NUS) and LDS (USTC) by week.
Stars: ✭ 339 (+162.79%)
Mutual labels:  causal-inference
converse
Conversational text Analysis using various NLP techniques
Stars: ✭ 147 (+13.95%)
Mutual labels:  scikit-learn
econowcast
Experimental tools (R) for Big Data econometrics nowcasting and early estimates
Stars: ✭ 26 (-79.84%)
Mutual labels:  econometrics
grmpy
Python package for the simulation and estimation of generalized Roy model
Stars: ✭ 14 (-89.15%)
Mutual labels:  econometrics
gravity
R package that provides estimation methods for Gravity Models
Stars: ✭ 24 (-81.4%)
Mutual labels:  econometrics
machine-learning-capstone-project
This is the final project for the Udacity Machine Learning Nanodegree: Predicting article retweets and likes based on the title using Machine Learning
Stars: ✭ 28 (-78.29%)
Mutual labels:  scikit-learn
DS-Cookbook101
A jupyter notebook having all most frequent used code snippet for daily data scienceoperations
Stars: ✭ 59 (-54.26%)
Mutual labels:  scikit-learn
bacondecomp
Bacon-Goodman decomposition for differences-in-differences with variation in treatment timing.
Stars: ✭ 36 (-72.09%)
Mutual labels:  econometrics

DoubleML - Double Machine Learning in Python

build PyPI version Conda Version codecov Codacy Badge Python version

The Python package DoubleML provides an implementation of the double / debiased machine learning framework of Chernozhukov et al. (2018). It is built on top of scikit-learn (Pedregosa et al., 2011).

Note that the Python package was developed together with an R twin based on mlr3. The R package is also available on GitHub and CRAN Version.

Documentation and Maintenance

Documentation and website: https://docs.doubleml.org/

DoubleML is currently maintained by @MalteKurz and @PhilippBach.

Bugs can be reported to the issue tracker at https://github.com/DoubleML/doubleml-for-py/issues.

Main Features

Double / debiased machine learning (Chernozhukov et al. (2018)) for

  • Partially linear regression models (PLR)
  • Partially linear IV regression models (PLIV)
  • Interactive regression models (IRM)
  • Interactive IV regression models (IIVM)

The object-oriented implementation of DoubleML is very flexible. The model classes DoubleMLPLR, DoubleMLPLIV, DoubleMLIRM and DoubleIIVM implement the estimation of the nuisance functions via machine learning methods and the computation of the Neyman orthogonal score function. All other functionalities are implemented in the abstract base class DoubleML. In particular functionalities to estimate double machine learning models and to perform statistical inference via the methods fit, bootstrap, confint, p_adjust and tune. This object-oriented implementation allows a high flexibility for the model specification in terms of ...

  • ... the machine learners for the nuisance functions,
  • ... the resampling schemes,
  • ... the double machine learning algorithm,
  • ... the Neyman orthogonal score functions,
  • ...

It further can be readily extended with regards to

  • ... new model classes that come with Neyman orthogonal score functions being linear in the target parameter,
  • ... alternative score functions via callables,
  • ... alternative resampling schemes,
  • ...

An overview of the OOP structure of the DoubleML package is given in the graphic available at https://github.com/DoubleML/doubleml-for-py/blob/master/doc/oop.svg

Installation

DoubleML requires

  • Python
  • sklearn
  • numpy
  • scipy
  • pandas
  • statsmodels
  • joblib

To install DoubleML with pip use

pip install -U DoubleML

DoubleML can be installed from source via

git clone [email protected]:DoubleML/doubleml-for-py.git
cd doubleml-for-py
pip install --editable .

Detailed installation instructions can be found in the documentation.

Contributing

DoubleML is a community effort. Everyone is welcome to contribute. To get started for your first contribution we recommend reading our contributing guidelines and our code of conduct.

Citation

If you use the DoubleML package a citation is highly appreciated:

Bach, P., Chernozhukov, V., Kurz, M. S., and Spindler, M. (2022), DoubleML - An Object-Oriented Implementation of Double Machine Learning in Python, Journal of Machine Learning Research, 23(53): 1-6, https://www.jmlr.org/papers/v23/21-0862.html.

Bibtex-entry:

@article{DoubleML2022,
      title   = {{DoubleML} -- {A}n Object-Oriented Implementation of Double Machine Learning in {P}ython}, 
      author  = {Philipp Bach and Victor Chernozhukov and Malte S. Kurz and Martin Spindler},
      journal = {Journal of Machine Learning Research},
      year    = {2022},
      volume  = {23},
      number  = {53},
      pages   = {1--6},
      url     = {http://jmlr.org/papers/v23/21-0862.html}
}

References

Chernozhukov, V., Chetverikov, D., Demirer, M., Duflo, E., Hansen, C., Newey, W. and Robins, J. (2018), Double/debiased machine learning for treatment and structural parameters. The Econometrics Journal, 21: C1-C68. doi:10.1111/ectj.12097.

Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M. and Duchesnay, E. (2011), Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research, 12: 2825--2830, https://jmlr.csail.mit.edu/papers/v12/pedregosa11a.html.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].