StackingCombiner#
- class openstef_meta.models.forecast_combiners.StackingCombiner(**data: Any) None[source]
Bases:
ForecastCombinerStacking combiner: one meta-regressor per quantile on top of base forecaster outputs.
Accepts a template
meta_forecaster(a fully-configuredForecasterinstance). During initialisation the template is cloned once per quantile — each clone receives a single quantile while horizons are taken from the combiner’s own configuration.- Parameters:
data (
Any)
-
meta_forecaster:
Forecaster
- 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.
- 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
Get feature importance scores for this model.
Returns DataFrame with feature names as index and quantiles as columns. Each quantile represents the importance distribution across multiple model training runs or folds.
- Returns:
DataFrame with feature names as index and quantile columns. Values represent normalized importance scores summing to 1.0.
Note
The returned DataFrame must have feature names as index and quantile columns in format ‘quantile_PXX’ (e.g., ‘quantile_P50’, ‘quantile_P95’). All quantile values must be between 0 and 1.
- 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].