ForecastingWorkflowConfig#

class openstef_models.presets.forecasting_workflow.ForecastingWorkflowConfig(**data: Any) None[source]

Bases: BaseConfig

Configuration for forecasting workflows.

Defines all parameters needed to set up a forecasting model, including model type, hyperparameters, location information, data columns, and feature engineering settings.

Parameters:

data (Any)

kind: Literal['single']
model_id: TypeAliasType
run_name: str | None
model: Literal['xgboost', 'gblinear', 'flatliner', 'median', 'constant_quantile', 'lgbm', 'lgbmlinear']
quantiles: list[Quantile]
sample_interval: timedelta
horizons: list[LeadTime]
xgboost_hyperparams: XGBoostHyperParams
gblinear_hyperparams: GBLinearHyperParams
lgbm_hyperparams: LGBMHyperParams
lgbmlinear_hyperparams: LGBMLinearHyperParams
location: LocationConfig
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
completeness_threshold_target_constant_quantile: float
flatliner_threshold: timedelta
detect_non_zero_flatliner: bool
predict_nonzero_flatliner: bool
shifters: list[Shifter]
rolling_aggregate_features: list[TypeAliasType]
clip_features: FeatureSelection
nan_on_outlier_features: FeatureSelection
max_day_lags: int
sample_weight_config: 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_metric: tuple[Union[Quantile, Literal['global']], str, TypeAliasType]
model_selection_old_model_penalty: float
model_performance_callback_enabled: bool
model_performance_callback_metric_threshold: tuple[Union[Quantile, Literal['global']], str, TypeAliasType, float]
verbosity: Literal[0, 1, 2, 3, True]
tags: dict[str, str]
experiment_tags: dict[str, str]
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].