py-why / py-why/EconML

DRL importance weight with panel data and multiple treatments

Open
#453 0 comments 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

I have panel data with the following structure:

  • Multiple binary treatments
  • Treatments are assigned independent of each other conditional on controls W.
  • The potential outcome depends on all treatments.
  • The moderators X are the same for each treatment.
  • The effect of one treatment does not depend on the other treatments (i.e. treatments are not included in X)

I want to use DRL and have two questions:

  1. How do I best specify the CATE for each treatment conditional on the others?

I was planning to estimate the CATE separately for each treatment, including the others as controls but not as moderators. Unless I am mistaken, this will be correct for the outcome model, as it will then model the outcome as dependent on all treatments but where the potential outcome is only a function of the treatment of interest. However, I am not sure about the propensity score model. Since all treatments affect the outcome, it seems to me that I need a propensity score model per treatment, or alternatively, a single propensity score model for the joint assignment to all treatments. In either case, the "importance weight" (i.e., ratio) in the doubly robust score shall account for the assignment to all treatments. How can I specify this? I have read the documentation but did not understand what happens in the background.

  1. I would like to learn an assignment policy for each treatment. In the off-policy learning literature with DRL/IPW/AIPW estimation and panel (longitudinal) data, the ratio in the estimator is cumulative over periods (see e.g. 1 or 2,). That is, for a given period j, the prediction error is weighted with the product of the "importance weights" from the first period until period j. This is the case since we need to adjust for the likelihood of the full data trajectory under the policy we wish to learn relative to the data likelihood under the behavior policy that generated the data. Does the current DRL implementation enable this in some way, and if so, how?

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 linked DRL documentation and the current DRL implementation it describes. Determine whether multi-treatment panel data and cumulative longitudinal importance weights are supported; done would be a documented answer or a clearly scoped implementation proposal, with relevant tests identified before coding.

Written by the indexing model from the issue text.

Assessment

Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.