Мы работаем с LSTM для прогнозирования спроса с данными за 1 год на ежедневном уровне. Однако он не может предсказать закономерность. Мы создали последние 7 дней исторического окна как независимые элементы и некоторые другие функции, чтобы четко отражать тенденции и сезонность. Можете ли вы предложить изменение в коде для захвата шаблона.
Архитектура RNN
train_univariate = np.array(x_train_uni).reshape(x_train_uni.shape[0], 1, x_train_uni.shape[1])
#train_univariate = train_univariate.cache().shuffle(BUFFER_SIZE).batch(BATCH_SIZE).repeat()
test_univariate = np.array(x_test_uni).reshape(x_test_uni.shape[0], 1, x_test_uni.shape[1])
#test_univariate = test_univariate.batch(BATCH_SIZE).repeat()
_optimiser = ['Adam','Nadam','RMSprop']
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.LSTM(144,batch_input_shape=train_univariate.shape[-3:]))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(32))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(1))
model.compile(loss='mean_squared_error', optimizer=_optimiser[1])
#model.summary()
model.fit(train_univariate,y_train_uni,epochs=200)
Выходной график