ИССЛЕДОВАНИЕ АЛГОРИТМОВ ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ПРОГНОЗИРОВАНИЯ ХАОТИЧЕСКИХ ВРЕМЕННЫХ РЯДОВ
- Авторы: Лазутов М.Ю.1, Савельев Д.А.1
-
Учреждения:
- Самарский университет
- Выпуск: № 2(23) (2023)
- Страницы: 53-58
- Раздел: Информатика и вычислительная техника
- Дата публикации: 30.12.2023
- URL: https://vmuis.ru/smus/article/view/21129
- ID: 21129
Цитировать
Полный текст
Аннотация
Цель. Обучить нейронные сети (RNN и LSTM) с помощью разных методов поиска минимума функции потерь для решения задачи прогнозирования хаотических временных рядов, затем оценить получившиеся результаты.
Методы. Были выбраны алгоритмы:Adam, Nadam, SGD, Levenberg–Marquardt. В качестве источника генерации хаотических временных рядов была взята система Лоренца при параметрах σ = 10, ρ = 28, β = 8/3. Обучение и настройка сетей проводилась с использованием языка программирования Python и его главных библиотек для обучения нейронных сетей: tensorflow, keras, numpy. Для оценки топологических параметров нелинейных временных рядов была использована библиотека nolista. Построение графиков осуществлялось с помощью библиотек plotly и matplotlib. На этапе подготовки данных была использована теорема Такенса о реконструкции фазового пространства для построения матрицы из временных рядов с определенной задержкой.
Результаты. Было показано, что с помощью выбранных моделей нейронных сетей можно уменьшить MAE в задаче прогнозирования до 0,000896.
Выводы. Хорошо показали себя алгоритмы минимизации функции потерь Levenberg–Marquardt и Аdam.
Полный текст
Необходимо начать с разъяснения понятия хаотического временного ряда (ХВР). Известно, что скалярный временной ряд – суть массив из 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 сети. В связи с этим можно попробовать подобрать такие архитектуры нейронных сетей, с помощью которых получится улучшить результат на несколько порядков.
Об авторах
Марк Юрьевич Лазутов
Самарский университет
Автор, ответственный за переписку.
Email: lazutov.mark@mail.ru
студент 3 курса Института информатики и кибернетики Самарского университета
Россия, 443086, Россия, г. Самара, Московское шоссе, 34Дмитрий Андреевич Савельев
Самарский университет
Email: dmitrey.savelyev@yandex.ru
Scopus Author ID: 55546118200
к.ф.-м.н., доцент, кафедра технической кибернетики Самарского университета
Россия, 443086, Россия, г. Самара, Московское шоссе, 34Список литературы
- Лоскутов А. Ю. Очарование хаоса // УФН. 2010. T. 180. № 12. С. 1305–1329.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Takens F. Detecting strange attractors in turbulence // Lecture Notes in Mathematics, Springer–Verlag, Berlin. 1980. Vol. 898. P. 366–381.