Skip to content

Support for dynamic future exogenous features (vintages by anchor date τ) during training #1395

@matrix-dominguesph

Description

@matrix-dominguesph

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions