apoorvalal / synthdid

Synthetic difference in differences

Home Page:https://synth-inference.github.io/synthdid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

synthdid: Synthetic Difference in Differences Estimation

This package implements the synthetic difference in difference estimator (SDID) for the average treatment effect in panel data, as proposed in Arkhangelsky et al (2019). We observe matrices of outcomes Y and binary treatment indicators W that we think of as satisfying Yij = Lij + τij Wij + εij. Here τij is the effect of treatment on the unit i at time j, and we estimate the average effect of treatment when and where it happened: the average of τij over the observations with Wij=1. All treated units must begin treatment simultaneously, so W is a block matrix: Wij = 1 for i > N0 and j > T0 and zero otherwise, with N0 denoting the number of control units and T0 the number of observation times before onset of treatment. This applies, in particular, to the case of a single treated unit or treated period.

This package is currently in beta and the functionality and interface is subject to change.

Some helpful links for getting started:

Installation

devtools::install_github("susanathey/MCPanel")
devtools::install_github("apoorvalal/synthdid")

Example

Omnibus function

The panel_estimate function accepts a data frame, unit_id, time_id, treatment, outcome name, and optionally an inference method (jackknife/bootstrap/placebo) and internally performs the reshaping to $N \times T$ matrices and calls several estimators to produce a large table with multiple estimates and corresponding standard errors.

image

SDID call

library(synthdid)

# Estimate the effect of California Proposition 99 on cigarette consumption
data('california_prop99')
setup = panel.matrices(california_prop99)
tau.hat = synthdid_estimate(setup$Y, setup$N0, setup$T0)
se = sqrt(vcov(tau.hat, method='placebo'))
sprintf('point estimate: %1.2f', tau.hat)
sprintf('95%% CI (%1.2f, %1.2f)', tau.hat - 1.96 * se, tau.hat + 1.96 * se)
plot(tau.hat)

References

Dmitry Arkhangelsky, Susan Athey, David A. Hirshberg, Guido W. Imbens, and Stefan Wager. Synthetic Difference in Differences, 2019. [arxiv]

About

Synthetic difference in differences

https://synth-inference.github.io/synthdid

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:R 96.5%Language:Shell 2.0%Language:TeX 1.5%