I'm interested in extrapolating treatment effects from RCTs to new populations under conditions where populations exhibit relevant differences that induce differences in treatment effects.
My aim is to test different strategies for learning about such differences and similarities between populations (e.g. differences in distributions of moderating variables of the treatment effect of interest, ala Hotz Imbens and Mortimer 2005).
My approach for doing this is to do simulation studies where I know the ground truth, i.e. the correct causal model for both populations, and where I can simulate data from both causal models as a basis for testing different methods of accommodating information about similarities and differences, e.g. how fast do our expectations of the treatment effect in the target population converge to the true treatment effect if we learn about differences in moderator distributions in such-and-such way.
Unfortunately I'm at a loss when it comes to finding a framework / environment in which I can do this. What I'm looking for, ideally, is a single environment where I can specify different kinds of causal models, specifically different scenarios concerning differences between populations at different levels (e.g. distributions of moderating variables, differences in parameters, differences in causal structure). I've looked at dagitty for R, but it doesn't seem like it's possible to include moderating variables there. As moderating variables are one of my key concerns, I'm wondering what you would recommend for doing simulation studies from causal models that include moderating variables. Also, I'm interested in tools that help with identifying heterogeneous treatment effects and isolating the variables along which heterogeneity occurs. This, ultimately, should form the basis of testing models that accommodate information on differences in the distributions of such variables. Ultimately, the aim is to test how well the expectations of the ATE in the target that accommodate such information converge to the true value. Any ideas on how I should go about setting up an environment in which I can perform basic versions of such studies?
Any help would be greatly appreciated! Many thanks in advance!