Closed williamlief closed 2 years ago
Great point! So internally, the package uses the weights that are optimized for the treatment when computing the placebos. Put differently, it's not re-optimizing for each placebo case. This has obvious efficiency benefits as we only need to perform the nested optimization once, but as you noted, this approach yields a slightly different result from the per donor optimization approach. In my opinion, your example doesn't go far enough. If you were really tuning each placebo as if it were the treated unit, then we'd also want to carefully select each of the predictors we include to yield an optimal pre-period fit (i.e. we'd need to feed it a customized set of predictors for each placebo so that the pre-period trends map as closely as possible onto one another).
I stuck with convention when computing the placebos in the package, but that doesn't mean this is the best approach. I could see adding an argument that allows one to select how the placebos are computed (re-using the initially optimized weights, or re-computing them for each placebo), but this still wouldn't solve the problem for the predictors not being optimally chosen for each placebo fit.
IMO if one is preparing to publish their findings, then I think it makes sense to go through the more arduous task of optimizing each placebo both in terms of predictors and weights and then using those for the reported significance in the paper. Doing it that way would operate as a type of robustness check to see if the reported significance isn't an artifact of the chosen predictors and optimized weights matrix.
Thank you for the explanation and confirming that this is intended behavior. Your point about results potentially being an artifact of the chosen predictors and weights matrix is very well taken. We are currently investigating that exact possibility.
This is great! Would you be willing to report some of your findings here? I'm quite curious how much this impacts the results of a synthetic control. I'm sure others who might stumble across this thread will be interested as well.
Our results are out in the Journal of Experimental Political Science - open access link
The multiverse analysis section investigates the sensitivity of synth results to modelling choices. Thanks for putting together this great package!
Amazing and congratulations on the publication!
Hello,
When we manually permute the tidysynth command chain over units we find that we get different results - particularly for the
pre_mspe
,post_mspe
andmspe_ratio
- than when we usegenerate_placebos = TRUE
. It appears as though the designated treated unit is processed differently than the donor units. We see that the output for California matches exactly across both versions.The following code uses the example from your vignette.
This code can take a while to run, i've also attached compare.csv with the relevant output so you can inspect it more easily.
cc @davidnathanlang