Не удается предсказать выборку с помощью нейронной сети

#python #tensorflow #neural-network

#python #тензорный поток #нейронная сеть

Вопрос:

У меня есть фиктивный набор данных о расходах компании за 3 года, распределенных по разным разделам расходов. Для столбца Heads я взял фиктивные переменные. После группировки данных в порядке дат я удалил столбец год и месяц. Ниже приведен пример,

 Head Year  Month Expense StockPrice
A     2005  1      23      120
A     2006  2      23      121 
B     2006  3      1000    130
C     2006  4      1500    135 
C     2007  1      1400    125 
  

Я настроил модель нейронной сети для регрессии и применил ее к своим обучающим и тестовым данным.
Мои данные X имеют форму (4851,6), а данные y имеют форму (4851,1). Я смог получить хорошие результаты из модели.

Теперь я хочу сделать прогноз выборки из модели на следующие 5 месяцев, давая прогноз расходов на будущие 5 месяцев. Как мне поступить с этим?

Модель, которую я установил

 model = Sequential()
#model.add(Dense(units = 1, input_dim = 5, activation = 'relu')) 

model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu')) 
model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu')) 
model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu')) 
model.add(Dense(1, activation='linear'))
model.compile(loss = 'mean_absolute_error', optimizer = 'adam')
model.summary()

model.fit(x = X_train, y= y_train, epochs = 100, validation_data = (X_test, y_test
                                                                  ), verbose = 1)
  

Ответ №1:

Вы пытались создать X с датами, перенесенными в будущее, и вызвать model.predict(X) его?

Комментарии:

1. Привет, я обновил описание данных. Извините за любую путаницу. После группировки данных в порядке дат я удалил столбец год и месяц. Если я перенесу даты в будущее, не придется ли мне учитывать независимые переменные, такие как цена акций и фиктивные переменные.

Ответ №2:

Ответ зависит от того, что именно вы подразумеваете под «вне выборки»

  1. Если вы хотите сделать прогнозы expenses на следующие 5 месяцев, учитывая, что у вас есть эти функции на 5 месяцев (по 6 на выборку, как ожидает ваша модель), тогда да, вы можете это сделать, и способ сделать это — использовать predict метод модели.

  2. Если у вас нет этих 6 функций на выборку в течение следующих 5 месяцев, то нет, вы не можете делать прогнозы «вне выборки», потому что вам понадобятся те функции, на которых обучена ваша модель, чтобы модель могла делать прогнозы.