Skip to content

Conversation

@Lars800
Copy link
Collaborator

@Lars800 Lars800 commented Dec 17, 2025

Partial implementation of Optimization funcutionality for Openstef Beam.

This module introduces the BenchmarkOptimizer and DatasetOptimizer.
Their shared components are implemented in the OptunaOptimizer class.

  • BenchmarkOptimizer optimizes a TargetProvider
  • DatasetOptimizer optimizes a VersionedTimeseriesDataset (ground truth, predictors)

To initialize an optimizer we need to specify an Optimizer config consisting of the following components:

  • ParameterSpace
    - Hyperparams-like object that generalizes parameters to parameter-ranges (Floats, Ints, Catagorical)
    - Implements a make_optuna() method that produces Optuna compatible dictionaries
    - Default Presets for LGBM(Linear), XGBoost and GBLinear
  • BacktestForecasterConfig - Config for the OpenstefBacktestForecaster
  • BacktestConfig - Config for BacktestPipeline
  • ForecastingWorkflowConfig - Base config where hyperparameters will be overwritten
  • OptimizationMetric - Bundles a MetricProvider with a direction to create the optimization goal.
  • Cache dir - place to store trial results for efficient multiprocessing

Potential improvements:

  • Easier configuration
  • Parameterising pre-and post processing
  • Make compatible with openstef-meta (Especially forecast combiners)

commit bad4c44
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 12 12:32:01 2025 +0100

    Fixed issues

commit 34fc3e5
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 12 11:41:01 2025 +0100

    Added SkopsModelSerializer

commit 3d54604
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 12 09:49:26 2025 +0100

    Fixed comments

commit 1788759
Merge: a2538b6 dea41c8
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 12 09:15:03 2025 +0100

    Merge branch 'release/v4.0.0' into Openstef4.0.0_Additional_forecasters

commit dea41c8
Author: Fleur Petit <fleur.petit@alliander.com>
Date:   Wed Nov 12 08:45:48 2025 +0100

    added iterative imputer (#737)

    * added iterative imputer

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

    * wip

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

    * fix warning using single feature with iterative impute

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

    * fix(example): fixed example docstring imputer

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

    * style: removed superfluous hash

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

    * docs: clarify 'selection' attribuut for iterative imputer strategy

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

    * docs: clarify 'selection' iterative strategy

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

    * chore: use _logger warning. test: small adjustments

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

    ---------

    Signed-off-by: Fleur Petit <fleur.petit@alliander.com>

commit a2538b6
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 11 21:14:10 2025 +0100

    Update LGBM and LGBMLinear defaults, fixed comments

commit 5745212
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 11 20:06:21 2025 +0100

    Refactor LightGBM to LGBM

commit 4394895
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 11 20:02:13 2025 +0100

    fixed comments

commit 29b1875
Author: Marnix van Lieshout <47454346+MvLieshout@users.noreply.github.com>
Date:   Mon Nov 10 11:35:59 2025 +0100

    fix: Retraining data bug Liander 2024 benchmark (#740)

    * WIP fixing bug

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Remove comment

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Clean up

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Fix start date

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Formatting

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Fix test

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Undo redundant changes

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Reset starting date

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Apply changes

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Formatting

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Ignore typing issue

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Alter while loop

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    * Remove redundant type

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>

    ---------

    Signed-off-by: Marnix van Lieshout <marnix.van.lieshout@alliander.com>
…timization

Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Squashed commit of the following:

commit b5a3737
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Dec 16 14:11:38 2025 +0100

    Moved example

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit ab13581
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Dec 16 14:09:48 2025 +0100

    Resolved comments, fixed bug

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit ede0908
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Dec 16 12:10:27 2025 +0100

    Streamline logging statements, Fix quality

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 3b6587a
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Dec 16 12:06:50 2025 +0100

    Fixed restore target Forecast Combiner

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 619c271
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Dec 16 11:22:32 2025 +0100

    Migrated Flagger and Selector to OpenSTEF Models transforms

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 682ae2f
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 15 17:27:23 2025 +0100

    Improved data handling in EnsembleForecasting model, correct data splitting and Model Fit Result. Validation and test data can now be fully used

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 780e012
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 15 13:40:46 2025 +0100

    Added hard Forecast Selection

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 845e384
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 15 13:00:30 2025 +0100

    Stacking Bugfix

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit b10d02c
Merge: 6f88d72 c9f135f
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Dec 9 14:02:46 2025 +0100

    Merge remote-tracking branch 'origin/research/ExplainableModelContributionsWFunctions' into research/HybridForecaster2.0

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit c9f135f
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Dec 9 10:41:06 2025 +0100

    small fix

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit bedf6af
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 8 14:32:30 2025 +0100

    fixed tests

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit e6bc447
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 8 14:00:55 2025 +0100

    Fixes

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 354b6f2
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 8 10:22:43 2025 +0100

    Squashed commit of the following:

    commit 6f88d72
    Author: Lars van Someren <lvsom1@gmail.com>
    Date:   Mon Dec 8 09:46:57 2025 +0100

        Bugfixes

        Signed-off-by: Lars van Someren <lvsom1@gmail.com>

    commit b44fd92
    Author: Lars van Someren <lvsom1@gmail.com>
    Date:   Thu Dec 4 14:39:31 2025 +0100

        bug fixes

        Signed-off-by: Lars van Someren <lvsom1@gmail.com>

    commit e212448
    Author: Lars van Someren <lvsom1@gmail.com>
    Date:   Thu Dec 4 12:38:24 2025 +0100

        fixes

        Signed-off-by: Lars van Someren <lvsom1@gmail.com>

    commit eb775e4
    Author: Lars van Someren <lvsom1@gmail.com>
    Date:   Thu Dec 4 11:40:44 2025 +0100

        BugFix

        Signed-off-by: Lars van Someren <lvsom1@gmail.com>

    commit c33ce93
    Author: Lars van Someren <lvsom1@gmail.com>
    Date:   Wed Dec 3 14:15:06 2025 +0100

        Made PR Compliant

        Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 20edf2d
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 8 10:16:27 2025 +0100

    fixes

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 6f88d72
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 8 09:46:57 2025 +0100

    Bugfixes

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 2899baf
Author: lars800 <lvsom1@gmail.com>
Date:   Fri Dec 5 17:11:37 2025 +0100

    Added Feature Contributions

    Residual Forecaster and Stacking Forecaster can now predict model contributions. Regular forecasters (EXCEPT LGBM Linear) can predict feature contributions

commit 51579d0
Author: floriangoethals <floriangoehtals@gmail.com>
Date:   Thu Dec 4 15:38:19 2025 +0100

    added learned weights contributions

commit b44fd92
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Dec 4 14:39:31 2025 +0100

    bug fixes

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit e212448
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Dec 4 12:38:24 2025 +0100

    fixes

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit eb775e4
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Dec 4 11:40:44 2025 +0100

    BugFix

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit c33ce93
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Dec 3 14:15:06 2025 +0100

    Made PR Compliant

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit ece5d18
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Dec 3 13:31:43 2025 +0100

    Small fix

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit e18ce5a
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Dec 3 13:29:20 2025 +0100

    Prepared TODOs for Florian

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 9c6de7d
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Dec 3 13:13:18 2025 +0100

    Fixed tests

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit ddef9f3
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Dec 2 15:34:34 2025 +0100

    Major Refactor, Working Version

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit b2fca54
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 1 17:08:09 2025 +0100

    fixed small issues

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 460548b
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Dec 1 16:27:59 2025 +0100

    Renamed FinalLearner to Forecast Combiner. Eliminated redundant classes

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 308d7c8
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Fri Nov 28 15:47:43 2025 +0100

    Really fixed the TOML

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit e3a587c
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Fri Nov 28 15:43:45 2025 +0100

    fixed toml

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 719ea5c
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Fri Nov 28 15:14:28 2025 +0100

    Make PR compliant

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 4b3aff8
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Fri Nov 28 15:09:13 2025 +0100

    Ensemble Forecast Dataset

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit c6749b3
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Nov 27 15:25:43 2025 +0100

    PR compliant

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 88c6865
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Nov 27 09:15:15 2025 +0100

    Fixes

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit a300c27
Merge: 797eee7 d8d10a1
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 26 14:49:40 2025 +0100

    Merge remote-tracking branch 'origin/research/Hybrid_Business' into research/HybridForecaster2.0

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 797eee7
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 26 14:48:02 2025 +0100

    Fix sample weights

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit d8d10a1
Author: floriangoethals <floriangoehtals@gmail.com>
Date:   Wed Nov 26 14:30:21 2025 +0100

    entered flagger feature in new architecture

commit c484a26
Merge: 100494c 1d5d97d
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 26 10:56:20 2025 +0100

    Merge branch 'research/BusinessRulesForecaster' into research/HybridForecaster2.0

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 100494c
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 26 10:55:24 2025 +0100

    Updated feature specification

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 1d5d97d
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 25 21:34:53 2025 +0100

    RulesForecaster with dummy features

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit c053ea5
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 25 17:13:26 2025 +0100

    added example to openstef Meta

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 140fe26
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 25 17:08:44 2025 +0100

    Added additional Feature logic to StackingForecaster

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 82795d9
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 25 13:38:52 2025 +0100

    Fixed benchmark references

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 976a2fc
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 25 13:27:49 2025 +0100

    FinalLearner PreProcessor

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 1141898
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Nov 24 22:13:55 2025 +0100

    Testing and fixes on Learned Weights Forecaster

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 3338be1
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Nov 24 21:05:22 2025 +0100

    ResidualForecaster + refactoring

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit f873f89
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Nov 24 11:59:07 2025 +0100

    Introduced openstef_metalearning

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 553e2fd
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Fri Nov 21 20:08:39 2025 +0100

    Fixed type Issues

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 72b1ca7
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Fri Nov 21 20:04:43 2025 +0100

    fix merge issue

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 5a54c4f
Merge: 9b971d3 f476523
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Fri Nov 21 20:03:48 2025 +0100

    Merge remote-tracking branch 'origin/research/v4.1.0' into research/HybridForecaster2.0

commit f476523
Author: Lars van Someren <93349011+Lars800@users.noreply.github.com>
Date:   Fri Nov 21 16:38:28 2025 +0100

    Research/v4.1.0 additional forecasters (#765)

    * Added Lightgbm, LightGBM Linear Trees and Hybrid Stacking Forecasters

    * Fixed small issues

    * Ruff compliance

    * fixed quality checks

    * Fixed last issues, Signed-off-by: Lars van Someren <lars.vansomeren@sia-partners.com>

    * fixed comments

    * Refactor LightGBM to LGBM

    * Update LGBM and LGBMLinear defaults, fixed comments

    * Fixed comments

    * Added SkopsModelSerializer

    * Fixed issues

    * Gitignore optimization and dev sandbox

    * Added MultiQuantileAdapter Class

    * small fix

    * Hybrid V2

    * Small fix

    * Squashed commit of the following:

    commit 37089b8
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Mon Nov 17 15:29:59 2025 +0100

        fix(#728): Fixed parallelism stability issues, and gblinear feature pipeline. (#752)

        * fix(STEF-2475): Added loky as default option for parallelism since fork causes instabilities for xgboost results.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(STEF-2475): Added better support for flatliners and predicting when data is sparse.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(STEF-2475): Feature handing improvements for gblinear. Like imputation, nan dropping, and checking if features are available.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(#728): Added checks on metrics to gracefully handle empty data. Added flatline filtering during evalution.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(#728): Updated xgboost to skip scaling on empty prediction.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(STEF-2475): Added parallelism parameters.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        ---------

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    commit a85a3f7
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Fri Nov 14 14:31:34 2025 +0100

        fix(STEF-2475): Fixed rolling aggregate adder by adding forward filling and stating support for only one horizon. (#750)

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    commit 4f0c664
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Thu Nov 13 16:54:15 2025 +0100

        feature: Disabled data cutoff by default to be consistent with openstef 3.  And other minor improvements. (#748)

    commit 493126e
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Thu Nov 13 16:12:35 2025 +0100

        fix(STEF-2475) fix and refactor backtesting iction in context of backtestforecasting config for clarity. Added more colors. Fixed data split function to handle 0.0 splits. (#747)

        * fix: Fixed data collation during backtesting. Renamed horizon to prediction in context of backtestforecasting config for clarity. Added more colors. Fixed data split function to handle 0.0 splits.

        * fix: Formatting.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix: Formatting.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        ---------

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    commit 6b1da44
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Thu Nov 13 16:05:32 2025 +0100

        feature: forecaster hyperparams and eval metrics (#746)

        * feature(#729) Removed to_state and from_state methods in favor of builtin python state saving functions.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature(#729): Fixed issue where generic transform pipeline could not be serialized.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature(#729): Added more state saving tests

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature(#729): Added more state saving tests

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature(#729): Added more state saving tests

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature: standardized objective function. Added custom evaluation functions for forecasters.

        * fix: Formatting.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        ---------

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    * set silence

    * small fix

    * Fix final learner

    * fixed lgbm efficiency

    * updated lgbm linear params

    * Fixed type and quality issues

    * remove depricated files

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

    * change: Fixed dependencies to align more with the current release.

    Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    * change: Style fixes.

    Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    ---------

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>
    Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>
    Co-authored-by: Egor Dmitriev <egor.dmitriev@alliander.com>

commit 9b971d3
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Fri Nov 21 16:33:31 2025 +0100

    MetaForecasterClass

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit 22688e0
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Nov 20 15:11:33 2025 +0100

    First Version Sample Weighting Approach

    Signed-off-by: Lars van Someren <lvsom1@gmail.com>

commit ea1f5f7
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Nov 20 10:49:04 2025 +0100

    Fixed type and quality issues

commit b4bdbdc
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Nov 20 10:01:07 2025 +0100

    updated lgbm linear params

commit 4f8ea8f
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 18 20:43:32 2025 +0100

    fixed lgbm efficiency

commit 93baa03
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 18 12:19:52 2025 +0100

    Fix final learner

commit ea90239
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 18 09:20:37 2025 +0100

    small fix

commit 8c5743b
Merge: 8be453a 03df6a5
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 18 09:14:06 2025 +0100

    Merge branch 'release/v4.0.0' into research/v4.1.0_Additional_Forecasters

commit 8be453a
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Nov 17 21:39:38 2025 +0100

    set silence

commit ce2172a
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Nov 17 21:17:07 2025 +0100

    Squashed commit of the following:

    commit 37089b8
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Mon Nov 17 15:29:59 2025 +0100

        fix(#728): Fixed parallelism stability issues, and gblinear feature pipeline. (#752)

        * fix(STEF-2475): Added loky as default option for parallelism since fork causes instabilities for xgboost results.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(STEF-2475): Added better support for flatliners and predicting when data is sparse.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(STEF-2475): Feature handing improvements for gblinear. Like imputation, nan dropping, and checking if features are available.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(#728): Added checks on metrics to gracefully handle empty data. Added flatline filtering during evalution.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(#728): Updated xgboost to skip scaling on empty prediction.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix(STEF-2475): Added parallelism parameters.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        ---------

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    commit a85a3f7
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Fri Nov 14 14:31:34 2025 +0100

        fix(STEF-2475): Fixed rolling aggregate adder by adding forward filling and stating support for only one horizon. (#750)

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    commit 4f0c664
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Thu Nov 13 16:54:15 2025 +0100

        feature: Disabled data cutoff by default to be consistent with openstef 3.  And other minor improvements. (#748)

    commit 493126e
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Thu Nov 13 16:12:35 2025 +0100

        fix(STEF-2475) fix and refactor backtesting iction in context of backtestforecasting config for clarity. Added more colors. Fixed data split function to handle 0.0 splits. (#747)

        * fix: Fixed data collation during backtesting. Renamed horizon to prediction in context of backtestforecasting config for clarity. Added more colors. Fixed data split function to handle 0.0 splits.

        * fix: Formatting.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * fix: Formatting.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        ---------

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

    commit 6b1da44
    Author: Egor Dmitriev <egor.dmitriev@alliander.com>
    Date:   Thu Nov 13 16:05:32 2025 +0100

        feature: forecaster hyperparams and eval metrics (#746)

        * feature(#729) Removed to_state and from_state methods in favor of builtin python state saving functions.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature(#729): Fixed issue where generic transform pipeline could not be serialized.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature(#729): Added more state saving tests

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature(#729): Added more state saving tests

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature(#729): Added more state saving tests

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        * feature: standardized objective function. Added custom evaluation functions for forecasters.

        * fix: Formatting.

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

        ---------

        Signed-off-by: Egor Dmitriev <egor.dmitriev@alliander.com>

commit bfa2e2f
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Nov 17 16:09:41 2025 +0100

    Small fix

commit ed83b3a
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Mon Nov 17 15:43:36 2025 +0100

    Hybrid V2

commit 064a92d
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Nov 13 14:50:49 2025 +0100

    small fix

commit 4027de7
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Nov 13 14:48:53 2025 +0100

    Added MultiQuantileAdapter Class

commit 99c9bc5
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Thu Nov 13 12:00:44 2025 +0100

    Gitignore optimization and dev sandbox

commit bad4c44
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 12 12:32:01 2025 +0100

    Fixed issues

commit 34fc3e5
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 12 11:41:01 2025 +0100

    Added SkopsModelSerializer

commit 3d54604
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 12 09:49:26 2025 +0100

    Fixed comments

commit 1788759
Merge: a2538b6 dea41c8
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Wed Nov 12 09:15:03 2025 +0100

    Merge branch 'release/v4.0.0' into Openstef4.0.0_Additional_forecasters

commit a2538b6
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 11 21:14:10 2025 +0100

    Update LGBM and LGBMLinear defaults, fixed comments

commit 5745212
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 11 20:06:21 2025 +0100

    Refactor LightGBM to LGBM

commit 4394895
Author: Lars van Someren <lvsom1@gmail.com>
Date:   Tue Nov 11 20:02:13 2025 +0100

    fixed comments

Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
…ptimization

Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
@Lars800 Lars800 added feature New feature or request OpenSTEF 4.0 Work for OpenSTEF 4.0 labels Dec 18, 2025
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Signed-off-by: Lars van Someren <lvsom1@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request OpenSTEF 4.0 Work for OpenSTEF 4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants