ForecastCombiner#
- class openstef_meta.models.forecast_combiners.forecast_combiner.ForecastCombiner(**data: Any) None[source]
Bases:
BaseConfig,Predictor[EnsembleForecastDataset,ForecastDataset],ExplainableForecaster,ABCCombines base Forecaster predictions for each quantile into final predictions.
Subclasses implement specific combination strategies (stacking, learned weights, etc.). The combiner IS its own config — fields like
quantilesandhorizonsare declared as pydantic fields directly.- Parameters:
data (
Any)
- 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].
- property max_horizon: LeadTime
Returns the maximum lead time (horizon) from the configured horizons.
- with_horizon(horizon: LeadTime) Self[source]
Create a copy with a different horizon.
- Parameters:
horizon (
LeadTime) – The new lead time to use for predictions.horizon
- Returns:
New instance with the specified horizon.
- Return type:
Self
- abstract 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.
- abstract property is_fitted: bool
Whether the combiner has been fitted.
- abstractmethod 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:
- abstractmethod 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:
- abstractmethod 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: