Is there a way to plot the impact of different exo...
# neural-forecast
a
Is there a way to plot the impact of different exo features on my forecast, similar to the way you can plot trend and seasonality decompositions? The documentation for NBEATSx claims "With its interpretable version, NBEATSx decomposes its predictions on seasonality, trend, and exogenous effects" but it isn't immediately clear from the documentation how that works since the only accepted stack types are
Trend
,
Seasonality
and
Identity
(according to the docs)
m
Like you say, some models support interpretable decompositions, meaning that you can see the trend and seasonal components of the models (see here). However, we don't support explainability of exogenous features yet. It's something we'll add very soon. For now, you can use an external library like Shap. I hope this helps!
a
Thanks Marco, just wondering what this portion of the code means then? got it from the repo: elif stack_types[i] == "exogenous": if futr_input_size + stat_input_size > 0: n_theta = 2 * (futr_input_size + stat_input_size) basis = ExogenousBasis(forecast_size=h)
I also added an exogenous stack type and was able to plot it
m
Oh, well I was not aware of that for NBEATSx! Looks like there another basis function for exogenous features, so you can see how they impact the forecasts using
decompose
. Keep in mind that it works for NBEATSx, Other models may not have that functionality.
a
Thanks @Marco! Along the same idea: I noticed that there isn't a way of distinguishing one exogenous stack from another and making sure that each stack considers only one exogenous variable. Is it possible to do so? The idea is to see if I can decompose it in a way that allows me to see the impact of each individual exo feature separately from the other exo features, similar to how I can see trend and seasonality separately
m
I don't think decomposition goes into that detail.