EnsembleForecastingWorkflowConfig#
- class openstef_meta.presets.forecasting_workflow.EnsembleForecastingWorkflowConfig(**data: Any) None[source]
Bases:
BaseConfigConfiguration for ensemble forecasting workflows.
- Parameters:
data (
Any)
- kind: Literal['ensemble']
- model_id: ModelIdentifier
- ensemble_type: Literal['learned_weights', 'stacking', 'rules']
- combiner_model: Literal['lgbm', 'rf', 'xgboost', 'logistic', 'gblinear']
- sample_interval: timedelta
- location: LocationConfig
- xgboost_hyperparams: XGBoostHyperParams
- gblinear_hyperparams: GBLinearHyperParams
- lgbm_hyperparams: LGBMHyperParams
- lgbmlinear_hyperparams: LGBMLinearHyperParams
- combiner_lgbm_hyperparams: LGBMCombinerHyperParams
- combiner_rf_hyperparams: RFCombinerHyperParams
- combiner_xgboost_hyperparams: XGBCombinerHyperParams
- combiner_logistic_hyperparams: LogisticCombinerHyperParams
- combiner_stacking_lgbm_hyperparams: LGBMHyperParams
- combiner_stacking_gblinear_hyperparams: GBLinearHyperParams
- target_column: str
- energy_price_column: str
- radiation_column: str
- wind_speed_column: str
- pressure_column: str
- temperature_column: str
- relative_humidity_column: str
- selected_features: FeatureSelection
- predict_history: timedelta
- cutoff_history: timedelta
- completeness_threshold: float
- flatliner_threshold: timedelta
- detect_non_zero_flatliner: bool
- predict_nonzero_flatliner: bool
- shifters: list[Shifter]
- rolling_aggregate_features: list[AggregationFunction]
- clip_features: FeatureSelection
- nan_on_outlier_features: FeatureSelection
- max_day_lags: int
- combiner_sample_weight: SampleWeightConfig
- data_splitter: DataSplitter
- evaluation_metrics: list[MetricProvider]
- mlflow_storage: MLFlowStorage | None
- model_reuse_enable: bool
- model_reuse_max_age: timedelta
- model_selection_enable: bool
- model_selection_old_model_penalty: float
- model_performance_callback_enabled: bool
- model_performance_callback_metric_threshold: tuple[Quantile | Literal['global'], str, MetricDirection, float]
- verbosity: Literal[0, 1, 2, 3, True]
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': False, 'extra': 'ignore', 'protected_namespaces': ()}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].