Skip to content

feat: add Bayesian model criticism example and guide#100

Merged
jc-macdonald merged 1 commit intomainfrom
feat/bayesian-example
Apr 17, 2026
Merged

feat: add Bayesian model criticism example and guide#100
jc-macdonald merged 1 commit intomainfrom
feat/bayesian-example

Conversation

@jc-macdonald
Copy link
Copy Markdown
Contributor

Summary

Adds a third user-guide example demonstrating the package's most distinctive features: proper scoring rules, calibration assessment, and score-based model averaging (#71).

New files

  • examples/bayesian_study.py — runnable script with snippet tags
  • docs/guide/bayesian.md — narrative walkthrough referencing snippets
  • docs/assets/bayesian_*.png — generated plot assets

Features demonstrated

Feature API used
Proper scoring rules score("crps", ...), score("coverage", ...), score("rmse", ...)
Calibration assessment coverage_curve() + plot_calibration()
Score-based stacking stack_scores() + ensemble_predict()
Factor screening screen(..., method="morris") + reduce_factors()
Annotations Annotation(name, lookup, key) for compute cost
Persistence save_results() / load_results() round-trip
Pareto analysis extract_front() with weighted observables
Plotting plot_front(), plot_parallel(), plot_scores()

Design

Conjugate Bayesian linear regression (y = a + bx + eps) with Normal prior — closed-form posterior, no MCMC, no external probabilistic programming library. Three factors control prior variance, assumed noise scale, and sample size.

CI

  • 258 tests pass, 99.57% coverage (no new tests needed — this is a docs/example PR)
  • Ruff, mypy all clean
  • Example script runs end-to-end and produces all 4 plot assets

Closes #71

- examples/bayesian_study.py: conjugate Bayesian linear regression
  demonstrating CRPS/coverage/RMSE scoring, Morris screening,
  score-based stacking, calibration assessment, and save/load
- docs/guide/bayesian.md: narrative walkthrough with snippet tags
- mkdocs.yml: add Bayesian guide to nav
- Generated plot assets (front, parallel, CRPS strip, calibration)
@jc-macdonald jc-macdonald merged commit ec2eb53 into main Apr 17, 2026
4 checks passed
@jc-macdonald jc-macdonald deleted the feat/bayesian-example branch April 17, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

User guide: Bayesian model criticism example (scoring + stacking)

1 participant