[ENH] extend sktime ForecastingOptCV with broadcasting options and returned parameters#205
[ENH] extend sktime ForecastingOptCV with broadcasting options and returned parameters#205anirudhsengar wants to merge 9 commits intohyperactive-project:mainfrom
sktime ForecastingOptCV with broadcasting options and returned parameters#205Conversation
… parameters Signed-off-by: Anirudh Sengar <anirudhsengar3@gmail.com>
Signed-off-by: Anirudh Sengar <anirudhsengar3@gmail.com>
fkiraly
left a comment
There was a problem hiding this comment.
Nice!
Though, I think there is already automatic broadcasting in sktime - this should be activated, instead of reimplementing it.
Have a look at BaseGridSearch in sktime, and the __init__ code which handles tune_by_variable and tune_by_instance (the latter via _extend_to_all_scitypes).
Signed-off-by: Anirudh Sengar <anirudhsengar3@gmail.com>
Signed-off-by: Anirudh Sengar <anirudhsengar3@gmail.com>
src/hyperactive/integrations/sktime/tests/test_sktime_estimators.py
Outdated
Show resolved
Hide resolved
fkiraly
left a comment
There was a problem hiding this comment.
Great!
Only very small comments above.
Signed-off-by: Anirudh Sengar <anirudhsengar3@gmail.com>
|
Done! Thank you @fkiraly for the feedback. |
|
If approved, please merge sktime/sktime#9092 as well. |
fkiraly
left a comment
There was a problem hiding this comment.
Great!
Small request - please move the example from the README to the docstring, and also update the docstring in sktime/sktime#9092 so it is identical.
|
Done! @fkiraly. Even updated sktime/sktime#9092. |
SimonBlanke
left a comment
There was a problem hiding this comment.
merge the current main into your branch. This should help with the CI fails.
Summary
Extend
ForecastingOptCVto expose sktime’s broadcasting controls plus richer post-fit diagnostics, aligning it more closely withForecastingGridSearchCVwhile keeping Hyperactive optimizers in play. Also document the new knobs and assert the behavior via integration tests.Changes
tune_by_instance/tune_by_variableinit params. When sktime is available we reuse its delegated tagging (_set_delegated_tags+_extend_to_all_scitypes) so panel/multivariate broadcasting follows the native implementation rather than a bespoke copy.fitnow recordsscorer_,n_splits_,best_index_,best_score_,best_params_,best_forecaster_,refit_time_, and acv_results_table (the backtesting results for the winning configuration). We time refits withtime.perf_counterand keep the optimizer’s best index when available.Related Issues
Fixes #198