Skip to content

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.