Comments (3)
Hello Kishan,
As it is now, the ForecasterAutoregMultiVariate is only trained in one level (series 1 or series 2) and creates one model per step (direct approach). In the figure, let's say that if you specify level = 'Series 1' when creating the Forecaster, it will only use the training matrix at the top.
Training a single model across all variables as in ForecasterMultiseries
is not possible because the training matrix grows horizontally (not vertically as in the MultiSeries approach) and you will have multiple columns to use as response variables.
Best,
Javi
from skforecast.
Hi,
I think the type of forecaster @KishManani mentions can be created with two approaches:
-
Using a multi-output regressor (multi-target) from sklearn.multioutput
-
Using a regressor that natively allows multioutput (multi-target)
The second approach is the one where neural network architectures can help. In the next releases (0.12.0) we will add a new forecaster ForecasterRNN that will allow using Keras models within the skforecast framework, including the multi-series-multistep scenario. We are currently writing the documentation, but the code is already available.
@JavierEscobarOrtiz and @fernando-carazo Let's investigate this further to see if we can extend the modeling approaches.
from skforecast.
Hi @JavierEscobarOrtiz and @JoaquinAmatRodrigo! I'm referring to something a bit simpler here. In ForecasterMultiSeries
the time series ID is used as a feature to distinguish between time series. Could it be useful to use something similar in ForecasterMultivariate
which would allow training a single model for all the series - here is an example of what the training matrix would look like (prior to encoding the time series id):
I've not tried this before but am curious to know what you think! Perhaps a tree-based model could effectively use the time series id in this case to partition the data into series 1 and series 2 early on in the tree and then learn separate behaviours further down the tree - just thinking out loud here. Linear regression would likely struggle for something like this.
Thanks,
Kishan
from skforecast.
Related Issues (20)
- 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 1
- 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.