Description
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.
Originally posted by @JoaquinAmatRodrigo in #626 (comment)
Hi,
I saw the above reply on a different issue regrding multivariate forecasts, and found the ideas of the both approaches useful, but I have some trouble with their implementation. I am interested in calculating multi-steps ahead prediction intervals for multivariate time series. Regarding the two suggested approaches, I find the following struggles:
- Multi-output regressors: While it is technically possible to set the regressor of a
ForecasterDirectMultivariate
to aMultiOutputRegressor
object, the constructor requires us to specify a level, which causes a problem when fitting with a DataFrame, as a column cannot contain a multi-dimensional array. - Use of Neural Network Architectures: While the
ForecasterRNN
class is implemented, there is no support for probabilistic predictions. I made an attempt to adjust the commented out implementation, but could not figure it out. A different approach I tried to take was to create a neural network regressor and use it as input for the other forecasters that support probabilistic forecasts. This apporach has an issue with the layers and shape of the NN being inconsistent with the actions being performed in the forecaster. Is there support for any method similar tocreate_and_compile_model
that can adjust neural network architectures for this task?
Thanks for the support,
George