Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] Bayesian Linear Regression using Normal Conjugate Prior #500

Merged
merged 57 commits into from
Jan 12, 2025

Conversation

meraldoantonio
Copy link
Contributor

What does this implement/fix? Explain your changes.

Implementing a new Bayesian linear regression estimator module using normal conjugate prior
with known noise variance.

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

No

What should a reviewer concentrate their feedback on?

Correctness of implementation

Did you add any tests for the change?

No

Any other comments?

No

PR checklist

For all contributions
  • [] I've added myself to the list of contributors with any new badges I've earned :-)
    How to: add yourself to the all-contributors file in the skpro root directory (not the CONTRIBUTORS.md). Common badges: code - fixing a bug, or adding code logic. doc - writing or improving documentation or docstrings. bug - reporting or diagnosing a bug (get this plus code if you also fixed the bug in the PR).maintenance - CI, test framework, release.
    See here for full badge reference
  • The PR title starts with either [ENH], [MNT], [DOC], or [BUG]. [BUG] - bugfix, [MNT] - CI, test framework, [ENH] - adding or improving code, [DOC] - writing or improving documentation or docstrings.
For new estimators

@meraldoantonio meraldoantonio marked this pull request as draft November 22, 2024 01:42
Copy link
Collaborator

@fkiraly fkiraly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, only some smaller comments:

  • the BayesianLinearRegressor is not in the folder linked to in the API ref
  • non-blocking suggestions about improving the docstring

Non-blocking, to think about:

The notebook could be about Bayesian linear regression, not just about the conjugate approach. It would be informative to separately showcase the Bayes rule, and different ways to estimate/approximate the actual posterior. Conjucate and MCMC are two of a longer list (other strategies are variational and approximate).

@meraldoantonio meraldoantonio marked this pull request as draft January 3, 2025 16:52
Copy link
Collaborator

@fkiraly fkiraly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent work! My comments are mainly on documentation, PR structure, nothing content-wise.

@meraldoantonio meraldoantonio marked this pull request as ready for review January 9, 2025 15:07
@meraldoantonio
Copy link
Contributor Author

Hi @fkiraly,

Thanks for the review! I've made the following updates:

  1. Removed the notebooks and notebook artefacts from this PR. They will be included in a separate PR. I propose the following merge order:

  2. Made the submodule private.

  3. Updated the docstring to include mathematical details and model assumptions.

Let me know if this works!

Copy link
Collaborator

@fkiraly fkiraly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me, all perfect.

Maybe call the new API section not "Bayesian" but "Bayesian regressors" or similar? "Bayesian" is just an adjective (and/or the name of a sunken yacht).

@meraldoantonio
Copy link
Contributor Author

Hi @fkiraly, I've modified the API name in regression.rst and I think this PR is ready to be merged. If all OK, could you help with the merge? Thanks :)

@fkiraly fkiraly merged commit 6fbeb03 into sktime:main Jan 12, 2025
36 checks passed
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.

2 participants