edunford / tidysynth

A tidy implementation of the synthetic control method in R
Other
98 stars 14 forks source link

Are V weights obtained through cross-validation? #13

Closed jtorcasso closed 2 years ago

jtorcasso commented 2 years ago

In the outer optimization of the V weights, are you minimizing the MSE within-sample, or doing some sort of train-test split, and optimizing V using the test set?

edunford commented 2 years ago

tidysynth uses the same optimization procedure outline in Abadie et al. 2010 and the original Synth package, so please refer to that paper/documentation for the specifics. The TL;DR is: the method minimizes within-sample on the pre-intervention period data. There is no train-test split logic to how these weights are generated. This has to due partially with the low-N nature of the method (need sufficient data to split), but also that overfitting the data in the pre-intervention period is sort of the point. Here are some slide that delve into how the weights are computed (http://ericdunford.com/ppol561/Lectures/week_11/week11-synthetic-control-ppol561.html#17) but the slides are just parroting what's in the paper.