Mcmc
polars_ts.bayesian.mcmc
MCMC forecasting wrapper for time series models.
Provides adapter layers around NumPyro and PyMC for posterior sampling of time series models, plus a built-in lightweight Metropolis-Hastings sampler that works without external PPL dependencies.
Built-in models: local level, AR(p), seasonal local level.
References
- Phan et al. (2019), Composable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro
- Abril-Pla et al. (2023), PyMC: a modern, and comprehensive probabilistic programming framework in Python
MCMCResult
dataclass
Container for MCMC sampling results.
MCMCForecaster
MCMC-based time series forecaster.
Parameters
model
Model type: "local_level", "ar", or "seasonal".
backend
MCMC backend: "builtin" (no deps), "numpyro", or "pymc".
p
AR order (only for model="ar").
season_length
Season length (only for model="seasonal").
coverage
Credible interval coverage (default 0.9).
n_samples
Number of posterior samples.
burn_in
Number of warmup/burn-in samples.
seed
Random seed.
id_col
Column identifying each time series.
target_col
Column with target values.
time_col
Column with timestamps.
fit(df)
Fit the MCMC model to one or more time series.
_fit_single(y, gid)
Fit MCMC on a single series.
_fit_builtin(y)
Run built-in MH sampler.
predict(df, h)
Generate h-step forecasts with credible intervals.
_forecast_builtin(y, samples, h)
Generate posterior predictive forecasts from builtin samples.
mcmc_forecast(df, h, model='local_level', backend='builtin', p=1, season_length=12, coverage=0.9, n_samples=1000, burn_in=500, seed=42, id_col='unique_id', target_col='y', time_col='ds')
MCMC forecasting convenience function.