Мне нужно построить модель keras для прогнозирования в будущем, используя только даты. У меня есть набор данных, который выглядит следующим образом.
date,year,month,dayofyear,dayOfMonth,dayOfWeek,week,temp
1948-01-01,1948,1,001,01,4,00,51
1948-01-02,1948,1,002,02,5,00,45
1948-01-03,1948,1,003,03,6,00,45
.
.
.
2017-10-22,2017,10,295,22,0,42,60
2017-10-23,2017,10,296,23,1,43,65
У меня есть 6 различных входных функций и 1 выход для температуры. Пока я использую этот репозиторий для прогнозирования в будущем.
https://github.com/bielrv/Keras-Daily-Sales-Forecast
В репозитории структура модели выглядит следующим образом.
model = Sequential()
model.add(Dense(128,
activation='relu',
input_dim = X_num_columns))
model.add(Dense(64,
activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(32,
activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(16,
activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(1,
activation='linear'))
model.compile(optimizer='adam', loss='mean_squared_logarithmic_error', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=5000, batch_size=30,validation_data=(X_val, Y_val))
Когда яМне нужно прогнозировать данные в будущем. У меня есть другой CSV-файл, подобный этому.
date,year,month,dayofyear,dayOfMonth,dayOfWeek,week
2017-10-24,2017,10,297,24,2,43
2017-10-25,2017,10,298,25,3,43
2017-10-26,2017,10,299,26,4,43
.
.
.
2017-12-12,2017,12,346,12,2,50
2017-12-13,2017,12,347,13,3,50
2017-12-14,2017,12,348,14,4,50
Модель принимает вышеуказанные данные и делает прогноз, используя dayofyear, dayofmonth и т. д.
Но когда япроверьте точность (она не превышает 0,07) и результаты прогноза. Я могу понять, что гиперпараметры неверны.
Результаты прогноза (оранжевый - истинное значение, синий - прогнозируемое значение)
Так что я не понимаю, как я собираюсь выбрать, какой слой использовать в подобной ситуации, или сколько нейронов использовать, или сколько эпох и партий будет правильным для этой структуры,Я немного потерялся. Мне нужна помощь.