КОГНИТИВНАЯ ЭКОНОМИКА COGNITIVE ECONOMY
УДК 519.95 ББК 22.181 Н 23
Я.А. Налесная
Кандидат экономических наук, доцент, доцент кафедры инженерной экономики Южного федерального университета, г. Таганрог. Тел.: (8634)68-44-55, е-mail: [email protected]. З.А. Понимаш
Студент экономического факультета Института радиотехнических систем и управления Южного федерального университета, г. Таганрог. Тел.: (8634)68-44-55, е-mail: [email protected].
ПРОГНОЗИРОВАНИЕ ЦЕН С ИСПОЛЬЗОВАНИЕМ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
(Рецензирована)
Аннотация. Для чего нужно прогнозировать цены? Конечно, первое, что приходит в голову, — это для игр на бирже; это, конечно же, верно, ибо зная, какие будут цены и как они будут себя вести в дальнейшем на тот или иной товар/валюту, мы сможем принимать решение покупать или продавать этот товар. Робот также может за нас принимать подобные решения, оценивая риски, что приведет к успешной игре на бирже с малой степенью участия пользователя, либо вообще исключит его участие. Остается два вопроса: как прогнозировать цены и как оценивать риски. В экономике для прогнозирования, аппроксимации, классификации, выделения скрытых свойств, объектов, явлений, процессов очень эффективно применять искусственные нейронные сети (ИНС). К тому же ИНС способны решать задачи, где невозможно или неэффективно использовать другие методы. Основными предопределяющими условиями их использования является наличие «исторических данных», используя которые нейронная сеть сможет обучиться. В данной статье рассмотрен вариант использования нового средства прогнозирования — искусственные нейронные сети.
Ключевые слова: искусственные нейронные сети, прогнозирование, цена.
Ya.A. Nalesnaya
Candidate of Economic Sciences, Associate Professor of Engineering Economy Department, Southern Federal University, Taganrog. Ph.: (8634)68-44-55, e-mail: [email protected]. Z.A. Ponimash
A student of the Institute of radio-engineering systems and management, Southern Federal University, Taganrog. Ph.: (8634)68-44-55, e-mail: [email protected].
PRICE FORECASTING WITH USING ARTIFICIAL NEURAL NETWORKS
Abstract. What you need to predict the prices for? Of course, the first that comes to mind is for stock market games. It's true. We can make decisions to buy or sell these goods knowing what prices will be and how they will behave in the future for a particular commodity / currency. Also the robot can make for us similar decisions, estimating risks. That will lead
to successful stock market game with small extent of participation of the user, or in general will exclude his participation. There are two questions that remain: how to predict the prices and how to estimate risks. In forecasting economics, approximation, classification, allocation of the hidden properties, objects, the phenomena, processes it is very effective to apply the artificial neural networks (ANN). Besides, ANN can solve problems where it is impossible or it is inefficient to use other methods. The main predetermining conditions of their use are existence of «historical data», using which the neural network will be able to be trained. This paper considers the option of use of new means of forecasting — artificial neural networks.
Keywords: artificial neural network, forecasting, price.
На сегодняшний день существует два основных метода прогнозирования цен:
1. Метод «Сегодня будет как вчера, завтра будет как сегодня».
что соответствует предположению, что «завтра будет как сегодня».
Этот метод является самым простым и самым бесполезным [1].
2. Метод экспоненциального приближения.
У^+1)= а^)+(1-а>У'^) ,
где У^+1) — прогноз на следующий период времени; У^) — реальное значение в момент времени ^ У'(^ — прошлый прогноз на момент времени ^ а — постоянная сглаживания (0<а<1) [2].
Данный метод более точный, но он не способен предсказать рост цен, т.к. предсказанное значение всегда будет меньше или равно предыдущему. Немного модернизировав этот метод, высчитывая кривую ошибки и изменяя коэффициент «а» таким образом, чтобы попадать в глобальные минимумы функции ошибки, получим использование искусственных нейронных сетей. На нем и остановимся. Новый метод основан на использовании ИНС, а именно: многослойного парцеп-трона. Это очень мощный инструмент, и он идеально подходит для прогнозирования цен.
Его преимущества:
— возможность обобщать данные;
— возможность на входе подать разные по своей сути данные (тем самым реализуя функцию многих переменных);
— высокая адаптивность к внешним изменениям;
— высокая скорость обработки данных (при аппаратной реализации);
ИНС учатся, а не программируется, отсюда простота использования.
В целом отличие нейронных сетей от традиционных моделей прогнозирования состоит в учете большого количества информации (тысячи и десятки тысяч данных за десятилетия), в связи с этим повышается точность прогноза. Нейро-сети предпочтительны там, где имеется очень много входных данных, в которых скрыты закономерности. Целесообразно использовать нейросетевые методы в задачах с неполной или «зашумлённой» информацией, а также в таких, где решение можно найти интуитивно [3].
Нейросети применяются для предсказания рынков, оптимизации товарных и денежных потоков, анализа и обобщения социологических опросов, предсказание динамики политических рейтингов, оптимизации производственного процесса, комплексной диагностики качества продукции и для многого другого.
При недостаточной степени обучения и сложной прогнозируемой функции большой точности ждать не следует. Это показано на рисунке 1.
Рисунок 1. Обучение на 3-х примерах (программа написана на C#)
Красным (кривая вверх) показана исходная функция, а зеленым (кривая вниз) — прогноз. Для качественного обучения примеров должно быть на 4—5 порядков больше.
Нужно четко знать сколько надо нейронов для оптимальной работы сети. Если нейронов больше нужного — сеть начнет просто запоминать ответы, а если меньше — будет не способна анализировать.
Еще одна проблема обучения подобных сетей заключается в том, что для успешного обучения ИНС, надо находить глобальные минимумы поверхности ошибки. Поверхность ошибки в общем случае многомерная нелинейная функция, ее базис составляют веса нейронов и величина ошибки.
Но проблема в том, что н хожд ние глобального минимума (не локального) в общем случае нерешаемая задача: нейронную сеть практически невозможно идеально обучить. Следующая проблема заключается в том, что ИНС по своей сути закрыта и нельзя точно сказать,какона принимает решения (если в ней есть скрытые слои). Эта проблема приводит ктому, что сложно, а в некоторых случаях и невозможно прогнозировать сбоиработыи погрешность результата.
Создать ИНС и обучитьее можно в мат-лабе (Neural Network Toolbox), Neuroshell Day Trader 5.3 beta 4, а такжена любом языке программирования. Представим фрагмент программы для анализа собеседника. Пример на C#:
Neyron A;
Layer LA;
NeyronNetwork Na;
void ButtonlClick(object sender,
EventArgs e)
{
double[] ves = new double[2];
double[] sig = new double[2];
sig[0] = Convert.
ToDouble(textBox l .Text);
sig[l] = Convert.
ToDouble(textBox2.Text);
Random rnd = new Random();
textBox5.Text = Na.0ut[0].
Parse("mat").ToString();
textBox5.Text = Na.Out[l].
Parse("spam").ToString();
}
void MainFormLoad(object sender, EventArgs e)
double[] sig = new double[200]; sig = User.AnalizInput();
Na = new NeyronNetwork(sig. Length, 300, 1, sig, 2);
//Random rnd = new Random();
Нейронные сети сейчас применяются на бирже как сами по себе, так и в составе торговых роботов. Торговые роботы могут извещать (советовать) пользователя о выгодной сделке на основе своего прогноза. А некоторыемогут самианали зировать риски и заключагьсделкипри малых рисках. Популярными средствами для создания «торогуых» ИНС являютсе: №игоз1ге11 DayTrader и SOINN.
Вкачостоееуспе°имента будем «предсказывать» поведение какой-нибудь сложной функции. Для примеравозьмем: у = в 1п(х)+з 1п(Зх)+соз(5х)+зт(7х)+5 и до-бавимшумсравномерным распределением поспектру и амплитуде. Будемпо 100 нзвестным значеиеям полунать одно следующее, длячего иобучим полносвязную нейронную сеть (каждыйэлемент этого слоя скаждым элементом следующего).
Функцией активации будет сигмоид (рисунок 2) [4].
S(t) :=
1
1 + e
0.8
0.6
S(t)
0.4
0.2
4.54x10
10 t 10 Рисунок2. Сигмоид
}
{
5
Рисунок 3. Обучение ИНС
Рисунок 4. Тест сети
Плюсы данной функции (в роли функции активации нейрона):
— она гладкая — т.е. ее производная существует на всем интервале ^
— она заполняет все пространство числами от 0 до 1;
— она нелинейная, что позволяет сети быть более «гибкой».
Структура сети: входов — 100, скрытых слоев — 4, количество нейронов в скрытых слоях по 20, выход 1.
Далее надо нормировать данные, для этого вычтем из всех значений 5 и поделим на 5. Обучим этому сеть на 1200 обучающих парах (вход/выход) до суммы пог-
решности в 2. На рисунке 3 представлено обучение ИНС. На рисунке 4 переходим к тестированию ИНС.
На рисунке 4 красным обозначена реальная функция, а зеленым ее прогноз. Если мы прогнозируем цены на какой-либо товар, то можно одну нейронную сеть использовать для предварительной оценки цены, другой — для прогнозирования курса валют. Третью для определения спроса. Четвертая должна учитывать все три прогноза и генерировать окончательный ответ.
Нейронные сети — очень мощный инструмент для анализа и прогнозирова-
ния цен. Но они имеют ряд недостатков, ки и разработав аппаратные реализации
таких, как невозможность идеального нейропроцессоров, мы сможем получить
обучения сети и невозможность прогно- самый мощный инструмент для анализа
зирования сбоев. Устранив эти недостат- рынков и других потребностей общества.
Примечания:
1. Каллан Р. Основные концепции нейронных сетей: пер. с англ. М.: Вильямс, 2001. 290 с.
2. Хайкин С. Нейронные сети полный курс: пер. с англ. 2-е изд., испр. М.: Вильямс, 2006. 1104 с.
3. Рыбина Г.В. Основы построения интеллектуальных систем. М.: Финансы и статистика: ИНФРА-М, 2010. 432 с.
4. Осовский С. Нейронные сети для обработки информации / пер. с пол. И.Д. Рудинско-го. М.: Финансы и статистика, 2002. 344 с.
References:
1. Callan R. Basic concepts of neural networks: trans. from English. M.: Williams, 2001. 290 p.
2. Haykin S. Neural networks, full course. 2-nd ed., corr.: trans. from English. M.: Williams, 2006. 1104 p.
3. Rybina G.V. Fundamentals of building intelligent systems. M.: Finance and Statistics, INFRA-M, 2010. 432 p.
4. Osovsky S. Neural networks for information processing: tran. from Polish I.D. Rudinsky. M.: Finances and statistics, 2002. 344 p.