Введение 3
1. Нейросетевые технологии в изучении финансовых рынков 3
1.1. Нейросетевые технологии 5
1.2. Некоторые виды искусственных нейронных сетей 8
1.3. Предпосылки выбора анализа финансового рынка при помощи нейронных сетей 16
2. Реализация нейронных сетей для прогнозирования тренда 18
2.1. Подготовка обучающей выборки 18
2.2 Реализация и обучение многослойного персептрона 20
2.3 Сверточные нейронные сети 29
2.4 Радиальные нейронные сети 34
3. Результаты вычислений 40
3.1. Применение сетей к данным по прогнозированию курсов валют..40
3.2 Применение сетей к данным по студентам 42
Заключение 45
Список литературы 46
Приложение
Очень часто каждому из нас приходится иметь дело со значениями какой-то величины, изменяющимися во времени. Прогноз погоды, курсы валют, кардиограмма в больнице - продолжать этот список можно очень долго. В математике такие объекты называются временными рядами, и их анализу и предсказанию посвящён целый раздел науки анализа данных; для решения прикладных задач, связанных с ними, разработаны десятки методов. Одной из задач, которая может возникнуть перед исследователем временных рядов, является задача их классификации. Примером этого может служить кардиограмма, анализируя которую доктор решает, имеет ли человек какие- то сердечные патологии. Не менее интересным примером являются временные ряды из замеров гироскопа и акселерометра, по которым можно с высокой степенью достоверности понять, какое действие человек совершал в определённый промежуток времени. Специалисты по компьютерной безопасности часто исследуют временные ряды из параметров исполняемой программы, чтобы понять, не является ли она вредоносной. Лишь эти несколько примеров уже дают понять, что задача классификации временных рядов - одна из важнейших задач в науке анализа данных. Целью данной работы является исследование классических методов классификации временных рядов, их преимуществ и недостатков, а также более пристальное рассмотрение новых архитектур нейронных сетей, основанных на использовании классических, радиальных и свёрточных нейронных сетей.
Постановка задачи.
Пусть исследователь работает с некоторой величиной x(t), которая меняется во времени. Он замеряет эту величину в моменты времени { i Л 2— 1n} (обычно предполагается, что моменты времени идут через равные периоды)и получает последовательность значений величины X = {xi ,x2•••xn}. Именно эта последовательность замеров и называется временным рядом. Задача классификации временных рядов состоит в поиске как можно более точного отображения f : X ^ {1, 2,..., N}, которое принимает на вход временной ряд и ставит ему в соответствие один из N классов. Процесс поиска 3 этого отображения называется обучением. Обучение осуществляется по обучающей выборке - набору [(X i >yi),(X2 >У2)...,(Хт>Ут)], для объектов которого известен ответ искомой функции. Результат обучения - функция, которая максимизирует качество классификации на отложенной выборке. В качестве меры качества обычно рассматривают точность - процент правильно классифицированных объектов: Acc =— f (X=yi)] ,где объекты (Xi>y) берутся из отложенной выборки размера К.В работе будут применены три вида нейронных сетей- радиальная, сверточная и многослойная.
Основной целью работы будет - исследование величины среднеквадратичной ошибки (MSE) нейронных сетей с разработанной нами архитектурой. Задача получить наиболее точное прогнозирование , насколько это возможно с нашими модификациями, а также выяснить , какая из конфигураций нейронных сетей , наиболее подходит для решения данной задачи. Работа проведена на материалах по курсам валют за 2000-2018 годы. В работе построены многослойные персептроны, сверточные нейронные сети, радиальные нейронные сети. Суммарно было получено и протестировано более 1000 архитектур нейронных сетей. Новизной в данной работе является - Возможность динамически подбирать структуру нейронной сети во время обучения, использование нового сверточного слоя сети и гибридное использование радиального нейрона.
В результате работы было протестировано и получено более 1000 конфигураций нейронных сетей. Наилучшие показатели для предсказания тренда на неделю ( повышение, понижение или неизменность) показала себя конфигурация многослойный персептрон с количеством входов 18-22.
Иными словами для прогнозирования тренда на неделю необходимо опираться на данные по валютам в течении 18-22 дней за предыдущий период. По этим показателям данная конфигурация нейронных сетей дает наименьшую ошибку. В случае использования радиальной нейронной сети, наилучшие показатели были достигнуты при использовании конфигурации с 16 входными и 16 выходными нейронами. Но данная сеть все же немного поигрывает конфигурациям многослойного персептрона, описанного выше.
Касательно сверточной нейронной сети, в ней всегда использовалось 24 входа, количество нейронов в скрытом слое менялось, но показатели оказались хуже чем в лучших вариантах многослойного персептрона и радиальной сети, но лучше чем показатели многослойного персептрона с количеством входов менее 18. Касательно сетей, обученных на финансовых данных, но тестируемых на данных по студентам мы видим следующее. Показатель ошибки по всем видам сетей ухудшился примерно в диапазоне 0.1-0.15, что довольно существенно. Здесь наилучшие показатели дала нам сверточная сеть, немного опередив конфигурации многослойного персептрона, чтобы наблюдается в таблицах. Радиальная нейронная сеть с 6 входами и 6 радиальными нейронами показала самый плохой результат. Вывод, для прогнозирования тренда движения курсов валют на неделю необходимо опираться на показания по данным валютам за 16-22 предыдущих дня, в этом случае нейронная сеть даст наименьшую ошибку и сделает предсказание тренда максимально правильно.
[1] Van The Huy и Duong Tuan Anh. “An efficient implementation of
anytime k-medoids clustering for time series under dynamic time warping”. В: Proceedings of the Seventh Symposium on Information and Communication Technology, SoICT 2016, Ho Chi Minh City, Vietnam, December 8-9, 2016. 2016, с. 22—29. doi: 10.1145/3011077. 3011128. url:
http://doi.acm.org/10.n45/3011077.301n28.
[2] Zhiguang Wang и Tim Oates. “Time Warping Symbolic Aggregation
Approximation with Bag-of-Patterns Representation for Time Series Classification”. В: 13th International Conference on Machine Learning and Applications, ICMLA 2014, Detroit, MI, USA, December 3-6, 2014. 2014, с. 270 —275. doi: 10.1109/ICMLA.2014.49. url:
http://dx.doi.org/10.1109/ICMLA.2014.49.
[3] L. Ye и E. Keogh. “Time series shapelets: a new primitive for data mining”. В: Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2009.
[4] Jason Lines и др. “A shapelet transform for time series classification”. В:
The 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ’12, Beijing, China, August 12-16, 2012. 2012, с. 289—297. doi: 10 . 1145 / 2339530.2339579. url:
http://doi.acm.org/10.1145/2339530.2339579.
[5] Martin Wistuba, Josif Grabocka и Lars Schmidt-Thieme. “Ultra-Fast Shapelets for Time Series Classification”. В: CoRR abs/1503.05018 (2015). url: http://arxiv. org/abs/1503.05018.
[6] Zhicheng Cui, Wenlin Chen и Yixin Chen. “Multi-Scale Convolutional Neural Networks for Time Series Classification”. В: CoRR abs/1603.06995 (2016). url: http: //arxiv.org/abs/1603.06995.
[7] Zhiguang Wang и Tim Oates. “Spatially Encoding Temporal Correlations to Classify Temporal Data Using Convolutional Neural Networks”. В: CoRR abs/1509.07481 (2015). url: http://arxiv.org/abs/1509.07481.
[8] Time Series Classification Web-Site. http://timeseriesclassification.com.
[9] . Jiang J.-Q., Wei-Xing Zhou W.-X., Sornette D., Woodard R., Bastiaensen K., Cauwels P.Bubble Diagnosis and Prediction of the 2005-2007 and 2008- 2009 Chinese stock market bubbles, Journal of Economic Behavior & Organization 74 (3), 149-162 (2010).
[10] . Joho M., Mathis H., Moschytz G.S. An Fft-Based Algorithm For Multichannel Blind Deconvolution, Signal and Information Processing Laboratory, Swiss Federal Institute of Technology Zurich, 1999.