Univariate forecasting with a Stacked LSTM
This recipe walks you through the process of building an LSTM neural network with multiple layers for forecasting with univariate time series.
Getting ready
For complex time series prediction problems, one LSTM layer may not be sufficient. In this case, we can use a stacked LSTM, which is essentially multiple layers of LSTM stacked one on top of the other. This can provide a higher level of input abstraction and may lead to improved prediction performance.
We will continue to use the same reshaped train and test sets from the previous recipe:
X_train = X_train.view([X_train.shape[0], X_train.shape[1], 1]) X_test = X_test.view([X_test.shape[0], X_test.shape[1], 1])
We also use the LSTM neural network defined in the Univariate forecasting with an LSTM recipe:
class LSTM(nn.Module): def __init__(self, input_dim, hidden_dim, num_layers, output_dim): super...