Card

OutcomeWeights - Extending Treatment Effect Estimation

Overview

This repository contains the implementation of Task 2 for the Causal Machine Learning group assignment. The focus is on extending the functionality of the OutcomeWeights package to support additional treatment effect estimators, including ATT, ATU, Overlap, and LATE. The project also includes replication of balancing checks and numerical equivalence tests for the new estimators.

Repository Structure

OutcomeWeights-Extensions/

├── README.md                # Overview of the project (this file)
├── LICENSE                  # License for the project
├── .gitignore               # Files and folders to exclude from version control
├── data/                    # Placeholder for datasets or details on accessing them
   └── README.md            # Instructions for dataset usage
├── notebooks/               # R notebooks for replication and analysis
   ├── Notebook_Average.Rmd
   ├── Notebook_Heterogeneous.Rmd
   └── README.md            # Descriptions of the notebooks
├── scripts/                 # R scripts for estimator implementation
   ├── Task2_StartingPoint.R
   └── OutcomeWeights_Extensions.R
├── slides/                  # Presentation slides summarizing findings
   └── Task2_Pitch.pdf
├── docs/                    # Additional documentation and references
   └── references.md        # Links to related research and materials

Installation

  1. Clone this repository using HTTPS:

bash git clone https://github.com/PulkitT01/CausalML-OutcomeWeights-Extensions.git

  1. Install required R packages:

R install.packages(c("grf", "hdm", "OutcomeWeights"))

  1. Open the R notebooks or scripts to explore and run the analysis.

Objectives

  1. Extend the OutcomeWeights package to implement the following treatment effect estimators:
  2. ATT (Average Treatment Effect on the Treated)
  3. ATU (Average Treatment Effect on the Untreated)
  4. Overlap (Average Treatment Effect in the Overlap Region)
  5. LATE (Local Average Treatment Effect)
  6. Replicate balancing checks for the new estimators to validate numerical equivalence.
  7. Document challenges faced and solutions implemented.

Usage

  • Scripts:

  • Task2_StartingPoint.R: Provides the initial script for implementing additional estimators.

  • OutcomeWeights_Extensions.R: Contains the completed implementation for ATT, ATU, Overlap, and LATE estimators.

  • Notebooks:

  • Notebook_Average.Rmd and Notebook_Heterogeneous.Rmd: Contain replication of treatment effect estimations for numerical validation.

Results

The results demonstrate the successful implementation and replication of:

  1. ATT (Average Treatment Effect on the Treated):
  2. Numerical equivalence validated.
  3. ATU (Average Treatment Effect on the Untreated):
  4. Numerical equivalence validated.
  5. Overlap (Average Treatment Effect in the Overlap Region):
  6. Numerical equivalence validated.
  7. LATE (Local Average Treatment Effect):
  8. Numerical equivalence validated.

Challenges and Solutions

  • Reverse-engineering package functionalities: Required detailed exploration of the grf and OutcomeWeights implementations to extend compatibility.
  • Adapting balancing checks: Implemented custom residual-on-residual regression for the Overlap estimator.
  • Numerical equivalence: Validated results through comparisons with package outputs and manual calculations.

References

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For questions or feedback, please contact: