Если вы имеете дело с многомерными данными временных рядов для прогнозирования значений на следующие 10 часов, вам нужно быть очень осторожным, особенно когда вы настраиваете наборы входных данных для обучения модели LSTM, а также для тестирования и проверки производительности модели.

Ниже я демонстрирую, как предположить, что нужно настроить входы, чтобы помочь вам подготовить наборы входных данных на основе выбранного значения временного шага, как описано здесь.

X_train = []
y_train = []
# Creating a data structure with n timesteps which is 10 in our example
print(train_size + timesteps)
for i in range(timesteps, train_size + timesteps): 
 X_train.append(X_train_set[i-timesteps:i,:])
 y_train.append(y_train_set[i:i+timesteps])
print(“len(X_train)”,len(X_train))
print(“len(y_train)”,len(y_train))
#create X_train matrix
#10 items per array (timestep) 
print(“np.array(X_train).shape=”,np.array(X_train).shape)
print(“X_train[1].shapee=”,X_train[1].shape)
#create Y_train matrix
#10 items per array (as much as timestep) 
print(“y_train[0:2]”,y_train[0:2])
print(“np.array(y_train).shape=”,np.array(y_train).shape)
print(“############################”)
print(“############################”)
print(“############################”)
# Do the same for your test data
X_test = []
y_test = []
# Creating a data structure with n timesteps
print(test_size + timesteps)
for i in range(timesteps, test_size + timesteps): 
 X_test.append(X_test_set[i-timesteps:i,:])
 y_test.append(y_test_set[i:i+timesteps])
print(“len(X_test)=”,len(X_test))
print(“len(y_test)=”,len(y_test))
#create X_test matrix
#10 items per array (timestep) 
print(“np.array(X_test).shape=”,np.array(X_test).shape)
print(“X_test[1].shape=”,X_test[1].shape)
#10 items per array (timestep) 
print(“y_test[0:2]”,y_test[0:2])
print(“np.array(y_test).shape=”,np.array(y_test).shape)