I want to use a denser time series to predict a less dense time series.
I first had input (X) with shape [33405, 4, 25] and target (Y) with shape [33405, 4, 7], in which 33405 is the amount of samples, 4 is the sequence length and 25 & 7 are the number of features. They thus had a similar sequence length.
I used the following model:
class LSTMModel(nn.Module): def __init__(self, input_size, hidden_size, output_size, num_layers=1, dropout=0, activation='tanh'): super().__init__() self.lstm = nn.LSTM(input_size, hidden_size, num_layers=num_layers, batch_first=True) self.dropout = nn.Dropout(dropout) self.linear = nn.Linear(hidden_size, output_size) init.xavier_uniform_(self.linear.weight) def forward(self, x): x, _ = self.lstm(x) x = self.dropout(x) x = self.linear(x) return x
I got correctly an output of shape [batch_size, 4, 7].
However, I want to do something similar, but now use a more dense time series (sequence length 92) to predict the same sequence of 4. This means that I have an input X that has a sequence length of 92 and a target Y that has a sequence length of 4. My input (X) now has shape [33540, 92, 7] and target (Y) shape [33540, 4, 7].
I use the same model, but now my output has shape [4, 92, 7]. However, I want it, again, to be [batch_size, 4, 7].
I’m a newbie with LSTM and RNNs. Is it possible to work with an X and Y that have different sequence lengths? If so, how should I alter my model to get the desired output?