-
Notifications
You must be signed in to change notification settings - Fork 473
Description
Hello Nixtla team,
I’m trying to train models (NHITS, NBEATS) with future exogenous features that change with the anchor date (τ), i.e., dynamic future features. Concretely, these features are predictions from an external model: for each time series (unique_id) and each anchor date τ (last day of the encoder window), I have a new vector of length h with values for ds = τ+1 … τ+h. On the next day (τ+1), the whole vector is different (not a simple 1-day shift of a fixed seasonal covariate).
What I thought
During training/validation, the model’s loss should be computed using these future-known values per τ.
At inference, I also provide the future values (as usual), but the key point is: in training, the dataset must pull the correct vintage (issue_date = τ) for each sample.
What I tried
I tried to “encode” τ into unique_id (e.g., unique_id = f'{old_unique_id}__tau={τ}') so, each unique_id now has n windows of size 150, comprehending 90 rows of historical data, where the last day is τ, and 60 rows of future data, but the framework then enforces minimal series lengths, which isn’t practical here.
Is there any way to perform this task or it would request a feature addition?