From 412d983da65c8a01cbe8c38c44a0ab2be780e7a8 Mon Sep 17 00:00:00 2001 From: Dennis Bader Date: Thu, 19 Dec 2024 12:38:08 +0100 Subject: [PATCH] fix index generation for optimized hist fc with regression models (#2623) * fix index generation for optimized hist fc with regression models * update changelog --- CHANGELOG.md | 1 + .../optimized_historical_forecasts_regression.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2428a90127..ad43f4371f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ but cannot always guarantee backwards compatibility. Changes that may **break co - Fixed a bug which raised an error when computing residuals (or backtest with "per time step" metrics) on multiple series with corresponding historical forecasts of different lengths. [#2604](https://github.com/unit8co/darts/pull/2604) by [Dennis Bader](https://github.com/dennisbader). - Fixed a bug when using `darts.utils.data.tabularization.create_lagged_component_names()` with target `lags=None`, that did not return any lagged target label component names. [#2576](https://github.com/unit8co/darts/pull/2576) by [Dennis Bader](https://github.com/dennisbader). - Fixed a bug when using `num_samples > 1` with a deterministic regression model and the optimized `historical_forecasts()` method, an exception was not raised. [#2576](https://github.com/unit8co/darts/pull/2588) by [Antoine Madrona](https://github.com/madtoinou). +- Fixed a bug when performing optimized historical forecasts with `RegressionModel` and `last_points_only=False`, where the forecast index generation could result in out-of-bound dates. [#2623](https://github.com/unit8co/darts/pull/2623) by [Dennis Bader](https://github.com/dennisbader). **Dependencies** diff --git a/darts/utils/historical_forecasts/optimized_historical_forecasts_regression.py b/darts/utils/historical_forecasts/optimized_historical_forecasts_regression.py index 4c9a4c7766..a9a3218856 100644 --- a/darts/utils/historical_forecasts/optimized_historical_forecasts_regression.py +++ b/darts/utils/historical_forecasts/optimized_historical_forecasts_regression.py @@ -342,7 +342,7 @@ def _optimized_historical_forecasts_all_points( # TODO: check if faster to create in the loop new_times = generate_index( start=hist_fct_start + model.output_chunk_shift * series_.freq, - length=forecast_horizon * stride * forecast.shape[0], + length=forecast_horizon + (forecast.shape[0] - 1) * stride, freq=freq, name=series_.time_index.name, )