Прогнозирование временных рядов через нейронные сети
В последнее время я работаю над 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, и вам должно быть достаточно, чтобы читать:
- Frank, R. J. and Davey, N. and Hunt, S. P. Прогнозирование временных рядов и нейронных сетей. Журнал интеллектуальных и роботизированных систем, 2001. Том 31, выпуск 1, стр. 91-103.
- J.T. Коннор, Р. Мартин и Л. Э. Атлас. Рекуррентные нейронные сети и надежное прогнозирование временных рядов. IEEE Transactions на нейронных сетях, март 1994. Том 5, выпуск 2, стр. 240 - 254.
Ответ 2
Существует своего рода нейронные сети с именем рекуррентные нейронные сети (RNN. Одно из преимуществ использования этих моделей - вам не нужно определять скользящее окно для примеров ввода. Вариант RNN, известный как Долгосрочная память (LSTM) может потенциально учитывать множество экземпляров в предыдущих штампах времени, а" забейте ворота" используется, чтобы разрешить или запретить запоминание предыдущих результатов из предыдущих штампов времени.
Ответ 3
Технически это то же самое, что и распознавание цифр - оно что-то узнает и возвращает то, что было...
Ну, теперь ваши входы - это предыдущие шаги (T -5... T -1) - и ваши выходы или выходы - это предсказанные шаги (T 0, T 1...).
Механика в ANN сама по себе - вам нужно научить каждому слою распознавать функцию, исправлять ее восстановление вещи, чтобы она выглядела так, как будто на самом деле произойдет.
(дополнительная информация о том, что я имею в виду: tech talk)