Synthetic DGP Study
Notebook: tutorials/guides/02_synthetic_dgp.ipynb
This tutorial uses causaltensor.synthetic.generate to create panels with
fully controlled parameters, allowing isolation of each factor that affects
estimation accuracy.
Topics covered
DGP tour – visualise baseline
M = UV^T, treatment maskZ, and observed outcomesO = M + tau*Z + noise.Single-run benchmark – compare all estimators on one synthetic dataset.
Convergence study – sweep N and T independently to confirm that relative error decreases as the panel grows.
Rank misspecification – vary the true rank of
Mwhile keeping estimator settings fixed; observe how methods degrade.Noise sensitivity – sweep the noise scale (sigma) to understand each method’s signal-to-noise requirements.
Key function
from causaltensor.synthetic import generate
O, Z, tau_true = generate(
N=50, T=80,
rank=3,
noise_scale=1.0,
treatment_pattern="Block",
treatment_level=0.3,
seed=0,
)