Я создаю LSTM с четырьмя функциями и следую приведенному ниже руководству
https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras/
Так что я могу отставать от 5 лагов и 4 функций, чтобы я мог успешно скомпилировать модель до тех пор, пока
# reshape input to be 3D [samples, timesteps, features]
train_X = train_X.reshape((train_X.shape[0], timesteps, feature_size))
test_X = test_X.reshape((test_X.shape[0], timesteps, feature_size))
print(train_X.shape, train_y.shape, test_X.shape, test_y.shape)
history = model.fit(train_X, train_y, epochs=50, batch_size=72, validation_data=(test_X, test_y), verbose=2, shuffle=False)
Проблема возникает в
# invert scaling for forecast
inv_yhat = concatenate((yhat, test_X[:, -(feature_size-1):]), axis=1)
inv_yhat = scaler.inverse_transform(inv_yhat)
inv_yhat = inv_yhat[:,0]
# invert scaling for actual
test_y = test_y.reshape((len(test_y), 1))
inv_y = concatenate((test_y, test_X[:, -(feature_size-1):]), axis=1)
inv_y = scaler.inverse_transform(inv_y)
inv_y = inv_y[:,0]
Так что здесь, вместо 7 в учебнике, я применяю 3, которое является feature_size (нет всех функций, которые равны 4 в моем случае) -1. Но когда я применяю это, я получаю ошибку, такую как
, все входные массивы должны иметь одинаковое количество измерений, но массив с индексом 0 имеет 2 измерения, а массив с индексом 1 имеет 3 измерения
Любая помощь приветствуется.