Skip to content

[ENH] Add BayesianConjugateGLMRegressor with conjugate priors#969

Open
arnavk23 wants to merge 26 commits intosktime:mainfrom
arnavk23:mentorship-notes-arnav-kapoor
Open

[ENH] Add BayesianConjugateGLMRegressor with conjugate priors#969
arnavk23 wants to merge 26 commits intosktime:mainfrom
arnavk23:mentorship-notes-arnav-kapoor

Conversation

@arnavk23
Copy link
Contributor

@arnavk23 arnavk23 commented Mar 18, 2026

Reference Issues/PRs

Towards #7

What does this implement/fix? Explain your changes.

This PR adds the BayesianConjugateGLMRegressor estimator to the skpro.regression.bayesian module.

  • Implements Bayesian GLM regression with Gaussian likelihood and conjugate priors (multivariate normal).
  • Supports prior mean and covariance specification, noise precision, and optional intercept addition.
  • Provides analytic posterior updates and predictive distribution for new data.
  • Only the Gaussian link (conjugate case) is supported.

Does your contribution introduce a new dependency? If yes, which one?

No new dependencies are introduced.

What should a reviewer concentrate their feedback on?

  • Correctness of Bayesian conjugate update logic
  • Consistency with skpro estimator conventions

Did you add any tests for the change?

No new tests included in this commit.
Please verify if coverage is sufficient or if additional tests are needed.

Any other comments?

  • The estimator supports online updates via the _update method.

PR checklist

For all contributions
  • I've added myself to the list of contributors with any new badges I've earned :-)
  • The PR title starts with either [ENH], [MNT], [DOC], or [BUG].
For new estimators
  • I've added the estimator to the API reference - in docs/source/api_reference/taskname.rst, follow the pattern.
  • I've added one or more illustrative usage examples to the docstring, in a pydocstyle compliant Examples section.
  • If the estimator relies on a soft dependency, I've set the python_dependencies tag and ensured
    dependency isolation, see the estimator dependencies guide.

@arnavk23 arnavk23 changed the title Mentorship notes arnav kapoor [ENH] Add BayesianConjugateGLMRegressor with conjugate priors Mar 18, 2026
@arnavk23 arnavk23 marked this pull request as draft March 18, 2026 22:50
@arnavk23 arnavk23 marked this pull request as ready for review March 18, 2026 23:11
@arnavk23
Copy link
Contributor Author

@fkiraly @marrov Worked extensively on this. Please look through the docstrings, I think I added the estimator extensively but if there are suggestions on extending it further, open to the same. Also going through literature on this issue, if I find something will report (also if you think any literature applicable to this, do send).

Sidebar, @fkiraly Will be falling this format of pr going forward, if there are ways to make this better, do tell.

…cstyle compliant; docstring and formatting fixes; add g-prior and synthetic prior support.
…sure all parameters as attributes, and return PPC samples in correct shape. Run pre-commit and auto-format with black.
@arnavk23
Copy link
Contributor Author

@fkiraly @marrov Key features added here:

  • Multivariate normal and Normal-Gamma priors (unknown noise variance, Student-t predictive).
  • Synthetic/imaginary-data prior (Good’s device, Polson et al. 2026).
  • Zellner’s g-prior support for automatic regularization (Liang et al. 2025).
  • Posterior predictive check method for model diagnostics.

…Regressor; ensure scikit-learn compliance and fix test errors.
…ressor; only assign first two values from _perform_bayesian_inference.
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.

1 participant