Skip to content

Commit 85a6dd8

Browse files
docs(changelog): merge breadth-expansion into v0.9.16 entry
The v0.9.16 CHANGELOG section had been drafted for the Bayesian family work (bayes_did cohort, bayes_iv per_instrument, Rust Phase-2 CI scaffold) before the breadth-expansion commit 012e4de landed. This adds the 27+ breadth modules (target_trial, DAG SCM machinery, transport, ICP/FCI, OPE, CEVAE, parametric g-formula, LTMLE, Q/A-learning, multi_arm_forest, iv_forest, survival causal forest, negative controls, network_exposure, genmatch, rosenbaum_bounds, spatial DiD/IV, ITS, balke_pearl, four_way_decomposition, ...) + registry wiring in front of the Bayesian-family subsection, so the PyPI release notes reflect the full surface shipping as 0.9.16. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 34189cf commit 85a6dd8

1 file changed

Lines changed: 89 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 89 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,95 @@
22

33
All notable changes to StatsPAI will be documented in this file.
44

5-
## [0.9.16] - 2026-04-20 — Textbook Heckman HV + multi-term tidy() for DID/IV + Rust Phase-2 CI
6-
7-
Three additions that close long-standing gaps in the Bayesian
8-
family, plus a CI scaffold for the Rust HDFE spike.
9-
10-
### Added (0.9.16)
5+
## [0.9.16] - 2026-04-20 — v1.0 breadth expansion + Bayesian family polish + Rust Phase-2 CI
6+
7+
The largest release since the v1.0 breadth pass. Maps StatsPAI onto
8+
the full Mixtape + What If + Elements of Causal Inference curriculum:
9+
Hernan-Robins target-trial emulation, Pearl-Bareinboim SCM machinery,
10+
modern off-policy / neural-causal estimators, plus three additions
11+
that close long-standing gaps in the Bayesian family, plus a CI
12+
scaffold for the Rust HDFE spike.
13+
14+
### Added (0.9.16) — v1.0 breadth expansion (27+ new modules)
15+
16+
**Target trial emulation & censoring (`sp.target_trial`, `sp.ipcw`)**
17+
18+
- `target_trial_protocol`, `target_trial_emulate`, `clone_censor_weight`,
19+
`immortal_time_check` — JAMA 2022 7-component TTE framework with
20+
explicit eligibility / time-zero / per-protocol contrast support.
21+
- `ipcw` — Robins-Finkelstein inverse probability of censoring weights
22+
(pooled-logistic or Cox hazard) with stabilization + truncation.
23+
24+
**SCM / DAG machinery (`sp.dag` extended)**
25+
26+
- `identify` — Shpitser-Pearl ID algorithm; returns do-free estimand
27+
when identifiable, witness hedge `(F, F')` otherwise.
28+
- `do_rule1 / do_rule2 / do_rule3`, `do_calculus_apply` — mechanized
29+
do-calculus with d-separation on mutilated graphs `G_{bar X}`,
30+
`G_{underline Z}`, and `G_{bar Z(W)}`.
31+
- `swig` — Richardson-Robins Single-World Intervention Graphs via
32+
node-splitting of intervened variables.
33+
- `SCM` — abduction-action-prediction counterfactual runner with
34+
rejection sampling fallback for non-Gaussian structural equations.
35+
- `llm_dag` — LLM-backed DAG extraction from free-form descriptions.
36+
37+
**Causal discovery with latents (`sp.causal_discovery`)**
38+
39+
- `fci` — FCI for PAGs with unobserved confounders (Zhang 2008):
40+
skeleton + v-structures + FCI rules R1-R4.
41+
- `icp`, `nonlinear_icp` — Peters-Bühlmann-Meinshausen invariant
42+
causal prediction; linear F-test / K-S nonlinear invariance.
43+
44+
**Transportability (`sp.transport`)**
45+
46+
- `transport_weights_fn` / `transport_generalize` — Stuart / Dahabreh
47+
density-ratio transport with inverse odds of sampling weighting.
48+
- `identify_transport` — Bareinboim-Pearl s-admissibility; enumerates
49+
adjustment sets on selection diagrams, returns transport formula.
50+
51+
**Off-policy evaluation (`sp.ope`)**
52+
53+
- `ips`, `snips`, `doubly_robust`, `switch_dr`, `direct_method`,
54+
`evaluate` — Dudik-Langford-Li DR family plus Swaminathan-Joachims
55+
SNIPS and Wang-Agarwal-Dudík Switch-DR for bandits / RL.
56+
57+
**Deep causal & latent-confounder models (`sp.neural_causal`)**
58+
59+
- `cevae` — Louizos et al. CEVAE with PyTorch path + numpy
60+
variational fallback so import never fails.
61+
62+
**Longitudinal / G-methods (`sp.gformula`, `sp.tmle`, `sp.dtr`)**
63+
64+
- `gformula_ice_fn` — Bang-Robins iterative conditional expectation
65+
parametric g-formula; sequential backward regression with recursive
66+
strategy plug-in. Supports static / scalar / callable strategies.
67+
- `ltmle` — van der Laan-Gruber longitudinal TMLE.
68+
- `q_learning`, `a_learning`, `snmm` — dynamic treatment regime
69+
estimators.
70+
71+
**Additional estimators across the stack**
72+
73+
- Causal forests: `multi_arm_forest`, `iv_forest`,
74+
`survival/causal_forest` (Cui-Kosorok 2023).
75+
- Proximal: `negative_controls`, `pci_regression` (Miao-Shi-Tchetgen).
76+
- Interference: `network_exposure` (Aronow-Samii 2017), `peer_effects`.
77+
- Dose-response: `vcnet` + `scigan` (Nie-Brunskill-Wager 2021).
78+
- Matching: `genmatch` (Diamond-Sekhon 2013).
79+
- Sensitivity: `rosenbaum_bounds`.
80+
- Spatial: `spatial_did`, `spatial_iv` (Kelejian-Prucha 1998).
81+
- Time series: `its` (interrupted time series).
82+
- Bounds: `balke_pearl`.
83+
- Mediation: `four_way_decomposition` (VanderWeele 2014).
84+
85+
**Registry / agent surface**
86+
87+
- 11 hand-written `FunctionSpec` entries for the new flagship APIs,
88+
each with parameter schemas, tags, and canonical references.
89+
- `sp.list_functions()` now reports 664 entries.
90+
- `sp.search_functions("target trial")` / `"invariance"` /
91+
`"transport"` all resolve correctly.
92+
93+
### Added (0.9.16) — Bayesian family gap-closing
1194

1295
- **`bayes_mte(mte_method='bivariate_normal')`** — full textbook
1396
Heckman-Vytlacil trivariate-normal model `(U_0, U_1, V) ~ N(0, Σ)`

0 commit comments

Comments
 (0)