Skip to content

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

Merged
fkiraly merged 57 commits into
sktime:mainfrom
meraldoantonio:pymc_dev_conjugate
Jan 12, 2025
Merged

[ENH] Bayesian Linear Regression using Normal Conjugate Prior#500
fkiraly merged 57 commits into
sktime:mainfrom
meraldoantonio:pymc_dev_conjugate

Conversation

@meraldoantonio
Copy link
Copy Markdown
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
@meraldoantonio meraldoantonio marked this pull request as draft January 3, 2025 16:52
Copy link
Copy Markdown
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.

  • the notebooks should be reconciled with PR #480, otherwise I see some inconsistencies that could cause merge headaches. I would suggest to split off the notebooks in a separate PR, with dependency graph either 500, 480 -> new PR, or 500 -> 480 -> new PR (left side of arrow gets merged earlier).
  • in the docstring, I think it is essential to say what exactly the model assumptions are, a little bit of math would be great there, and how these map onto python parameters.
  • the changes in #480 are inconsistent with the directory structure here - I would recommend to make all submodues of bayesian private, as long as we are not certain about the exact end state desired.

@meraldoantonio meraldoantonio marked this pull request as ready for review January 9, 2025 15:07
@meraldoantonio
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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 :)

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