MAGIC¶
Implementation: crl.estimators.magic.MAGICEstimator
Estimand¶
$V^\pi = \mathbb{E}\left[\sum_{t=0}^{T-1} \gamma^t r_t\right]$.
Assumptions¶
- Sequential ignorability
- Overlap/positivity
- Markov property
Inputs required¶
TrajectoryDatasetbehavior_action_probsfor logged actions- Q-model fit (linear by default in CRL)
Algorithm¶
MAGIC mixes truncated DR estimators over multiple horizons to reduce variance.
Formula (sketch)¶
For truncation horizon $m$:
$\hat V_m = \hat V(s_0) + \sum_{t=0}^{m-1} \gamma^t \rho_t\left(r_t + \gamma \hat V(s_{t+1}) - \hat Q(s_t,a_t)\right)$.
MAGIC returns a variance-weighted mixture of $\hat V_m$ across horizons.
Diagnostics¶
overlap.support_violationsess.ess_ratiomodel.q_model_mse
Uncertainty¶
- Normal-approximation CI by default.
- Bootstrap CI available via
bootstrap=True.
Failure modes¶
- Sensitive to poor Q-models and heavy-tailed ratios.
- Mixture weights can be unstable in small samples.
Minimal example¶
References¶
- Thomas & Brunskill (2016)