FlatlinerForecaster#
- class openstef_models.models.forecasting.flatliner_forecaster.FlatlinerForecaster(**data: Any) None[source]
Bases:
Forecaster,ExplainableForecaster,ContributionsMixinFlatliner forecaster that predicts a flatline of zeros or median.
A simple forecasting model that always predicts zero (or the median of historical load measurements if configured) for all horizons and quantiles.
Invariants
Configuration quantiles determine the number of prediction outputs
Zeros (or median values) are predicted for all horizons and quantiles
Example
>>> from openstef_core.types import LeadTime, Quantile >>> from datetime import timedelta >>> forecaster = FlatlinerForecaster( ... quantiles=[Quantile(0.5), Quantile(0.1), Quantile(0.9)], ... horizons=[LeadTime(timedelta(hours=1)), LeadTime(timedelta(hours=2))], ... ) >>> forecaster.fit(training_data) >>> predictions = forecaster.predict(test_data)
See also
Forecaster: Base class for forecasting models that predict multiple horizons.
- Parameters:
data (
Any)
-
predict_median:
bool
-
hyperparams:
HyperParams
- property hparams: HyperParams
Model hyperparameters for training and prediction.
Concrete forecasters 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
Check if the predictor has been fitted.
- fit(data: ForecastInputDataset, data_val: ForecastInputDataset | None = None) None[source]
Fit the predictor to the input data.
This method should be called before generating predictions. It allows the predictor to learn parameters from the training data.
- Parameters:
data (
ForecastInputDataset) – The training data to fit the predictor on.data_val (
ForecastInputDataset|None) – The validation data to evaluate and tune the predictor on (optional).data
data_val
- Return type:
- predict(data: ForecastInputDataset) ForecastDataset[source]
Generate predictions for the input data.
This method should use the fitted parameters to generate predictions.
- Parameters:
data (
ForecastInputDataset) – The input data to generate predictions for.data
- Returns:
Predictions for the input data.
- Raises:
NotFittedError – If the predictor has not been fitted yet.
- 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.
- predict_contributions(data: ForecastInputDataset) TimeSeriesDataset[source]
Return zero contributions since flatliner has no features.
- Parameters:
data (
ForecastInputDataset)- Return type:
- 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].