matheusfacure / python-causality-handbook

Causal Inference for the Brave and True. A light-hearted yet rigorous approach to learning about impact estimation and causality.
https://matheusfacure.github.io/python-causality-handbook/landing-page.html
MIT License
2.77k stars 482 forks source link

Question about 15 - Synthetic Control #397

Open iamdengjie opened 5 months ago

iamdengjie commented 5 months ago

15 - Synthetic Control

We got calif_weights from regression from un-treatment data before year 1989. And we got calif_synth by below:

calif_synth = cigar.query("~california").pivot(index='year', columns="state")["cigsale"].values.dot(calif_weights)

My question is the data after year 1989 should be all treated for 39 states. Why the control result can represent the un-treatment result? It should use untreated result after year 1989 and calif_weights to simulate the un-treatment result/counterfactual for California after year 1989