Load ground truth and compute combined actual series with validation.
This function loads a CSV file containing ground truth data, validates the presence of required columns, extracts a subset based on forecast horizon, and aggregates multiple columns using weighted averaging.
Parameters
Name
Type
Description
Default
config
ConfigDemo
Configuration object containing default paths and parameters.
config = ConfigDemo(data_path=Path("/nonexistent/file.csv"))try: load_actual_combined( config, columns=["A"], forecast_horizon=1, weights=[1.0] )exceptFileNotFoundError:print("File not found as expected")
Production usage with horizon and weights drawn from the config:
idx = pd.date_range("2020-01-01", periods=30, freq="h", name="timestamp")sample_df = pd.DataFrame( {"load": [100+ i for i inrange(30)],"solar": [50+ i for i inrange(30)],"wind": [25+ i for i inrange(30)], }, index=idx,)with tempfile.NamedTemporaryFile(mode="w", suffix=".csv", delete=False) as f: sample_df.to_csv(f.name) temp_path = Path(f.name)config = ConfigDemo( data_path=temp_path, forecast_horizon=24, weights=[1.0, -0.5, -0.5])result = load_actual_combined(config, columns=["load", "solar", "wind"])print(f"Production forecast length: {len(result)}")print(f"Result is pandas Series: {isinstance(result, pd.Series)}")temp_path.unlink()
Production forecast length: 24
Result is pandas Series: True