CompletenessChecker#
- class openstef_models.transforms.validation.CompletenessChecker(**data: Any) None[source]
Bases:
BaseConfig,TimeSeriesTransformTransformer to check the completeness of time series load data.
Completeness is defined as the ratio of non-missing values to the total number of values in a given time series. This class can be configured to check specific columns and apply weights to their importance in the completeness calculation.
Example
>>> from datetime import datetime, timedelta >>> import numpy as np >>> import pandas as pd >>> from openstef_core.datasets import TimeSeriesDataset >>> from openstef_models.transforms.validation import ( ... CompletenessChecker, ... ) >>> data = pd.DataFrame({ ... 'radiation': [100, np.nan, np.nan, np.nan], ... 'temperature': [20, np.nan, 24, np.nan], ... 'wind_speed': [np.nan, np.nan, np.nan, np.nan], ... }, ... index=pd.date_range("2025-01-01", periods=4, freq="15min")) >>> dataset = TimeSeriesDataset(data, timedelta(minutes=15)) >>> transform = CompletenessChecker() >>> transform.transform(dataset) Traceback (most recent call last): openstef_core.exceptions.InsufficientlyCompleteError: ...not sufficiently complete...
- Parameters:
data (
Any)
-
completeness_threshold:
float
- transform(data: TimeSeriesDataset) TimeSeriesDataset[source]
Returns the input data unchanged or raises an error if the data is incomplete.
- Parameters:
data (
TimeSeriesDataset) – The input time series dataset to be transformed.data
- Returns:
The unmodified input TimeSeriesDataset.
- Raises:
InsufficientlyCompleteError – If the dataset is not sufficiently complete.
- Return type:
- 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].