v0.1.0
Highlights
Impulso 0.1.0 makes a VAR embeddable in a PyMC model you already own, alongside the standalone VAR.fit workflow.
VAR.build_in_model: registers a VAR into the active PyMC model and returns handles to its variables.fitandprior_predictivenow go through the same code path. Namespacing works through a nested namedpm.Model.- Symbolic data: the observed block can be a PyTensor tensor, e.g.
pm.Data. Its likelihood is then apm.Potential. - Latent endogenous series:
latent_namesgenerates unobserved series inside the model from standard-normal innovations (non-centred). The observed likelihood is conditional on the innovations, and a stationarity constraint on the latent block keeps sampling stable. MinnesotaPrior(own_lag_mean=...): the textbook per-variable own-lag mean. Use 0 for stationary series.FittedVAR.from_posterior: validated construction of aFittedVARfrom a posterior you produced elsewhere.VARspecs round-trip throughmodel_dumpandmodel_validate, in python and JSON mode.
The design and its evidence are recorded in ADR-0016.
Upgrading from 0.0.14
There are no breaking changes to released APIs. The breaking changes of this development cycle (Minnesota cross-lag scaling in ADR-0015, the required sigma argument to Prior.build_priors, ErrorDistribution.logp, and rejection of constant endogenous columns) shipped in 0.0.14.
Known limits:
- Latent series support Gaussian errors only.
- A
ConjugateVolatilitysubclass (e.g.PandemicBreak) does not round-trip throughmodel_dump. - The latent stationarity constraint's
eigis untested on the JAX backend.
What's Changed
🚀 Features
- feat: accept a symbolic observed endog in build_in_model by @thomaspinder in #342
- feat: generate latent series non-centred in build_in_model by @thomaspinder in #344
- feat: latent own-lag mean, stationary init and stationarity constraint by @thomaspinder in #346
- feat: reject embedded-path options build_in_model can't support by @thomaspinder in #348
🐛 Bug Fixes
- fix: name the actual source in endog_scales validation errors by @thomaspinder in #340
- fix: make VAR specs round-trip through model_dump/model_validate by @thomaspinder in #354
💥 Breaking Changes
- feat!: move the own-lag prior mean onto MinnesotaPrior by @thomaspinder in #352
📖 Documentation
- docs: add ADR-0016 for the embeddable VAR path by @thomaspinder in #349
- docs: remove internal issue references from docstrings and comments by @thomaspinder in #355
Full Changelog: v0.0.14...v0.1.0