Применение инновационных математических методов в социально-экономическом прогнозировании

ЭКОНОМИКА, ИННОВАЦИИ И МЕНЕДЖМЕНТ

УДК 681.3.068

С.А. Борисов, А.Ф. Плеханова

ПРИМЕНЕНИЕ ИННОВАЦИОННЫХ МАТЕМАТИЧЕСКИХ МЕТОДОВ В СОЦИАЛЬНО-ЭКОНОМИЧЕСКОМ ПРОГНОЗИРОВАНИИ

Нижегородский государственный технический университет им. Р. Е. Алексеева

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

В статье даны рекомендации по использованию различных новых математических методов для решения конкретных классов задач.

Ключевые слова: социально-экономическое прогнозирование, математические методы, нейронные сети, генетические алгоритмы, нечеткая логика.

Социально-экономическое прогнозирование является важным методом определения будущего состояния экономической системы [1]. Сущность прогнозирования заключается в нахождении некоторых характеристик системы по характеристикам, присущим ей в настоящий момент (при известных законах развития данных систем).

Наиболее простым является случай, когда система является детерминированной, и прогнозирование, и основанные на нем решения принимаются в условиях полной определенности. В данном случае мы без особых трудностей получаем довольно точный результат и адекватное решение.

Более трудным является прогнозирование и принятие решений в условиях частичного отсутствия информации и, тем более, в условиях полной неопределенности. В данном случае находят применение различные методы, начиная от вероятностных (в случае неполной исходной информации) и заканчивая методами принятия оптимальных решений. Они необходимы для принятия решений в условиях полной неопределенности. К ним относятся: принцип Парето, методы выделения главных показателей и перевод остальных в разряд ограничений, принципы Сэвиджа, Гурвица, Вальда и др. [2].

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

Искуственные нейронные сети (ИНС) - математические модели, их программные ре-

© Борисов С.А., Плеханова А.Ф., 2012.

ализации построены по принципу биологических нейронных сетей [3]. После разработки алгоритмов обучения получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов и др.

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

ИНС представляют собой систему соединённых и взаимодействующих между собой искусственных нейронов. Такие нейроны (процессоры) обычно довольно просты, в сравнении с процессорами, используемыми в персональных компьютерах. Однако, будучи соединёнными в большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи.

Преимущества нейронных сетей

Богатые возможности. Нейронные сети являются исключительно мощным методом моделирования, который позволяет воспроизводить даже достаточно сложные закономерности. На протяжении многих лет считалось, что один из лучших методов моделирования -это линейная оптимизация. Для данного метода были хорошо разработаны инструменты аппроксимации. Вместе с тем, существует ряд задач, в которых трудно осуществить линейную аппроксимацию и в них линейные модели оптимизации работают довольно плохо. Кроме того, нейронные сети умеют справляться с так называемым «проклятием размерности», которое не позволяет строить линейные зависимости в случае большого количества переменных.

Простота в применении. Считается, что уровень знаний, необходимый для успешного применения нейронных сетей, гораздо скромнее, чем, например, при использовании традиционных методов статистики.

Нейронные сети имеют способность обучаться. Возможность обучения - одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что в случае успешного обучения сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке, а также неполных и/или «зашумленных», частично искаженных данных.

Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и/или каких-то существующих в настоящий момент факторов. Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени предопределяют будущие. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может оказаться успешным (а может и не оказаться), тогда как прогнозирование результатов завтрашней лотереи на основе данных за последние 50 лет почти наверняка не даст никаких результатов.

Задачи прогнозирования особенно важны для практики, в частности, для финансовых приложений, поэтому поясним способы применения нейронных сетей в этой области более подробно.

Рассмотрим практическую задачу, ответ в которой неочевиден - задачу прогнозирования курса акций на один день вперед.

Пусть у нас имеется база данных, содержащая значения курса за последние 300 дней. Простейший вариант в данном случае - попытаться построить прогноз завтрашней цены на основе курсов за последние несколько дней. Понятно, что прогнозирующая нейронная сеть должна иметь всего один выход и столько входов, сколько предыдущих значений мы хотим использовать для прогноза, например, четыре последние значения. Составить обучающий пример очень просто: входными значениями нейронной сети будут курсы за четыре последовательных дня, а желаемым выходом нейронной сети - известный нам курс в следующий день за этими четырьмя.

Если нейронная сеть совместима с какой-либо системой обработки электронных таблиц (например Excel), то подготовка обучающей выборки состоит из следующих операций:

1. Скопировать столбец данных значений котировок в 4 соседних столбца.

2. Сдвинуть второй столбец на 1 ячейку вверх, третий столбец - на 2 ячейки вверх и т.д. (рис. 1).

Рис. 1. Подготовка исходных данных для нейронной сети

Смысл этой подготовки легко увидеть на рис. 1: теперь каждая строка таблицы представляет собой обучающий пример, где первые четыре числа - входные значения нейронной сети, а пятое число - желаемое значение выхода нейронной сети. Исключение составляют последние четыре строки, где данных недостаточно: эти строки не учитываются при тренировке нейронной сети. Заметим, что в четвертой снизу строке заданы все четыре входных значения, но неизвестно значение выхода нейронной сети. Именно к этой строке мы применим обученную нейронную сеть и получим прогноз на следующий день.

Как видно из этого примера, объем обучающей выборки зависит от выбранного количества входов нейронной сети. Если сделать 299 входов, то такая нейронная сеть потенциально могла бы строить лучший прогноз, чем нейронная сеть с четырьмя входами, однако в этом случае мы имеем всего один обучающий пример, и обучение бессмысленно. При выборе числа входов нейронной сети следует учитывать это, выбирая разумный компромисс между глубиной предсказания (число входов нейронной сети) и качеством обучения нейронной сети (объем тренировочного набора).

Генетический алгоритм (англ. genetic algorithm) - это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию [4]. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений - кандидатов, роль которой аналогична роли скрещивания в живой природе.

Активное применение генетические алгоритмы нашли для обучения (настройки весовых коэффицентов) нейронных сетей.

Пусть дана некоторая сложная функция (целевая функция), зависящая от нескольких переменных, и требуется найти такие значения переменных, при которых значение функции максимально. Задачи такого рода называются задачами оптимизации и встречаются на практике очень часто.

Один из наиболее наглядных примеров - задача распределения инвестиций. В этой

задаче переменными являются объемы инвестиций в каждый проект (десять переменных), а функцией, которую нужно максимизировать, - суммарный доход инвестора. Также даны значения минимального и максимального объема вложения в каждый из проектов, которые задают область изменения каждой из переменных. Попытаемся решить эту задачу, применяя известные природные способы оптимизации. Будем рассматривать каждый вариант инвестирования (набор значений переменных) как индивидуум, а доходность этого варианта - как приспособленность этого индивидуума. Тогда в процессе эволюции (если мы сумеем его организовать) приспособленность индивидуумов будет возрастать, а значит, будут появляться все более и более доходные варианты инвестирования. Остановив эволюцию в некоторый момент и выбрав самого лучшего индивидуума, мы получим достаточно хорошее решение задачи.

Генетический алгоритм - это простая модель эволюции в природе, реализованная в виде компьютерной программы. В нем используются как аналог механизма генетического наследования, так и аналог естественного отбора. При этом сохраняется биологическая терминология в упрощенном виде. Вот как моделируется генетическое наследование:

• хромосома (вектор из нулей и единиц, каждая позиция (бит) называется геном);

• индивидуум = генетический код (набор хромосом = вариант решения задачи);

• кроссовер (операция, при которой две хромосомы обмениваются своими частями);

• мутация (случайное изменение одной или нескольких позиций в хромосоме). Чтобы смоделировать эволюционный процесс, сгенерируем вначале случайную популяцию - несколько индивидуумов со случайным набором хромосом (числовых векторов). Генетический алгоритм имитирует эволюцию этой популяции как циклический процесс скрещивания индивидуумов и смены поколений.

Жизненный цикл популяции - это несколько случайных скрещиваний (посредством кроссовера) и мутаций, в результате которых к популяции добавляется какое-то количество новых индивидуумов. Отбор в генетическом алгоритме - это процесс формирования новой популяции из старой, после чего старая популяция погибает. После отбора к новой популяции опять применяются операции кроссовера и мутации, затем опять происходит отбор, и т.д.

Отбор в генетическом алгоритме тесно связан с принципами естественного отбора в природе следующим образом:

• приспособленность индивидуума (значение целевой функции на этом индивидууме);

• выживание наиболее приспособленных (популяция следующего поколения формируется в соответствии с целевой функцией: чем приспособленнее индивидуум, тем больше вероятность его участия в кроссовере, т.е. размножении).

Создание начальной популяции

Перелэд к шламу

Примшение операторов СКРЕЩИВАНИЯ и МУТАЦИИ.

Вычисление критерия полезности

С равн ени е с имею прми ся экзадплярами в ПОПУЛЯЦИИ

До (явление в ПОПУЛЯЦИЮ.

Экземпляр хуже чет уже имеются

Более «жиз № сгссо6наж> особь

Рис. 2. Схема работы генетического алгоритма

Таким образом, модель отбора определяет, каким образом следует строить популяцию следующего поколения. Как правило, вероятность участия индивидуума в скрещивании берется пропорциональной его приспособленности. Часто используется так называемая стратегия элитизма, при которой несколько лучших индивидуумов переходят в следующее поколение без изменений, не участвуя в кроссовере и отборе. В любом случае каждое следующее поколение будет в среднем лучше предыдущего. Когда приспособленность индивидуумов перестает заметно увеличиваться, процесс останавливают и в качестве решения задачи оптимизации берут наилучшего из найденных индивидуумов. Схема реализации генетического алгоритма представлена на рис. 2.

Возвращаясь к задаче оптимального распределения инвестиций, поясним особенности реализации генетического алгоритма в этом случае:

• индивидуум = вариант решения задачи = набор из десяти хромосом Х/,

• хромосома Х/ = объем вложения в проект / = 16-разрядная запись этого числа;

• так как объемы вложений ограничены, не все значения хромосом являются допустимыми. Это учитывается при генерации популяций;

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

Далее приведены результаты работы генетического алгоритма для трех различных значений суммарного объема инвестиций К (рис. 3, а-в).

б)

Рис. 3. Зависимость работы генетического алгоритма от начального размера инвестиций

в)

Рис. 3 (окончание). Зависимость работы генетического алгоритма от начального размера инвестиций

Квадратами на графиках прибылей отмечено, какой объем вложения в данный проект рекомендован генетическим алгоритмом.

Видно, что при малом значении K инвестируются только те проекты, которые прибыльны при минимальных вложениях (рис. 3, а).

Если увеличить суммарный объем инвестиций, становится прибыльным вкладывать деньги и в более дорогостоящие проекты (рис. 3, б).

При дальнейшем увеличении K достигается порог максимального вложения в прибыльные проекты, и инвестирование в малоприбыльные проекты опять приобретает смысл (рис. 3, в).

Нечеткая логика применяется для анализа экономических систем, если данные носят качественный характер (как правило, это происходит при принятии долгосрочных решений) [5]. Для измерения риска, связанного с данным видом неопределенности (ее называют лингвистической), была разработана теория нечеткой логики.

Нечёткая логика - раздел математики, являющийся обобщением классической логики и теории множеств. Понятие нечёткой логики было впервые введено профессором Люфти Заде в 1965 году. Понятие множества было расширено допущением, что функция принадлежности элемента к множеству может принимать любые значения в интервале [0...1], а не только 0 или 1. Такие множества были названы нечёткими. Также автором были предложены различные логические операции над нечёткими множествами и понятие лингвистической переменной, в качестве значений которой выступают нечёткие множества.

Триумфальное шествие нечеткой логики по миру началось после доказательства в конце 80-х годов прошлого века Бартоломеем Коско знаменитой теоремы FAT (Fuzzy Approximation Theorem). В бизнесе и финансах нечеткая логика получила признание после того, как в 1988 году экспертная система нечетких правил для прогнозирования финансовых индикаторов единственная предсказала биржевой крах. Количество успешных фаззи-приме-нений в настоящее время исчисляется тысячами.

Применение современных методов социально-экономического прогнозирования позволяют увеличить его точность и предсказательную силу, а также значительно сэкономить время на проведение исследования, при наличии соответствующего компьютерного программного обеспечения. Также рассмотренные в статье методы, позволяют осуществлять социально-экономическое прогнозирование даже в тех случаях, когда не работают классические методы: например, нечеткую логику и нейронные сети можно использовать при очень высокой размерности и зашумленности данных.

Библиографический список

1. Юрлов, Ф. Ф. Социально-экономическое прогнозирование / Ф. Ф. Юрлов [и др.]; НГТУ. -Нижний Новгород, 2010. - 233 с.

2. Юрлов, Ф. Ф. Выбор эффективных решений в экономике / Ф. Ф. Юрлов [и др.]; НГТУ. -Нижний Новгород, 2004. - 159 с.

3. Хайкин, ^ Нейронные сети: полный курс: [пер. с англ.] / С Хайкин. - 2-е изд. - М.: ИД «Вильямс», 2006. - 1104 с.

4. Гладков, Л. А. Генетические алгоритмы: учеб. пособие / Л. А. Гладков, В. В. Курейчик, В. М. Курейчик. - 2-е изд. - М: Физматлит, 2006. - 320 с.

5. Леоненков, А. В. Нечеткое моделирование в среде MATLAB и fuzzyTech / А. В. Леоненков. -СПб.: БХВ - Петербург, 2005. - 736 с.

Дата поступления в редакцию 06.04.2012

S.A. Borisov, A.F. Plekhanova

INNOVATIVE APPLICATION OF MATHEMATICAL METHODS FOR SOCIAL - ECONOMIC FORECASTING

Nishny Novgorod State Technical University n.a. R.Y. Alekseev

Purpose: Social -economic forecasting is an important way to determine the status of the economic state of the object for a specific period of time in the future. The main goal of this research is to review the new methods of social -economic forecasting in conjunction with specific applied economic problems. The article shows the relevance of such methods in cases of large -scales data, as well as their strong noise.

Design/methodology/approach: In conditions of strong uncertainly for qualitative prediction of the results, it is necessary to use advanced mathematical methods, one of the most effective methods are based on a discrete mathematics, such as a fuzzy logic, neural networks and genetic algorithms.

Findings: The main results serve to illustrate the effectiveness of innovative methods of social -economic forecasting for specific applications of economic problems, recommendations for use of various new mathematical methods for solving specific classes of problems

Originality/value: Moreover, results of this articles show the effectiveness of the application of innovative mathematical methods for solving a very high dimensional data and noise.

Key words: social - economic forecasting, mathematical methods, neural network, genetic algorithm, fuzzy logic.