py-why / EconML

ALICE (Automated Learning and Intelligence for Causation and Economics) is a Microsoft Research project aimed at applying Artificial Intelligence concepts to economic decision making. One of its goals is to build a toolkit that combines state-of-the-art machine learning techniques with econometrics in order to bring automation to complex causal inference problems. To date, the ALICE Python SDK (econml) implements orthogonal machine learning algorithms such as the double machine learning work of Chernozhukov et al. This toolkit is designed to measure the causal effect of some treatment variable(s) t on an outcome variable y, controlling for a set of features x.
https://www.microsoft.com/en-us/research/project/alice/
Other
3.74k stars 708 forks source link

Tuning KernelDML #330

Open hhu1 opened 3 years ago

hhu1 commented 3 years ago

I'm very interested in using econml.dml.KernelDML to compute heterogeneous treatment effects. I am wondering if you could provide some suggestions on following:

  1. Should we try to tune dim and bw parameters in econml.dml.KernelDML? If so, what is the best way to tune them? With standard predictive analysis we can use cross-validations, but for causal analysis not sure if this is the best way.
  2. To use KernelDML, should we pre-process the features (e.g., normalize features in X matrix).

Thank you!

vsyrgkanis commented 3 years ago

You can do normal kfold splitting of your data and use our “score” method to calculate an out of sample score that can be used for selection.

Out dml notbook has an example of how to use score for model selection