Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Synthetic difference in differences
https://github.com/synth-inference/synthdid

Last synced: 1 day ago
JSON representation

Synthetic difference in differences

Awesome Lists containing this project

README

        

# synthdid: Synthetic Difference in Differences Estimation

[![Build Status](https://dev.azure.com/grf-labs/synth-inference/_apis/build/status/synth-inference.synthdid?branchName=master)](https://dev.azure.com/grf-labs/synth-inference/_build/latest?definitionId=4&branchName=master)

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:

- The [R package documentation](https://synth-inference.github.io/synthdid/) contains usage examples and method reference.
- The [online vignettes](https://synth-inference.github.io/synthdid/articles/more-plotting.html) contains a gallery of plot examples.
- For community questions and answers around usage, see [Github issues page](https://github.com/synth-inference/synthdid/issues).

### Installation

The current development version can be installed from source using devtools.

```R
devtools::install_github("synth-inference/synthdid")
```

### Example

```R
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]