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

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

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

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

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

может ли кто-нибудь подтвердить это или прокомментировать? Я бы ценю это!

3 ответов


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

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

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

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


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


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

Ну-теперь ваши входы являются предыдущими шагами (T-5 ... T-1) - и ваши выходы или выходы являются прогнозируемыми шагами (T0, T1...).

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

(немного подробнее о том, что я имею в виду: tech talk )