py-why / py-why/EconML

Question on multiple treatments for causal forest

Open
#763 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
4.8k
Forks
827
PR merge metrics
No merged PRs in 30d

Description

Incredible package folks!

Currently I'm trying to understand how econml.grf.CausalForest handles multiple treatments, but am struggling to find it in the code. Most of the cited papers by Athey seem to focus on binary treatments only.

Say I have a one hot encoded matrix of 5 different treatments: T, where T is of shape (n_samples x n_treatments). I would have assumed that I would find the same treatment effect for the first treatment regardless of whether I used T[0] as my treatment vector, or whether I used the full matrix T. Using T[0] would encode whether a sample was treated with the first treatment, but if I used the full one hot encoded matrix (n_samples x 5 treatments) the treatment effects for the first treatment is different!

Why is this the case? For multiple treatments, what does the algorithm assign as the control? I cannot find anything in the code or documentation

Thanks in advance

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the econml.grf.CausalForest code and documentation, then compare its treatment handling with the cited papers. Clarify how one-hot encoded multiple treatments are interpreted, how treatment effects differ from a single treatment vector, and which treatment serves as control; document the behavior and supporting examples.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation, machine-learning
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.