Journal influence
Bookmark
Next issue
An intelligent approach to online reporting and short-term forecasting of time series
Abstract:The problem of predicting future values of the complex system characteristics remains important. Nowadays, along with traditional methods for predicting time series, the theory of artificial neural net-works is used, which has proven itself well in the control field, where the use of human intelligence was previously necessary, in particular in solving prediction problems. The interest in neural networks is due to both theoretical and applied advances in this field. The paper considers the development of a software system for informing and forecasting the time series using the example of the exchange rate on the Forex stock exchange using a mathematical appa-ratus of artificial neural networks. The paper presents the designed information and functional diagram of the prediction system and a server, the conceptual and physical data model used for research of the neural network structure. A prediction server in the C++ programming language is implemented, as well as an access request processing server based on the Tomcat Web server, which generates a jsp page with current currency quotes and a forecast result. A software system has been designed and de-veloped to inform and predict currency quotes in the Forex market online. The developed and imple-mented system strictly meets the set requirements. Based on the experimental results, it can be concluded that with the help of a model for predicting the values of currency quotes, it is possible to make fairly reliable short-term forecasts. For the most testing samples, the forecast showed the correct direction of short-term change in the studied quota-tion. The constructed forecasting model helps making fairly reliable short-term forecasts.
Аннотация:В статье рассмотрен подход к задаче информирования и краткосрочного прогнозирования временного ряда в онлайн-режиме: разработка программной системы информирования и прогнозирования временного ряда на примере курса валют на фондовой бирже Forex с применением математического аппарата искусственных нейронных сетей. В работе приводятся спроектированная информационно-функциональная схема системы и сервера прогнозирования, применяемая для исследований нейросетевая структура. Реализованы серверы прогнозирования на языке программирования С++, а также обработки запросов доступа на основе web-сервера Tomcat, генерирующего jsp-страницу с текущими валютными котировками и результатом прогнозирования. Спроектирована и разработана программная система, предназначенная для информирования и прогнозирования валютных котировок на рынке Forex в онлайн-режиме. Разработанная и реализованная система строго соответствует необходимым требованиям. Проблема прогнозирования будущих значений характеристик сложной системы была и остается актуальной. Наряду с традиционными методами прогнозирования временных рядов на сегодняшний день активно используется теория искусственных нейронных сетей, которая хорошо за-рекомендовала себя в области управления, там, где раньше требовался человеческий интеллект, в частности, при решении задач прогнозирования. Интерес к нейронным сетям вызван как теоретическими, так и прикладными достижениями в этих областях. На основании результатов эксперимента сделан вывод, что с помощью модели прогнозирования значений валютных котировок можно строить достаточно достоверные краткосрочные прогнозы. Для большинства примеров выборки для тестирования прогноз показал правильное направление краткосрочного изменения исследуемой котировки.
Authors: V.S. Tormozov (007465@pnu.edu.ru) - Pacific National University (Senior Lecturer), Khabarovsk, Russia, A.L. Zolkin (alzolkin@list.ru) - Povolzhskiy State University of Telecommunications and Informatics (Assistant Professor), Samara, Russia, Ph.D, А.U. Mentsiev (a.mentsiev@chesu.ru) - Chechen State University (Senior Lecturer), Grozny, Russia | |
Keywords: currency quotes, forex, time series, forecasting, software system |
|
Page views: 4822 |
PDF version article |
Проблема прогнозирования будущих значений характеристик сложной системы по-прежнему актуальна. Большой научный интерес представляют формализованные задачи прогнозирования временных рядов различной природы: характеристики окружающей среды, протекание экономических процессов, погода по результатам соответствующих атмосферных измерений, выведение новых видов растений и животных, определение возможностей индивидуумов в определенных областях с помощью соответствующей системы контрольных тестов. Особое значение прогнозирование имеет в таких областях, как финансы, эконо-мика и коммерция: прогнозирование экономи-ческих показателей, динамики цен на тот или иной продукт, курса акций. Наряду с традиционными методами прогнозирования временных рядов бурно развивается теория искусственных нейронных сетей (ИНС), которая хорошо зарекомендовала себя в области управления, там, где раньше был необходим человеческий интеллект, в частности, при решении задач прогнозирования [1]. Научное направление, связанное с прогнозированием временных рядов, появилось на стыке таких наук, как нейробиология, математика, информатика. Интерес к нейронным сетям был вызван и теоретическими, и прикладными достижениями в этой области [2, 3]. Нейронные сети неожиданно открыли возможности использования вычислений в сферах, до появления прикладных достижений в этом научном направлении относящихся лишь к области человеческого интеллекта, возможности построения систем, способность которых учиться и запоминать отчасти моделирует мыслительные процессы человека. Искусственные нейронные сети состоят из элементов, функциональные возможности которых аналогичны большинству элементарных функций биологического нейрона. В биологических системах типичный нейрон собирает сигналы от других через множество тонких структур, называемых дендритами. Нейрон посылает пики электрической активности через длинную тонкую стенку, известную как аксон, которая расходится на тысячи ветвей. На конце каждой такой ветви структура, называемая синапсом, преобразует активность от аксона в электрические эффекты нейрона, а те, в свою очередь, ингибируют или возбуждают активность от аксона до электрических эффектов, ингибирующих или возбуждающих активность в связанных нейронах. Обучение происходит путем изменения действия синапсов, так что, влияние сигнала от одного нейрона на другие изменяется. Несмотря на такое поверхностное сходство, искусственные нейронные сети демонстрируют множество свойств, присущих биологическим нейронным сетям, в частности, обучение на опытных образцах, обобщение характеристик опытных образцов, выявление значимых характеристик из разнородных и избыточных данных. ИНС могут менять свою реакцию на внешние сигналы в зависимости от внешней среды с помощью процедуры обучения [3]. После предъявления входных сигналов весовые коэффициенты в структуре сети настраиваются исходя из различия текущего сигнала и требуемого, чтобы обеспечивать необходимые значения сигналов на выходе. Для некоторых архитектур ИНС в целях обучения устанавливаются требуемые значения выходных сигналов. Разработано множество архитектур сетей и обучающих алгоритмов, имеющих свои преимущества и недостатки, а также (отчасти вследствие) сферу решаемых задач [4]. Все еще существуют проблемы, связанные с неясностью выбора оптимальной конфигурации и параметров, объема и структуры выборок обучения и тестирования относительно того, чему нейрон-ная сеть может обучиться и как обучение должно проводиться [5]. Это показывает актуальность работ предлагаемого направления. ИНС включают в себя математические модели, а также их программные или аппаратные реализации, построенные по некоторым принципам организации функционирования биологических нейронных сетей [6]. Важное качество нейронных сетей – обучаемость, позволяющая нейронной сети менять свое поведение в зависимости от внешней среды. Обучение заключается в том, что на вход предъявляются входные сигналы и требуемые выходные сигналы. Затем происходит адаптация сети для обеспечения требуемой реакции. Целью работы является реализация работающей системы информирования и прогнозирования валютных котировок на Forex [7]. Требуется реализовать программную систему, которая через каждые три минуты выполняет следующие действия: - значения текущих валютных котировок на фондовой бирже Forex считываются с онлайн-ресурса [8] и записываются в локальную БД; - на основе сохраненных в БД значений валютных котировок за последний час выполняется прогнозирование значений валютных котировок на следующие три минуты, прогнозируемые значения сохраняются в БД; - текущие и прогнозируемые значения котировок отображаются в режиме онлайн и по запросу пользователя. Обрабатываемые и прогнозируемые валютные котировки: AUD/USD, CAD/JPY, CHF/JPY, EUR/AUD, EUR/CAD, EUR/CHF, EUR/GBP, EUR/JPY, EUR/USD, GBP/CHF, GBP/JPY, GBP/USD, USD/CAD, USD/CHF. Описание используемой модели Для повышения чувствительности ИНС необходимо сократить диапазон изменений входных и выходных сигналов. С этой целью в качестве прогнозируемых данных применяются нормализованные изменения значений котировок за период запуска программной системы. В данной работе такой период Tпрогноз. = = 180 с. При рассмотрении большого объема данных было обнаружено, что для абсолютной величины изменений DIнорм.(t) = Iнорм.(t) – – Iнорм.(t – Tпрогноз.) справедливо DIнорм.(t) £ £ DImax, DImax = 0,1. Значит, входные сигналы образцов обучающей и тестирующей выборок принадлежат отрезку [–DImax, DImax]. Так как система предназначена для непрерывной работы, сервер прогнозирования через заранее заданный промежуток времени Tпрогноз. извлекает текущие значения котировок [], записывает в БД и прогнозирует котировки, используя нейронную сеть. Так как процесс обучения ИНС требует намного большего времени, чем прогнозирование, обучение будет выполняться реже прогнозирования: Tобучен. = = nTпрогноз., n = 20. Чтобы не приостанавливать прогнозирование, обучение работает в фоновом режиме. Выбор архитектуры и характеристик ИНС производится на основе существующих эвристик. В процессе запуска и работы системы характеристики остаются постоянными. Характеристики ИНС: скорость обучения η (характеризует скорость, с которой ошибка, выдаваемая сетью, будет снижаться при увеличении числа итераций) и коэффициент функции активации α. Состояние нейрона в сети рассчитывается по формуле Выход нейрона в сети определяется по формуле Обучение нейронной сети производится по алгоритму обратного распространения ошибки, который является одним из наиболее распространенных вариантов корректировки весов. Популярность этого алгоритма обусловлена не только его простотой, но и тем, что для него имеется теоретическое доказательство сходимости процесса обучения. Алгоритм обратного распространения ошибки является одним из методов обучения многослойных нейронных сетей прямого распространения, называемых также многослойными персептронами. Обучение алгоритмом обратного распространения ошибки предполагает два прохода по всем слоям сети – прямой и обратный. При прямом проходе входной вектор подается на входной слой нейронной сети, после чего распространяется по сети от слоя к слою. В результате генерируется набор выходных сигналов, который и является фактической реакцией сети на данный входной образ. Во время прямого прохода все синаптические веса сети фиксированные. Во время обратного прохода они настраиваются в соответствии с правилом коррекции ошибок, а именно: фактический выход сети вычитается из желаемого, в результате чего формируется сигнал ошибки. Этот сигнал впоследствии распространяется по сети в направлении, обратном направлению синаптических связей [9]. Синаптические веса настраиваются с целью максимального приближения выходного сигнала сети к желаемому. Сигмоидальная функция имеет область значений от нуля до единицы [10]. Для алгоритма обратного распространения ошибки требуется, чтобы функция была дифференцируема на всей области определения. Сигмоидальная функция удовлетворяет этому требованию. Его дополнительное преимущество состоит в автома-тическом контроле усиления. Для слабых сигналов (их значение близко к нулю) кривая вход-выход имеет сильный наклон, дающий большое усиление. Когда величина сигнала становится больше, усиление падает. Таким образом, большие сигналы воспринимаются сетью без насыщения, а слабые проходят по сети без чрезмерного ослабления. Целью обучения сети алгоритмом обратного распространения ошибки является такая подстройка ее весов, чтобы приложение некоторого множества входов приводило к требуемому множеству выходов [11]. При обучении предполагается, что для каждого входного вектора сигналов существует парный ему целевой вектор, задающий требуемый выход. Совокупность входного и выходного векторов сигналов называется обучающей парой. Машинное обучение выполняется на множестве пар. Алгоритм обратного распространения ошибки состоит из поcледовательности выполняемых шагов [12]. Шаг 1. Инициализировать синаптические веса случайными значениями, приближенными к нулю: wij = rand(10–4, DImax). Шаг 2. Выбрать очередную обучающую пару из обучающего множества, подать входной вектор на вход сети. Шаг 3. Вычислить значения выходного вектора сети. Шаг 4. Вычислить разность выходного вектора сети и требуемого выходного вектора – целевого вектора обучающей пары. Шаг 5. Откорректировать веса для минимизации итоговой ошибки. Шаг 6. Повторять шаги 2–4 для каждого примера обучающей выборки до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня. В исследовании ошибка сети оценивается как среднее арифметическое значений сигналов выходного вектора. Шаги 2 и 3 образуют так называемый проход вперед, так как сигнал распространяется по сети от входного слоя к выходному. Шаги 3 и 4 составляют обратный проход, здесь вычисляемый сигнал ошибки распространяется обратно по сети и используется для корректировки весов. Применяемая нейросетевая структура
- входной слой (960 нейронов), куда поступают данные о котировках за n прошедших периодов запуска программной системы; - один скрытый слой (500 нейронов), соединяющий входной и выходной слои в сеть; - выходной слой (32 нейрона), отображающий прогнозируемые нормализованные изменения значений котировок. Подготовка данных для машинного обучения Процесс обучения происходит следующим образом. Сразу после запуска сервер прогнозирования ожидает получения данных по валютам, достаточных для прогнозирования, – n замеров котировок. В это время собственно прогнозирование не происходит, так как нейронная сеть еще не обучена. После сохранения в БД всех данных по котировкам за n замеров сервер прогнозирования начинает процесс обучения в отдельном от основного потоке. В то время, как один поток выполняет обучение над сетью, другой проводит замеры котировок – извлекает их значения с онлайн-ресурса [8]. Во время обучения прогнозирование не проводится. После завершения очередной процедуры обучения и при достижении счетчиком замеров n (iзамер. = n) запускается поток прогнозирования. Результаты процесса записываются в БД программной системы для использования сервером обработки запросов. Выполняется обнуление счетчика замеров (iзамер. = 0), и запускается поток обучения нейронной сети. Чтобы все значения оказались в рамках допустимых значений элементов (для сигмоидальной функции это диапазон от нуля до единицы), исходные данные нужно предварительно подготовить. Выполняется нормализация исходных данных: изменения значений котировок приводятся к значениям в отрезке [0, 1]. Нормализация производится по формуле
Разработанная программная система Любую программную систему можно представить как состоящую из трех базовых элементов [13]. · · Прикладная компонента, отвечающая за выполнение различных прикладных операций, необходимых в работе системы. Прикладные функции в системе представлены jsp-скриптами [15], выполняемыми web-сервером. · Компонента доступа к данным, информационным ресурсам, являющимся носителями этих данных. Выполняет функции накопления и управления данными. Для рассматри-ваемой программной системы средствами СУБД PostgreSQL [16] была спроектирована и создана БД валютных котировок. Структура таблиц БД представлена в форме реляционных отношений.
Как видно из таблицы 1, время обучения на разных примерах может быть различным. Это связано с тем, что условием завершения цикла обучения для нейронной сети взято событие наращения средней ошибки, выдаваемой нейронной сетью на тестовых данных. Если же наращение не происходит, система выполнит заданное количество эпох обучения нейронной сети nобуч. и успешно завершит весь цикл обучения. В ходе экспериментов по оптимизации обучения было обнаружено, что наилучшим для этих целей является значение nобуч. = 105. Запуск сервера прогнозирования осуществляется с помощью командной строки. Вводятся символы ./, затем имя исполняемого файла программы. Сервер обработки запросов запускается вместе с сервером Apache Tomcat. После запуска администратором системы сервера Apache Tomcat пользователи могут просматривать текущие и прогнозируемые котировки валют, набирая в поле для ввода url в браузере клиента следующее: адрес_сервера/index.jsp, адрес_сервера – интернет-адрес сервера обработки запросов. Информационно-функциональная схема (рис. 3) дает комплексное представление об основных элементах реализации конкретного функционального процесса. Она позволяет видеть элементы информационной базы, на которые опирается реализация отдельных функций приложения, источники информации, ее пользователей. Программная система состоит из трех основных компонентов: серверов прогно-зирования и обработки запросов, БД.
Сервер обработки запросов выполнен в виде jsp-скрипта, обрабатываемого с помощью сервера Apache Tomcat. По запросу скрипт выдает информацию о текущих и прогнозируемых значениях котировок компонентом представления (Presentation Logic) клиентской части системы сервера обработки запросов (табл. 2). Целью исследования и эксперимента является выяснение существования взаимокорреляций между различными парами валют во времени. Создана нейронная сеть со следующими архитектурными настройками: входные значения сети определены типами значений торговой сессии биржи – 960 входных нормированных значений. Выход сети представлен прогнозом цен покупки и продажи валютной пары; количество скрытых слоев – один, в нем расположены 500 нейронов. Далее полученный персептрон был обучен на данных временного ряда биржевых котировок Forex с 18 февраля по 31 мая 2018 г. [8]. Машинное обучение заключалось в многократном повторении циклов по всем обучающим примерам. Использовалась скорость обучения α, равная 0,9 и с активным нейронным смещением. Результаты эксперимента, полученные по двадцати примерам, взятым из контрольного множества, отражены на рисунке 5. Фактические данные изменений котировок представ-лены графиком функции EURUSDфакт., данные, полученные в результате прогнозирования, – графиком функции EURUSDпрогн. Заключение В качестве основных функций, выполняемых системой, можно выделить информирование пользователя о текущих и прогнозируемых котировках валют, а также сохранение истории изменения валютных котировок в БД. Результаты эксперимента показали, что с помощью модели прогнозирования значений валютных котировок можно делать достаточно достоверные краткосрочные прогнозы. Для большинства примеров выборки для тестирования (57,31 %) спрогнозировано правильное направление краткосрочного изменения исследуемой котировки. Такие прогнозы формируют погрешности в абсолютных значениях изменений прогнозируемой величины, однако достаточно точно отражают направления динамики подобных изменений. Спроектирована и разработана программная система, предназначенная для информирования и прогнозирования валютных котировок на рынке Forex в онлайн-режиме. Литература 1. Haykin S. Neural Networks and Learning Machines. New Jersey, Upper Saddle River, Pearson Prentice Hall Publ., 2010, 906 p. 2. Dzhangarov A.I., Suleymanova M.A., Zolkin A.L. Face recognition methods. IOP Conf. Ser.: Mater. Sci. Eng., 2020, vol. 862, no. 4, pp. 42–46. DOI: 10.1088/1757-899X/862/4/042046. 3. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. М.: Горячая линия–Телеком, 2002. 382 с. 4. Галанов А.Э., Селюкова Г.П. Нейронные сети и нейронные технологии // Актуальные вопросы науки и хозяйства: новые вызовы и решения: сб. мат. LIII Междунар. студен. науч.-практич. конф. 2019. С. 399–405. 5. Тормозов В.С. Анализ методов распознавания образов и машинного обучения для распознавания визуальных образов // Информационные технологии XXI века: сб. науч. тр. 2019. С. 354–359. 6. Амосов О.С. Фильтрация марковских последовательностей на основе байесовского, нейросетевого подходов и систем нечеткой логики при обработке навигационной информации // Изв. РАН. Теория и системы управления. 2004. № 4. С. 61–69. 7. Baasher A.A., Fakhr M.W. Forex trend classification using machine learning techniques. Recent Researches in Applied Informatics and Remote Sensing, 2011, vol. 1, no. 1, pp. 41–47. 8. Финам. Экспорт котировок. URL: https://www.finam.ru/profile/forex/eur-usd/export/ (дата обращения: 10.04.2021). 9. Тормозов В.С., Золкин А.Л., Василенко К.А. Структурная оптимизация персептрона с помощью аппарата эволюционного моделирования для задачи прогнозирования значений временных рядов // Промышленные АСУ и контроллеры. 2020. № 8. С. 40–45. 10. Ezeafulukwe U.A., Darus M., Fadipe-Joseph O.A. On analytic properties of a sigmoid function. Int. Journal of Mathematics and Computer Science, 2018, vol. 13, no. 2, pp. 171–178. 11. Каллан Р. Основные концепции нейронных сетей; [пер. с англ.]. М.: Вильямс, 2001. 287 с. 12. Созыкин А.В. Обзор методов обучения глубоких нейронных сетей // Вестн. ЮУрГУ. Сер.: Вычислительная математика и информатика. 2017. Т. 6. № 3. С. 28–59. DOI: 10.14529/cmse170303. 13. Isah H., Abughofa T., Mahfuz S., Ajerla D., Zulkernine F., Khan S. A survey of distributed data stream processing frameworks. IEEE Access, 2019, vol. 7, pp. 300–316. DOI: 10.1109/ACCESS.2019.2946884. 14. Vukotic A., Goodwill J. Apache Tomcat 7. New York: Apress Publ., 2011, 293 p. 15. Wojciechowski J. MVC model, struts framework and file upload issues in web applications based on J2EE platform. Proc. Intern. Conf. TCSET, 2004, pp. 342–345. 16. Строков А.А., Ширяев В.Е., Ширяев М.Е. СУБД PostgreSQL и ее применение для разработки баз данных в АСУ специального назначения // VII Междунар. науч.-технич. и науч.-метод. конф. АПИНО: сб. науч. стат. 2018. С. 565–570. References 1. Haykin S. Neural Networks and Learning Machines. New Jersey, Upper Saddle River , Pearson Prentice Hall Publ., 2010, 906 p. 2. Dzhangarov A.I., Suleymanova M.A., Zolkin A.L. Face recognition methods. IOP Conf. Ser.: Mater. Sci. Eng., 2020, vol. 862, no. 4, pp. 42–46. DOI: 10.1088/1757-899X/862/4/042046 . 3. Kruglov V.V., Borisov V.V. Artificial Neural Networks. Theory and Practice. Moscow, 2002, 382 p. (in Russ.). 4. Galanov A.E., Selyukova G.P. Neural networks and neural technologies. Proc. LIII Intern. Student Sci. Pract. Conf. Topical Issues of Science and Economy: New Challenges and Solutions , 2019, pp. 399–405 5. Tormozov V.S. Analysis of pattern recognition and machine learning methods for visual pattern recognition. Proc. of the 21st Century Information Technologies, 2019, pp. 354–359 (in Russ.). 6. Amosov O.S. Markov sequence filtering on the basis of Bayesian and neural network approaches and fuzzy logic systems in navigation data processing. J. of Computer and Systems Sciences Intern, 2004, vol. 43, no. 4, pp. 551–559 (in Russ.). 7. Baasher A.A., Fakhr M.W. Forex trend classification using machine learning techniques. Recent Researches in Applied Informatics and Remote Sensing, 2011, vol. 1, no. 1, pp. 41–47. 8. Finam. Export Quotes. Available at: https://www.finam.ru/profile/forex/eur-usd/export/ (accessed April 10, 2021) (in Russ.). 9. Tormozov V.S., Zolkin A.L., Vasilenko K.A. Perceptron structural optimization using the apparatus of evolutionary modeling for the task of predicting the values of time series. Industrial Automatic Control Systems and Controllers, 2020, no. 8, pp. 40–45 (in Russ.). 10. Ezeafulukwe U.A., Darus M., Fadipe-Joseph O.A. On analytic properties of a sigmoid function. Int. Journal of Mathematics and Computer Science, 2018, vol. 13, no. 2, pp. 171–178. 11. Callan R. The Essence of Neural Networks. Prentice Hall Publ., 1998, 248 p. (Russ. ed.: Moscow, 2001, 287 p.). 12. Sozykin A.V. An overview of methods for deep learning in neural networks. Bull. of the SUSU. Ser. Computational Mathematics and Software Engineering , 2017, vol. 6, no. 3, pp. 28–59. DOI: 10.14529/cmse170303 (in Russ.). 13. Isah H., Abughofa T., Mahfuz S., Ajerla D., Zulkernine F., Khan S. A survey of distributed data stream processing frameworks. IEEE Access, 2019, vol. 7, pp. 300–316. DOI: 10.1109/ACCESS.2019.2946884 . 14. Vukotic A., Goodwill J. Apache Tomcat 7. NY, Apress Publ., 2011, 293 p. 15. Wojciechowski J. MVC model, struts framework and file upload issues in web applications based on J2EE platform. Proc. Intern. Conf. TCSET , 2004, pp. 342–345. 16. Strokov A.A., Shiryaev V.E., Shiryaev M.E. DBMS PostgreSQL and its application for development of databases in ACS of special purposes. Proc. ICAIT, 2018, pp. 565–570 (in Russ.). |
Permanent link: http://swsys.ru/index.php?id=4832&lang=en&like=1&page=article |
Print version |
The article was published in issue no. № 3, 2021 [ pp. 399-408 ] |
Perhaps, you might be interested in the following articles of similar topics:
- Прогнозирование временного ряда инфекционной заболеваемости
- Нейронные сети и модели ARIMA для прогнозирования котировок
- Система раннего предупреждения о нарушении показателей качества питьевой воды
- Применение локальных трендов для предподготовки временных рядов в задачах прогнозирования
- Нейросетевая модель прогнозирования временных рядов финансовых данных
Back to the list of articles