SyntheticControl.power_analysis#
- SyntheticControl.power_analysis(effect_sizes, n_simulations=50, criterion='hdi_excludes_zero', effect_type='relative', holdout_periods=None, sample_kwargs=None, random_seed=None)[source]#
Simulation-based Bayesian power curve.
For each candidate effect size, runs
validate_design()multiple times (with added noise) and records detection rates.- Parameters:
effect_sizes (
list[float]) – Candidate effect sizes to evaluate.n_simulations (
int) – Number of simulations per effect size.criterion (
Literal['hdi_excludes_zero','prob_gt_zero','recovery_accuracy']) –Detection criterion: -
"hdi_excludes_zero": 94 % HDI of cumulative impactexcludes zero.
"prob_gt_zero": P(cumulative impact > 0) > 0.95."recovery_accuracy": posterior mean within 20 % of injected truth.
effect_type (
Literal['relative','absolute']) – Passed through tovalidate_design.holdout_periods (
int|None) – Passed through tovalidate_design.sample_kwargs (
dict|None) – MCMC sampling arguments for refitted models.random_seed (
int|None) – RNG seed for reproducible noise injection.
- Return type: