[ENH] BayesianConjugateLinearRegressor online update in precision form#771
[ENH] BayesianConjugateLinearRegressor online update in precision form#771arnavk23 wants to merge 3 commits intosktime:mainfrom
BayesianConjugateLinearRegressor online update in precision form#771Conversation
BayesianConjugateLinearRegressor online update in precision form
fkiraly
left a comment
There was a problem hiding this comment.
Nice! Though, may I ask why _coerce_numeric_inputs is necessary? At that point in the code, we do not expect X or y to be various types, just the type in X_inner_mtype and y_inner_mtype.
Thank you for pointing that out. Yes, |
The framework already ensures X and y are in the specified inner mtypes (pd_DataFrame_Table), so the pd.to_numeric coercion is unnecessary. Simplified to direct .to_numpy(dtype=float) conversions.
Reference Issues/PRs
What does this implement/fix? Explain your changes.
This PR implements true incremental (online) learning for
BayesianConjugateLinearRegressorby introducing estimator-native Bayesian posterior chaining in_update.Key changes:
Lambda_post = Lambda_prior + beta * X^T Xeta_post = eta_prior + beta * X^T ymu_post = Lambda_post^{-1} eta_postXandyto handle skpro internal table metadata/object dtypes.Does your contribution introduce a new dependency? If yes, which one?
No new dependency is introduced.
What should a reviewer concentrate their feedback on?
_update(posterior used as next prior)Did you add any tests for the change?
Yes.
skpro/regression/tests/test_bayesian_conjugate_linear.pyAny other comments?
Visual validation artifacts (optional for PR body):
Synthetic streaming comparison:


Observed:
0.1670.973Real-data comparison (Diabetes):


Observed:
0.8130.998PR checklist
For all contributions
For new estimators
docs/source/api_reference/taskname.rst, follow the pattern.Examplessection.python_dependenciestag and ensureddependency isolation, see the estimator dependencies guide.