Question: do NeuralForecast models objects take in...
# neural-forecast
a
Question: do NeuralForecast models objects take into account "past" values of future exogenous features? In the training dataframe (
df
), I have values of the future_exogenous_cols for datetimes in the past, so the model has access to these values in the training pass, and at inference time, I include the
future_exogenous_cols
in the "past" dataframe (
df
) when i call
nf.predict()
-- but is the model actually using these values? thanks in advance!
👀 2
m
Hello! If you specify them as
futr_exog_list
, then yes, the model is using those values when forecasting. You can read more about the type of features here.
a
thanks for the response! i think i'm still a little confused - i get that if i specify columns in futr_exog_list, they will be used in prediction for future time intervals (this is pretty clear in the documentation). but, are these forecast values also used for past intervals? as a concrete example, let's say i have a covariate C for which i have access to forecast values + actual realized values for past intervals. i will train a model that has the actual values of C for past intervals, as well as forecasted values of C for future intervals. since i train with step_size=1, each window passed to training can "see" both forecasted values for past intervals as well as forecasted values for future intervals. however, since i also have the actual values of C for past intervals, i want to make sure that the model is ONLY using those for past times, and not the (stale) forecasted values does that make sense? i read through the documentation you linked and wasn't able to find much mention of this
m
The model does not use forecasted values to make predictions. A historical exogenous variable means that you only have past values. So the model will learn how to map past values of the series, and past values of the covariate to the output horizon. Future exogenous variables have past values and known future values (they are not predicted, they are known). Think something like holidays. We know when Valentine's day will occur in 2026, 2027, etc. for example. There, the model learns to map past values and future known values of the covariate (not predicted) to the output horizon. Meaning that now, to make forecasts, you must specify known future values of your covariate. Does that clarify everything?
a
thanks for the detailed explanation, this makes sense now! appreciate it
🙌 1