Running Placebo Analysis
Executes placebo-in-time sensitivity analysis using the core PlaceboInTime check. Builds a hierarchical Bayesian model of the "status quo" (no-effect) distribution, then compares the actual intervention effect against that learned null. Optionally computes Bayesian assurance (operating characteristics).
Workflow
- Fit your experiment: Run a CausalPy experiment (ITS, SC) with a PyMC model.
- Configure the check: Create a
PlaceboInTimewithn_folds, optionalexperiment_factory, and optional assurance parameters. - Run: Call
.run(experiment)(standalone) or use within aPipeline+SensitivityAnalysis. - Evaluate: Inspect the null distribution (
theta_new),p_effect_outside_null, and optional assurance results.
Key Concepts
- Placebo-in-time: Simulating an intervention at a time when none occurred to check if the model falsely detects an effect.
- Hierarchical null model: A Bayesian model fitted on fold-level summaries that characterises the distribution of effects under no intervention.
- Assurance: Bayesian operating characteristics — the probability of correctly detecting a real effect given your expected-effect prior and ROPE.
- Factory Pattern: Decouples the placebo logic from the specific CausalPy experiment type.
References
- Placebo-in-time Implementation: Core API reference, usage examples, and hierarchical status-quo modeling.