WeightsCombiner#
- class openstef_meta.models.forecast_combiners.learned_weights_combiner.WeightsCombiner(**data: Any) None[source]
Bases:
ForecastCombinerCombines base forecaster predictions with a classification approach.
A classifier predicts per-timestep model weights. Depending on
hard_selection, the combiner either picks the best forecaster (hard) or blends using predicted probabilities (soft).- Parameters:
data (
Any)
-
hyperparams:
HyperParams
- property hparams: HyperParams
Combiner hyperparameters.
Concrete combiners implement this by returning their narrowed
hyperparamsfield, giving callers a polymorphic read-only view while each subclass keeps full type safety on its own field.
-
hard_selection:
bool
- model_post_init(_context: object, /) None[source]
Validate hyperparams and initialize per-quantile classifiers.
- property is_fitted: bool
Whether the combiner has been fitted.
- fit(data: EnsembleForecastDataset, data_val: EnsembleForecastDataset | None = None, additional_features: ForecastInputDataset | None = None) None[source]
Fit the combiner using base forecaster predictions.
- Parameters:
data (
EnsembleForecastDataset) – Ensemble dataset with base forecaster predictions.data_val (
EnsembleForecastDataset|None) – Optional validation data.additional_features (
ForecastInputDataset|None) – Optional additional features for the combiner.data
data_val
additional_features
- Return type:
- predict(data: EnsembleForecastDataset, additional_features: ForecastInputDataset | None = None) ForecastDataset[source]
Generate final predictions based on base forecaster predictions.
- Parameters:
data (
EnsembleForecastDataset) – Ensemble dataset with base forecaster predictions.additional_features (
ForecastInputDataset|None) – Optional additional features for the combiner.data
additional_features
- Returns:
Combined forecast dataset.
- Return type:
- predict_contributions(data: EnsembleForecastDataset, additional_features: ForecastInputDataset | None = None) TimeSeriesDataset[source]
Per-sample feature/model contributions for the combined prediction.
- Parameters:
data (
EnsembleForecastDataset) – Ensemble dataset with base forecaster predictions.additional_features (
ForecastInputDataset|None) – Optional additional features for the combiner.data
additional_features
- Returns:
TimeSeriesDataset where columns are features/models and rows are timesteps.
- Return type:
- property feature_importances: DataFrame
Feature importances from the internal classifiers, per quantile.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'ignore', 'protected_namespaces': ()}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- quantiles: list[Quantile]
- horizons: list[LeadTime]