Currently working on a paper for class where I'm estimating the effects of natural disasters on birth rates. I'm using the synthetic control method to analyze these effects using the stata package "synth2." The data is clean, the code (I think) is all correct, the only problem is that it just takes eons to run – and in some instances – just won't run at all. Let me share the code:
synth2 loggedbirths loggedbirths(`=tm(2009m1)') loggedbirths(`=tm(2009m2)') loggedbirths(`=tm(2009m3)') loggedbirths(`=tm(2009m4)') loggedbirths(`=tm(2009m5)') loggedbirths(`=tm(2009m6)') loggedbirths(`=tm(2009m7)') loggedbirths(`=tm(2009m8)') loggedbirths(`=tm(2009m9)') loggedbirths(`=tm(2009m10)') loggedbirths(`=tm(2009m11)') loggedbirths(`=tm(2009m12)') loggedbirths(`=tm(2010m1)') loggedbirths(`=tm(2010m2)') loggedbirths(`=tm(2010m3)') loggedbirths(`=tm(2010m4)') loggedbirths(`=tm(2010m5)') loggedbirths(`=tm(2010m6)') loggedbirths(`=tm(2010m7)') loggedbirths(`=tm(2010m8)') loggedbirths(`=tm(2010m9)') loggedbirths(`=tm(2010m10)') loggedbirths(`=tm(2010m11)') loggedbirths(`=tm(2010m12)') loggedbirths(`=tm(2011m1)') loggedbirths(`=tm(2011m2)') loggedbirths(`=tm(2011m3)') loggedbirths(`=tm(2011m4)') loggedbirths(`=tm(2011m5)') loggedbirths(`=tm(2011m6)') loggedbirths(`=tm(2011m7)') loggedbirths(`=tm(2011m8)') loggedbirths(`=tm(2011m9)') loggedbirths(`=tm(2011m10)') loggedbirths(`=tm(2011m11)') loggedbirths(`=tm(2011m12)') loggedbirths(`=tm(2012m1)') loggedbirths(`=tm(2012m2)') loggedbirths(`=tm(2012m3)') loggedbirths(`=tm(2012m4)') loggedbirths(`=tm(2012m5)') loggedbirths(`=tm(2012m6)') loggedbirths(`=tm(2012m7)') loggedbirths(`=tm(2012m8)') loggedbirths(`=tm(2012m9)') loggedbirths(`=tm(2012m10)') loggedbirths(`=tm(2012m11)') loggedbirths(`=tm(2012m12)') loggedbirths(`=tm(2013m1)') loggedbirths(`=tm(2013m2)') loggedbirths(`=tm(2013m3)') loggedbirths(`=tm(2013m4)') loggedbirths(`=tm(2013m5)') loggedbirths(`=tm(2013m6)') loggedbirths(`=tm(2013m7)') loggedbirths(`=tm(2013m8)') loggedbirths(`=tm(2013m9)') loggedbirths(`=tm(2013m10)') loggedbirths(`=tm(2013m11)') loggedbirths(`=tm(2013m12)') loggedbirths(`=tm(2014m1)') loggedbirths(`=tm(2014m2)') loggedbirths(`=tm(2014m3)') loggedbirths(`=tm(2014m4)') loggedbirths(`=tm(2014m5)') loggedbirths(`=tm(2014m6)') loggedbirths(`=tm(2014m7)') loggedbirths(`=tm(2014m8)') loggedbirths(`=tm(2014m9)') loggedbirths(`=tm(2014m10)') loggedbirths(`=tm(2014m11)') loggedbirths(`=tm(2014m12)') loggedbirths(`=tm(2015m1)') loggedbirths(`=tm(2015m2)') loggedbirths(`=tm(2015m3)') loggedbirths(`=tm(2015m4)') loggedbirths(`=tm(2015m5)') loggedbirths(`=tm(2015m6)') loggedbirths(`=tm(2015m7)') loggedbirths(`=tm(2015m8)') loggedbirths(`=tm(2015m9)') loggedbirths(`=tm(2015m10)') loggedbirths(`=tm(2015m11)') loggedbirths(`=tm(2015m12)') loggedbirths(`=tm(2016m1)') loggedbirths(`=tm(2016m2)') loggedbirths(`=tm(2016m3)') marriages(`=tm(2009m1)') marriages(`=tm(2009m2)') marriages(`=tm(2009m3)') marriages(`=tm(2009m4)') marriages(`=tm(2009m5)') marriages(`=tm(2009m6)') marriages(`=tm(2009m7)') marriages(`=tm(2009m8)') marriages(`=tm(2009m9)') marriages(`=tm(2009m10)') marriages(`=tm(2009m11)') marriages(`=tm(2009m12)') marriages(`=tm(2010m1)') marriages(`=tm(2010m2)') marriages(`=tm(2010m3)') marriages(`=tm(2010m4)') marriages(`=tm(2010m5)') marriages(`=tm(2010m6)') marriages(`=tm(2010m7)') marriages(`=tm(2010m8)') marriages(`=tm(2010m9)') marriages(`=tm(2010m10)') marriages(`=tm(2010m11)') marriages(`=tm(2010m12)') marriages(`=tm(2011m1)') marriages(`=tm(2011m2)') marriages(`=tm(2011m3)') marriages(`=tm(2011m4)') marriages(`=tm(2011m5)') marriages(`=tm(2011m6)') marriages(`=tm(2011m7)') marriages(`=tm(2011m8)') marriages(`=tm(2011m9)') marriages(`=tm(2011m10)') marriages(`=tm(2011m11)') marriages(`=tm(2011m12)') marriages(`=tm(2012m1)') marriages(`=tm(2012m2)') marriages(`=tm(2012m3)') marriages(`=tm(2012m4)') marriages(`=tm(2012m5)') marriages(`=tm(2012m6)') marriages(`=tm(2012m7)') marriages(`=tm(2012m8)') marriages(`=tm(2012m9)') marriages(`=tm(2012m10)') marriages(`=tm(2012m11)') marriages(`=tm(2012m12)') marriages(`=tm(2013m1)') marriages(`=tm(2013m2)') marriages(`=tm(2013m3)') marriages(`=tm(2013m4)') marriages(`=tm(2013m5)') marriages(`=tm(2013m6)') marriages(`=tm(2013m7)') marriages(`=tm(2013m8)') marriages(`=tm(2013m9)') marriages(`=tm(2013m10)') marriages(`=tm(2013m11)') marriages(`=tm(2013m12)') marriages(`=tm(2014m1)') marriages(`=tm(2014m2)') marriages(`=tm(2014m3)') marriages(`=tm(2014m4)') marriages(`=tm(2014m5)') marriages(`=tm(2014m6)') marriages(`=tm(2014m7)') marriages(`=tm(2014m8)') marriages(`=tm(2014m9)') marriages(`=tm(2014m10)') marriages(`=tm(2014m11)') marriages(`=tm(2014m12)') marriages(`=tm(2015m1)') marriages(`=tm(2015m2)') marriages(`=tm(2015m3)') marriages(`=tm(2015m4)') marriages(`=tm(2015m5)') marriages(`=tm(2015m6)') marriages(`=tm(2015m7)') marriages(`=tm(2015m8)') marriages(`=tm(2015m9)') marriages(`=tm(2015m10)') marriages(`=tm(2015m11)') marriages(`=tm(2015m12)') marriages(`=tm(2016m1)') marriages(`=tm(2016m2)') marriages(`=tm(2016m3)'), trunit(43) trperiod(`=tm(2016m4)') counit(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,1 8,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35, 36,37,39,47) nested allopt placebo(unit cut(2)) sigf(6) loo frame(kum) savegraph(kum) postperiod(`=tm(2016m4)' `=tm(2016m5)',`=tm(2016m6)',`=tm(2016m7)',`=tm(201 6m8)',`=tm(2016m9)',`=tm(2016m10)',`=tm(2016m11)', `=tm(2016m12)',`=tm(2017m1)',`=tm(2017m2)',`=tm(20 17m3)',`=tm(2017m4)',`=tm(2017m5)',`=tm(2017m6)',` =tm(2017m7)',`=tm(2017m8)',`=tm(2017m9)',`=tm(2017 m10)',`=tm(2017m11)',`=tm(2017m12)',`=tm(2018m1)', `=tm(2018m2)',`=tm(2018m3)',`=tm(2018m4)',`=tm(201 8m5)',`=tm(2018m6)')
Yeah, I know it's a lot. The "marriages" and past values of logged births are my covariates, for context. The only code I run before this is just cd'ing into the file with the dataset anad declaring the model as a panel data sorted by month and ID (my unit of analysis is a Japanese Prefecture). I have tried removing "allopt" but doesn't seem to speed things up. Does anyone have any advice on how I can make this code run faster?
synth2 loggedbirths loggedbirths(`=tm(2009m1)') loggedbirths(`=tm(2009m2)') loggedbirths(`=tm(2009m3)') loggedbirths(`=tm(2009m4)') loggedbirths(`=tm(2009m5)') loggedbirths(`=tm(2009m6)') loggedbirths(`=tm(2009m7)') loggedbirths(`=tm(2009m8)') loggedbirths(`=tm(2009m9)') loggedbirths(`=tm(2009m10)') loggedbirths(`=tm(2009m11)') loggedbirths(`=tm(2009m12)') loggedbirths(`=tm(2010m1)') loggedbirths(`=tm(2010m2)') loggedbirths(`=tm(2010m3)') loggedbirths(`=tm(2010m4)') loggedbirths(`=tm(2010m5)') loggedbirths(`=tm(2010m6)') loggedbirths(`=tm(2010m7)') loggedbirths(`=tm(2010m8)') loggedbirths(`=tm(2010m9)') loggedbirths(`=tm(2010m10)') loggedbirths(`=tm(2010m11)') loggedbirths(`=tm(2010m12)') loggedbirths(`=tm(2011m1)') loggedbirths(`=tm(2011m2)') loggedbirths(`=tm(2011m3)') loggedbirths(`=tm(2011m4)') loggedbirths(`=tm(2011m5)') loggedbirths(`=tm(2011m6)') loggedbirths(`=tm(2011m7)') loggedbirths(`=tm(2011m8)') loggedbirths(`=tm(2011m9)') loggedbirths(`=tm(2011m10)') loggedbirths(`=tm(2011m11)') loggedbirths(`=tm(2011m12)') loggedbirths(`=tm(2012m1)') loggedbirths(`=tm(2012m2)') loggedbirths(`=tm(2012m3)') loggedbirths(`=tm(2012m4)') loggedbirths(`=tm(2012m5)') loggedbirths(`=tm(2012m6)') loggedbirths(`=tm(2012m7)') loggedbirths(`=tm(2012m8)') loggedbirths(`=tm(2012m9)') loggedbirths(`=tm(2012m10)') loggedbirths(`=tm(2012m11)') loggedbirths(`=tm(2012m12)') loggedbirths(`=tm(2013m1)') loggedbirths(`=tm(2013m2)') loggedbirths(`=tm(2013m3)') loggedbirths(`=tm(2013m4)') loggedbirths(`=tm(2013m5)') loggedbirths(`=tm(2013m6)') loggedbirths(`=tm(2013m7)') loggedbirths(`=tm(2013m8)') loggedbirths(`=tm(2013m9)') loggedbirths(`=tm(2013m10)') loggedbirths(`=tm(2013m11)') loggedbirths(`=tm(2013m12)') loggedbirths(`=tm(2014m1)') loggedbirths(`=tm(2014m2)') loggedbirths(`=tm(2014m3)') loggedbirths(`=tm(2014m4)') loggedbirths(`=tm(2014m5)') loggedbirths(`=tm(2014m6)') loggedbirths(`=tm(2014m7)') loggedbirths(`=tm(2014m8)') loggedbirths(`=tm(2014m9)') loggedbirths(`=tm(2014m10)') loggedbirths(`=tm(2014m11)') loggedbirths(`=tm(2014m12)') loggedbirths(`=tm(2015m1)') loggedbirths(`=tm(2015m2)') loggedbirths(`=tm(2015m3)') loggedbirths(`=tm(2015m4)') loggedbirths(`=tm(2015m5)') loggedbirths(`=tm(2015m6)') loggedbirths(`=tm(2015m7)') loggedbirths(`=tm(2015m8)') loggedbirths(`=tm(2015m9)') loggedbirths(`=tm(2015m10)') loggedbirths(`=tm(2015m11)') loggedbirths(`=tm(2015m12)') loggedbirths(`=tm(2016m1)') loggedbirths(`=tm(2016m2)') loggedbirths(`=tm(2016m3)') marriages(`=tm(2009m1)') marriages(`=tm(2009m2)') marriages(`=tm(2009m3)') marriages(`=tm(2009m4)') marriages(`=tm(2009m5)') marriages(`=tm(2009m6)') marriages(`=tm(2009m7)') marriages(`=tm(2009m8)') marriages(`=tm(2009m9)') marriages(`=tm(2009m10)') marriages(`=tm(2009m11)') marriages(`=tm(2009m12)') marriages(`=tm(2010m1)') marriages(`=tm(2010m2)') marriages(`=tm(2010m3)') marriages(`=tm(2010m4)') marriages(`=tm(2010m5)') marriages(`=tm(2010m6)') marriages(`=tm(2010m7)') marriages(`=tm(2010m8)') marriages(`=tm(2010m9)') marriages(`=tm(2010m10)') marriages(`=tm(2010m11)') marriages(`=tm(2010m12)') marriages(`=tm(2011m1)') marriages(`=tm(2011m2)') marriages(`=tm(2011m3)') marriages(`=tm(2011m4)') marriages(`=tm(2011m5)') marriages(`=tm(2011m6)') marriages(`=tm(2011m7)') marriages(`=tm(2011m8)') marriages(`=tm(2011m9)') marriages(`=tm(2011m10)') marriages(`=tm(2011m11)') marriages(`=tm(2011m12)') marriages(`=tm(2012m1)') marriages(`=tm(2012m2)') marriages(`=tm(2012m3)') marriages(`=tm(2012m4)') marriages(`=tm(2012m5)') marriages(`=tm(2012m6)') marriages(`=tm(2012m7)') marriages(`=tm(2012m8)') marriages(`=tm(2012m9)') marriages(`=tm(2012m10)') marriages(`=tm(2012m11)') marriages(`=tm(2012m12)') marriages(`=tm(2013m1)') marriages(`=tm(2013m2)') marriages(`=tm(2013m3)') marriages(`=tm(2013m4)') marriages(`=tm(2013m5)') marriages(`=tm(2013m6)') marriages(`=tm(2013m7)') marriages(`=tm(2013m8)') marriages(`=tm(2013m9)') marriages(`=tm(2013m10)') marriages(`=tm(2013m11)') marriages(`=tm(2013m12)') marriages(`=tm(2014m1)') marriages(`=tm(2014m2)') marriages(`=tm(2014m3)') marriages(`=tm(2014m4)') marriages(`=tm(2014m5)') marriages(`=tm(2014m6)') marriages(`=tm(2014m7)') marriages(`=tm(2014m8)') marriages(`=tm(2014m9)') marriages(`=tm(2014m10)') marriages(`=tm(2014m11)') marriages(`=tm(2014m12)') marriages(`=tm(2015m1)') marriages(`=tm(2015m2)') marriages(`=tm(2015m3)') marriages(`=tm(2015m4)') marriages(`=tm(2015m5)') marriages(`=tm(2015m6)') marriages(`=tm(2015m7)') marriages(`=tm(2015m8)') marriages(`=tm(2015m9)') marriages(`=tm(2015m10)') marriages(`=tm(2015m11)') marriages(`=tm(2015m12)') marriages(`=tm(2016m1)') marriages(`=tm(2016m2)') marriages(`=tm(2016m3)'), trunit(43) trperiod(`=tm(2016m4)') counit(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,1 8,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35, 36,37,39,47) nested allopt placebo(unit cut(2)) sigf(6) loo frame(kum) savegraph(kum) postperiod(`=tm(2016m4)' `=tm(2016m5)',`=tm(2016m6)',`=tm(2016m7)',`=tm(201 6m8)',`=tm(2016m9)',`=tm(2016m10)',`=tm(2016m11)', `=tm(2016m12)',`=tm(2017m1)',`=tm(2017m2)',`=tm(20 17m3)',`=tm(2017m4)',`=tm(2017m5)',`=tm(2017m6)',` =tm(2017m7)',`=tm(2017m8)',`=tm(2017m9)',`=tm(2017 m10)',`=tm(2017m11)',`=tm(2017m12)',`=tm(2018m1)', `=tm(2018m2)',`=tm(2018m3)',`=tm(2018m4)',`=tm(201 8m5)',`=tm(2018m6)')
Yeah, I know it's a lot. The "marriages" and past values of logged births are my covariates, for context. The only code I run before this is just cd'ing into the file with the dataset anad declaring the model as a panel data sorted by month and ID (my unit of analysis is a Japanese Prefecture). I have tried removing "allopt" but doesn't seem to speed things up. Does anyone have any advice on how I can make this code run faster?
Comment