Прогнозирование временных рядов через нейронные сети

В последнее время я работаю над Neural Networks для различных целей. У меня был большой успех в распознавании цифр, XOR и различных других простых/привет мировых приложениях.

Я хотел бы заняться областью оценки временных рядов. На данный момент у меня нет учетной записи Университета, чтобы прочитать все документы IEEE/ACM по этой теме (бесплатно), а также не могу найти много ресурсов, подробно описывающих использование ANN для прогнозирования временных рядов.

Я хотел бы знать, есть ли у кого-нибудь предложения или могут рекомендовать какие-либо ресурсы, касающиеся использования ANN для прогнозирования через данные временных рядов?

Я бы предположил, что для обучения NN вы вставляете несколько шагов сразу времени, а ожидаемым выходом будет следующий временной тайм (пример: входы n-5, n-4, n-3, n-2, n-1 должен выйти с результатом результата в timestep N.... и сдвинуть некоторое количество временных меток и сделать все это снова.

Может ли кто-нибудь подтвердить это или прокомментировать это? Буду премного благодарен!

Ответ 1

Я думаю, что у вас есть основная идея: подход "скользящего окна", где сеть обучается использовать последние значения k ряда (T nk... T n-1), чтобы предсказать текущее значение (T n).

Есть много способов, которыми вы можете это сделать. Например:

  • Насколько велика должна быть это окно?
  • Если данные должны быть предварительно обработаны каким-либо способом (например, для удаления выбросов)?
  • Какую конфигурацию сети (например, # скрытых узлов, # уровней) и алгоритм следует использовать?

Часто люди в конечном итоге выясняют лучший способ узнать из своих конкретных данных методом проб и ошибок.

Существует множество доступных для общественности документов об этом. Начните с них и посмотрите их цитаты и документы, которые цитируют их через Google Scholar, и вам должно быть достаточно, чтобы читать:

Ответ 2

Существует своего рода нейронные сети с именем рекуррентные нейронные сети (RNN. Одно из преимуществ использования этих моделей - вам не нужно определять скользящее окно для примеров ввода. Вариант RNN, известный как Долгосрочная память (LSTM) может потенциально учитывать множество экземпляров в предыдущих штампах времени, а" забейте ворота" используется, чтобы разрешить или запретить запоминание предыдущих результатов из предыдущих штампов времени.

Ответ 3

Технически это то же самое, что и распознавание цифр - оно что-то узнает и возвращает то, что было...

Ну, теперь ваши входы - это предыдущие шаги (T -5... T -1) - и ваши выходы или выходы - это предсказанные шаги (T 0, T 1...).

Механика в ANN сама по себе - вам нужно научить каждому слою распознавать функцию, исправлять ее восстановление вещи, чтобы она выглядела так, как будто на самом деле произойдет.

(дополнительная информация о том, что я имею в виду: tech talk)