uber / causalml

Uplift modeling and causal inference with machine learning algorithms
Other
5.02k stars 773 forks source link

Transformed Variable Outcome Methodology Clarification in Documentation #171

Closed ThatShelbs closed 4 years ago

ThatShelbs commented 4 years ago

Is your feature request related to a problem? Please describe.

Exhausted all cited research, documentation, and also tried inspecting the code yet I am still struggling to understand if causalML meta-learners (S,X,T,R) use transformed outcome methods in-order to decompose to regression problems. The Pylift meta-learner explicitly calls this step out in documentation.

Describe the solution you'd like A clear description if any of the base meta-learners use transformed outcome methods and/or transformed covariate methods. If not then a description of how the problem might be decomposed to standard regression problems if I pass a binary treatment vector and a binary outcome vector.

Misc The R Uplift package documentation also has a detailed explanation on how it incorporates the transformed outcome method under Response Variable Transform for Uplift Modeling (rvtu). It also is clear if it is using undersample, oversample, or weights to deal with class imbalance.

huigangchen commented 4 years ago

Hi @ThatShelbs, the meta-learners do not use the transformed outcome as what Pylift uses. The implementation follows methods describe in this and this. For example, T-learner may use scikit-learn algorithm to fit the treatment model and the control model separately, and the ITE is simply the difference between the treatment prediction and the control prediction.