Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advice: multiple distinct treatments vs. multiple treatment categories #1330

Open
corydeburd opened this issue Aug 14, 2023 · 3 comments
Open
Labels

Comments

@corydeburd
Copy link

corydeburd commented Aug 14, 2023

I could use some advice on a setting with multiple, distinct treatments. As an example, let's say I make 5 binary choices T_1, T_2, ... , T_5 \in {0,1}.

  • Is the best GRF choice for this lm_forest?
  • If yes, is it appropriate to add the treatment categories in as predictors, i.e., in the X matrix? For example, I want to learn if T_1=1 changes the treatment effect for T_2
  • Am I correct that this setup is not designed for multi_arm_causal_forest? That is, the latter function still can only take in a vector not a matrix of treatments? In theory, I could create 32=2^5 distinct treatment categories, but this likely throws out a lot of information, e.g., {1,1,0,0,0} is likely somewhat similar to {1,1,1,0,0} and shouldn't be considered totally distinct categories

Thanks for the help!

@erikcs
Copy link
Member

erikcs commented Aug 20, 2023

Hi @corydeburd, If your binary T_1, ..., T_5 were mutually exclusive, then you could use multi_arm_causal_forest to estimate contrasts of the form {E[Y(2) - Y(1) | X], E[(Y(3) - Y(1) | X], ..., E[Y(5) - Y(1) | X]} where Y(k), k=1,...5, are potential outcomes corresponding to the 5 treatment arms (where for example arm 1 could be the control arm). It sounds like you have a factorial design, I think in this paper https://arxiv.org/abs/2212.13638 the authors used causal forest on all ~40 possible treatment arm combinations if that could be of any inspiration.

@corydeburd
Copy link
Author

Thank you for this response. You're right, it's a factorial design -- k separate binary treatments so 2^k possible combinations. The linked article definitely makes sense for us to consider and (as best as I can tell) it does seem to just treat these as separate options, as you say. So this may be the standard.

If that's right, I think we might stick to just estimating the effects of one treatment (say T_1) where i=2, ... k treatments are included as predictors. With infinite data, we could simply code all 2^k combinations as the above suggests, but it does seem like this removes a lot of information as k grows. In our setting, we're looking at network effects, so we want to, say, fit a model for you + (k-1) of your neighbors' treatments. k=5 makes sense, but we could look at k=2 or k=10 as well.

I was hoping to coerce the lm_forest into doing this by putting T_1, T_2, ... T_k as predictors in addition to treatments. However, although it actually produces sensible results in our case, I was worried this was not kosher. For example, a policy tree could potentially say something nonsensical like "if T_1 =0 [as a predictor], assign T_1=1 [as a treatment]." If that's not the approach adopted in the above paper, I am doubly worried.

Let me know if the above makes sense & thanks again for your help. A factorial version of GRF would be great fun if one ever comes out!

@selma33511
Copy link

@erikcs

Hello, I ran into this post while grappling with a similar kind of question.

I'd like to know if it is possible to impute the heterogeneous effect in a factorial design setting in the current version of grf.

My experiment design has a 2 (T_1) x 2 (T_2) factorial design; As you can see, this setting allows me to know whether the treatment effect of T_1 affects the marginal effect of T_2 (in other word of whether the change from 0 to 1 in T_1 makes a significant difference when the T_2's values change from 0 to 1.)
Ultimately, I'd like to know which subgroup of a covariate predicts a stronger degree of this combination of treatment effects.

I've read the paper mentioned above, but the code in that paper is too difficult for me...
I would greatly appreciate it if you could reply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants