Skip to content

justinjjlee/julia-SyntheticControl.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

julia implementation of Synthetic Control method

The package is a julia implementation of Abadie, Diamond, and Hainmueller (2010). The code was translated from MATLAB, the code provided by Hainmueller.

Some implementaitonal changes were made - most notably on calculating the loss function: instead of sum of square estimation, I log scale sum of square estimate. This helps optimization function to better locate the minima.

ω = abs.(solveQadProg( H, f));
e = y₁pre - yₒpre*ω;

ln_ssr = log(sum(e.^2));

Currently, the optimization step takes too much time. Unlike the MATLAB operation, the quadratic programming had to be linearized (using JuMP - see final estimation of ν) and the loss function (which nests the quadratic programming, not able to linearize) using Optim.