Skip to content

Multivariate Forecasts using multi-output regressors and prediction intervals for RNNs #861

Open
@GeorgeKontos14

Description

@GeorgeKontos14
          Hi,

I think the type of forecaster @KishManani mentions can be created with two approaches:

  1. Using a multi-output regressor (multi-target) from sklearn.multioutput

  2. 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 a MultiOutputRegressor 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 to create_and_compile_model that can adjust neural network architectures for this task?

Thanks for the support,
George

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions