Comments (4)
Hi @abseejp,
Thanks for using skforecast.
In independent multi-series forecasting (ForecasterAutoregMultiSeries
) a single model is trained for all time series, therefore, there are not several underlying models. forecaster.get_feature_importances
should return the feature importance for the model. Are you getting any errors?
from skforecast.
Thanks @JoaquinAmatRodrigo for the comment.
I just tried it again now, and it's working, but I have another question following your response. If you're fundamentally building a single model, do you assume that an exogenous feature will have a fixed relationship (i.e., same importance value) with all the timeseries? For instance, if the importance value for lag 1
is 0.493775
and I have three timeseries, does that means the importance is still 0.493775
for series 1,2, and 3
?
Please help me understand what's happening internally. I would have assumed that since I have three timeseries, then I should get three different feature importance dataframe (one for each series and the importance values of a feature should be different for each series).
Also, I see that some importance value are assigned to other timeseries as shown in the image below. I would have expected those three series to have a value of 0??
from skforecast.
I see where the confusion might be coming from. When you're working with a single model for multiple time series, the importance values are calculated in relation to the entire dataset (all series together), not on a per-time series basis. This is because the underlying assumption is that all series being modeled together share a common underlying pattern.
In your example, if the importance value for lag 1 is 0.493775, it means the importance of lag 1 for the overall group of series included in the model. This importance is derived from the training process and reflects how influential that feature is on the predictions across the entire dataset. This importance value is not specific to any one time series.
If you want to get feature importance specific to each individual time series, you would typically have to train separate models for each series. Each of these models would then provide a different set of importance values, tailored to the particular characteristics of the individual time series.
The feature importance for each "item" is a measure of how each individual series influences the response variable according to the trained model.
A diagram illustrating how the training matrix is created may help to understand the feature importance output.
from skforecast.
Thanks for your response. Really helpful.
from skforecast.
Related Issues (20)
- A single model multivariate forecaster HOT 3
- Issue saving ForecasterSarimax object HOT 4
- Custom predictors are inefficient for window features HOT 1
- grid_search_sarimax takes a very long time to run HOT 1
- Feature request: Add ability to skip steps in backtesting HOT 6
- Bad error handling when Index is neither RangeIndex nor DateIndex HOT 3
- Why do i have faster runtime when using more frequent refits HOT 2
- syntax error !! HOT 1
- Feature request: Custom predictors for multivariate forecasting
- Series-specifc exogenous vars for ForecasterAutoregMultiSeries HOT 2
- add method to forecasters to return the input data that is passed to the model to make predictions HOT 1
- allow extraction of features from y
- Feature request: Allow the training set to be passed to custom error metrics HOT 2
- XGboost using GPU
- MissingValuesExogWarning despite no NaN HOT 2
- Fitted Values HOT 2
- Using skforecast with panel data HOT 5
- Disable progress bar HOT 1
- Time Series Differentiation not working as expected HOT 3
- ForecasterSarimax - AttributeError: 'PeriodIndex' object has no attribute 'step' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from skforecast.