A STUDY OF NEURAL NETWORK TRAINING ALGORITHMS FOR FORECASTING CHAOTIC TIME SERIES

Cover Page

Cite item

Full Text

Abstract

Goal. Train neural networks (RNN and LSTM) using different loss function minimization algorithms to solve the problem of predicting chaotic time series, then evaluate the results.

Methods. The following algorithms were chosen: Adam, Nadam, SGD, Levenberg-Marquardt. The Lorenz system was taken as the source of chaotic time series generation with the parameters σ = 10, ρ = 28, β = 8/3. The networks were trained and configured using the Python programming language, which used the main libraries for working with neural networks: keras, numpy, matplotlib, plotly. To work with chaotic time series the library nolista was used. At the stage of data preparation the Takens theorem of phase space reconstruction was used to construct a matrix from time series with a certain delay.

Results. It was shown that with the using selected neural network models, it is possible to reduce the MAE in the forecasting problem to 0,000896.

Conclusions. The Levenberg–Marquardt and Adam loss function minimization algorithms have shown themselves well.

Full Text

Необходимо начать с разъяснения понятия хаотического временного ряда (ХВР). Известно, что скалярный временной ряд – суть массив из n чисел , представляющих собой значения некоторой измеренной (наблюдаемой) динамической переменной x(t) с некоторым постоянным шагом τ по времени, . Тогда можно определить ХВР как скалярный временной ряд, который был порожден хаотической динамической системой. Введем формальное определение хаотической системы, которое представлено, например, в [1]. То есть, подвергнем ось времени дискретизации, тогда динамическая система может быть записана в виде:

                                                                  ,                                                                  (1)

где    – метрическое пространство. Отметим, что последовательность вида ,  т.е. , где , называется траекторией системы (отображения).

Тогда  будет являться хаотическим отображением, если соблюдены условия:

  • неустойчиво к начальным условиям. Иными словами:   ;
  • топологически транзитивно. Иными словами, – плотное множество в M;
  • Периодические траектории системы плотны в M. То есть в любой окрестности любой точки из M найдется хотя бы одна периодическая траектория.

Из первого пункта приведенного выше определения можно сделать вывод, что предсказать поведение ХВР крайне трудно из-за неочевидного поведения траекторий. Ниже будут приведены графики некоторых ХВР для наглядного подтверждения этого факта.

Одна из самых известных хаотических систем – это система Лоренца:

                                                     ,                                                              (2)

где , ,  – наперед заданные параметры. В текущей работе эта система будет далее использоваться для генерации ХВР.

ХВР возникают во многих областях человеческой деятельности [2–7]. В частности, к таковым относятся: инженерное дело, финансовые рынки, управление энергией. Приведем конкретные примеры.

В инженерном деле xаотическое поведение можно наблюдать в системax управления, электронныx схемах и механических системах. В [4] авторами наблюдалось хаотическое поведение на RL-diode схеме, где хаотическим поведением обладало напряжение на резисторе (рисунок 1) при определенных значениях входного напряжения и индуктивности катушки.

Рис. 1. ХВР напряжения на резисторе [4]

Далее, в области финансовых рынков накопилось достаточно эмпирических исследований, которые показали, что стохастические процессы не всегда описывают динамику финансовых рядов [5]. То есть, изменения цен не всегда являются случайным. Например, в работе [6] рассматривалась цена открытия фондового индекса S&P500 в период с 2014 по 2015 год (рисунок 2). По методу вычисления максимальной экспоненты Ляпунова исследователями было установлено, что цена обладает слабо выраженным хаотическим поведением.

Рис. 2. ХВР цены открытия S&P500 [6]

Затем, можно привести в пример работу [7] из области управления энергией, в которой авторы оценивали нагрузку на электросеть (рисунок 3). Может показаться, что хаотическая динамика в подобных измерениях отсутствует из-за явно выраженной сезонности, однако это не так. Хаотическая динамика обеспечивается в присутствии других факторов (погода, экономическая ситуация и т.д.).

Рис. 3. Нагрузка на электросеть [7]

Резюмируя вышесказанное, можно отметить, что прогнозировать ХВР важно, во-первых, для отслеживания экстремальных событий, поскольку хаотическая динамика чаще всего нежелательна из-за риска возникновения сбоев в оборудовании. Соответственно, прогнозирование хаотических временных рядов может помочь определить, когда эти события могут произойти, что позволит лучше подготовиться и смягчить последствия. И, во-вторых, прогнозирование ХВР способствует повышению производительности и снижению затрат. Очевидно, что зная дальнейшее поведение сложной нелинейной системы, можно корректировать использование ресурсов таким образом, чтобы получать больше пользы.

Итак, в рамках этой работы задача прогнозирования ХВР была решена с использованием языка программирования Python и его главных библиотек для обучения нейронных сетей: tensorflow, keras, numpy. Для оценки топологических параметров нелинейных временных рядов была использована библиотека nolista. Построение графиков осуществлялось с помощью библиотек plotly и matplotlib.

Цель работы – обучить нейронные сети с помощью разных методов поиска минимума функции потерь, затем оценить получившиеся результаты.

Условия и методы исследования

В данной работе была поставлена следующая задача: имеется ХВР , где x(t) суть x-координата системы Лоренца при параметрах σ = 10, ρ = 28, β = 8/3, необходимо вычислить , используя нейронные сети.

Приведем план решения задачи после генерации ХВР:

  • Проведем нормализацию данных. Заменим все на , где и  – максимальное и минимальное значения на исходной выборке соответственно. Очевидно, что таким образом все  окажутся в сегменте . Такая нормализация способствует ускорению сходимости функции потерь.
  • Проведем трансформацию временного ряда в матрицу для обучения сетей. Отметим, что в поставленной задаче крайне плохо себя показывает трансформация по методу скользящего окна из-за хаотической динамики. В связи с этим учтём теорему Такенса о реконструкции динамической системы [8], тогда временной ряд будет преобразован таким образом:

                       ,                                   (3)

где  – оптимальный временной лаг, а m – оптимальная размерность пространства вложения. Для вычисления временного лага можно построить график функции взаимной информации и определить, где расположен первый минимум. Выбранная таким образом точка минимума будет совпадать с искомым временным лагом. Оптимальную размерность пространства вложения можно вычислить, например, по методу ложных ближайших соседей. Очевидно, что в получившейся матрице последний столбец будет взят в качестве целевых значений при обучении сетей.

  • Зададим гиперпараметры, затем обучим RNN и LSTM сети, используя широко известные алгоритмы минимизации критерия качества: Adam, Nadam, SGD, Levenberg–Marquardt. RNN и LSTM выбраны по той причине, что они отлично себя показывают в предсказывании последовательностей в силу способности запоминать предыдущие результаты.

Прокомментируем настройку гиперпараметров нейронных сетей. Ниже, в таблице 1, представлены выбранные значения для некоторых из них. Отметим, что SGD используется с поправкой Нестерова и «моментом» (momentum), чтобы немного ускорить сходимость. В структуре обеих сетей во входном слое количество нейронов равно , а в выходном слое расположен один нейрон. В структуре RNN сети задан лишь один скрытый слой из 16 нейронов. В структуре LSTM сети заданы два скрытых слоя из 64 нейронов. В обеих сетях в выходном слое задана линейная функция активации, а в скрытых слоях задан гиперболический тангенс. Отметим, что по методу ложных ближайших соседей определяется лишь левая граница значения размерности пространства вложения, которая получилась равной 3 (рисунок 4). Однако допустимо взять близкое значение, например, равное 5, так как это может поспособствовать улучшению качества прогноза. Также далее приведен график получившейся функции взаимной информации (рисунок 5).

Таблица 1

Гиперапараметры нейронных сетей

Гиперпараметр

Значение

Максимальное кол-во эпох

300

Кол-во батчей

32

Обучающее множество

17640

Множество валидации

1960

Тестовое множество

1000

Настройка SGD

Исходная скорость обучения = 0,15; momentum = 0,7

Настройка Adam

Исходная скорость обучения = 0,001

Настройка Nadam

Исходная скорость обучения = 0,001

Настройка Levenberg-Marquardt

Исходная скорость обучения = 0,1

Функция потерь/Метрика

Среднеквадратическая ошибка (MSE)/Средняя абсолютная ошибка (MAE)

Временной лаг

16

Размерность пространства вложения

5

 

Рис. 4. Результат применения метода ложных ближайших соседей

Рис. 5. График функции взаимной информации

Результаты и их обсуждение

Как было указано выше, минимизируемая функция во всех случаях – это среднеквадратическая ошибка. Однако для простоты понимания качества прогноза была введена метрика – средняя абсолютная ошибка. Рассмотрим полученные MAE после обучения выбранных нейронных сетей (таблица 2).

Таблица 2

Результаты обучения

RNN

Алгоритм

MAE на тестовом множестве

Эпохи

Adam

0,0035

300

Nadam

0,0024

300

SGD

0,0023

215

Levenberg–Marquardt

0,0014

20

LSTM

Алгоритм

MAE на тестовом множестве

Эпохи

Adam

0,0008958

300

Nadam

0,0016

300

SGD

0,0053

240

Levenberg–Marquardt

0,0015

25

 

Не трудно обозначить лидирующие результаты. В случае RNN это Levenberg–Mаrquardt с , а в случае LSTM это Adam c . В столбце «Эпохи» в случае SGD и Levenberg–Marquardt указаны такие номера эпох, начиная с которых среднеквадратическая ошибка на обучающем множестве стабилизировалась. В случае с Levenberg–Marquardt очевидно, что не требуется большого количества эпох для достижения стабильного значения функции потерь, поскольку в этом методе используются производные второго порядка, которые значительно ускоряют поиск минимума. Однако из-за этого время минимизации по Levenberg–Marquardt гораздо дольше, чем у остальных алгоритмов. В случае с SGD, как было указано выше, ускорить сходимость помогает поправка Нестерова вместе с «моментом».

Оценим качество прогноза на рисунках 6–8. На рисунке 6 изображен временной ряд целиком, зеленым цветом отмечены действительные значения, красным – спрогнозированные значения с помощью LSTM сети, обученной по алгоритму Adam. На рисунке 7 отмечены все спрогнозированные значения в масштабированном виде. Можно заметить, что спрогнозированные значения практически точно накладываются на истинные, поскольку за «красной» частью на графике почти не видны «зеленые» значения. На рисунке 8 можно сравнить истинное значение со спрогнозированным в точке с номером 19268. Абсолютная ошибка в этой точке примерно равна 0,007. То есть, в третьем знаке наступает существенная разница между значениями.

Рис. 6. X-координата системы Лоренца

Рис. 7. Масштабированное изображение спрогнозированных значений

Рис. 8. Максимальное приближение в произвольно выбранной точке

Заключение

Таким образом, можно сделать вывод, что с помощью выбранных нейронных сетей (RNN и LSTM) в поставленной задаче прогнозирования можно достичь хороших результатов:  на 1000 точках в тестовом множестве. Наиболее хорошо показали себя алгоритмы: Levenberg–Marquardt c  на RNN сети и Аdam c  на LSTM сети. Заметим, что даже простая RNN сеть из 16 нейронов в скрытом слое способна демонстрировать приемлемое качество прогноза с большим горизонтом прогнозирования. Кроме того, использованная громоздкая LSTM сеть не сильно улучшает результат RNN сети. В связи с этим можно попробовать подобрать такие архитектуры нейронных сетей, с помощью которых получится улучшить результат на несколько порядков.

×

About the authors

Mark Yu. Lazutov

Samara University

Author for correspondence.
Email: lazutov.mark@mail.ru

student III course of Institute of Informatics and Cybernetics, Samara University

Russian Federation, 34, Moskovskoye shosse, Samara, 443086, Russia

Dmitry A. Savelyev

Samara University

Email: dmitrey.savelyev@yandex.ru
Scopus Author ID: 55546118200

associate professor, department of Technical Cybernetics

Russian Federation, 34, Moskovskoye shosse, Samara, 443086, Russia

References

  1. Лоскутов А. Ю. Очарование хаоса // УФН. 2010. T. 180. № 12. С. 1305–1329.
  2. Sangiorgio M., Dercole F. Robustness of LSTM neural networks for multi-step forecasting of chaotic time series // Chaos, Solitons & Fractals. 2020. Vol. 139. P. 110045.
  3. Lara–Benítez P., Carranza–García M., Riquelme J. C. An experimental review on deep learning architectures for time series forecasting. International Journal of Neural Systems. 2021. Vol. 31. № 4. P. 2130001.
  4. Hanias M. P., Karras D. A. Improved Multistep Nonlinear Time Series Prediction by ap-plying Deterministic Chaos and Neural Network Techniques in Diode Resonator Circuits // IEEE International Symposium on Intelligent Signal Processing, Alcala de Henares, Spain. 2007. P. 1–6.
  5. Faggini, M., Bruno B., Parziale, A. Does Chaos Matter in Financial Time Series Analysis? // International Journal of Economics and Financial Issues. 2019. Vol. 9. № 4. P. 18–24.
  6. Xiaoxiang G., Yutong S., Jingli R. Low dimensional mid-term chaotic time series prediction by delay parameterized method // Information Sciences. 2020. Vol. 516. P. 1–19.
  7. Short-term power load forecasting using integrated methods based on long short-term memory / W. Zhang, J. Qin, F. Mei [et al.] // Science China Technological Sciences. 2020. Vol. 63. P. 614–624.
  8. Takens F. Detecting strange attractors in turbulence // Lecture Notes in Mathematics, Springer–Verlag, Berlin. 1980. Vol. 898. P. 366–381.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2023 Proceedings of young scientists and specialists of the Samara University

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies