Я использую алгоритм DeepAR для прогнозирования хода ответов на опрос со временем. Я хочу, чтобы модель предсказывала следующие 20 точек данных в ходе опроса. Каждый опрос является временным рядом в моих данных обучения. Длина каждого временного ряда - это # дней, в течение которых проводился опрос. Например, в приведенной ниже серии указывается, что опрос начался 29 июня 2011 года, а последний ответ был получен 24 июля 2011 года (25 дней - это продолжительность).
{"start":"2011-06-29 00:00:00", "target": [37, 41.2, 47.3, 56.4, 60.6, 60.6,
61.8, 63, 63, 63, 63.6, 63.6, 64.2, 65.5, 66.1, 66.1, 66.1, 66.1, 66.1, 66.1,
66.1, 66.1, 66.1, 66.1, 66.7], "cat": 3}
Как видите, значения во временном ряду могут оставаться неизменными или увеличиваться. Данные обучения никогда не будут указывать на тенденцию к снижению. Удивительно, но когда я генерировал прогнозы, я заметил, что прогнозы имеют тенденцию к снижению. Когда в данных об обучении нет тенденции к понижению, мне интересно, как модель могла бы это узнать. Мне кажется, это основной недостаток в прогнозах. Может кто-нибудь пролить свет на то, почему модель может вести себя таким образом? Я строю модель DeepAR с приведенными ниже гиперпараметрами. Модель была протестирована и RMSE составляет около 9. Поможет ли мне изменить какие-либо гиперпараметры? Любые рекомендации для этого.
time_freq= 'D',
context_length= 30,
prediction_length= 20,
cardinality= 8,
embedding_dimension= 30,
num_cells= 40,
num_layers= 2,
likelihood= 'student-T',
epochs= 20,
mini_batch_size= 32,
learning_rate= 0.001,
dropout_rate= 0.05,
early_stopping_patience= 10