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

МАТЕМАТИЧЕСКИЕ И ИНСТРУМЕНТАЛЬНЫЕ МЕТОДЫ

А. Р. Шарафутдинова

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

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

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

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

Нами разработана методология исследований результатов прогнозов, полученных с помощью эконометрических моделей, с использованием ретроспективной информации и автоматизированной системы оценки качества и точности эконометрического прогноза. Группу оценок точности составили расчеты абсолютной и относительной ошибок, общепринятыми критериями качества были выбраны коэффициент детерминации, Б-критерий Фишера и критерий Дарбина - Уотсона.

Для большинства показателей имеются стабильные уравнения с достаточно длинными устойчивыми рядами отчетных данных высокой точности (данные Росстата 2000-2010 гг.) с учетом запаздывающей корректировки. В ходе исследований оказалось, что около 75-80% прогнозных показателей имеют заявленные высокие значения для критериев качества и точности.

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

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

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

Искусственная нейронная сеть представляет собой совокупность нейронов - вычислительных элементов (называемых персептронами), каждый из которых имеет несколько входов - синапсов и один выход - аксон.

Интеллект одиночного нейрона невысок. Можно считать, что он реализует в ИНС простую регрессивную модель для п независимых переменных (рис. 1). Если же объединить множество нейронов в сетевые структуры, то и реализуемая функция может быть сколь угодно сложной.

хп

Рис. 1. Схематичное изображение нейрона

На рис. 2 ИНС имеет явно выраженные слои, т. е. ряды нейронов, равноудаленные от входа (выхода). Могут создаваться и другие структуры, в том числе с обратными связями (рекуррентные).

Рис. 2. Пример простейшей трехслойной нейронной сети

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

я = £ X • + V

;=1

п

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

В исследуемой работе была выбрана сеть типа «Многослойный персеп-трон». Многослойными персептронами называют нейронные сети прямого распространения. Входной сигнал в таких сетях распространяется в прямом направлении от слоя к слою.

Многослойный персептрон в общем представлении состоит из следующих элементов:

- множества входных узлов, которые образуют входной слой;

- одного или нескольких скрытых слоев вычислительных нейронов;

- одного выходного слоя нейронов.

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

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

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

Задача обучения сети имеет огромную размерность. Так, для обучения сети, состоящей всего из 10 нейронов, в каждом из которых по 3 синапса, необходимо подобрать значения по меньшей мере 40 параметров (30 значений синаптических весов и 10 параметров функций активации). Если каждый из параметров подбирать с дискретностью 1/100, то общее число прогонов сети на множестве обучающих данных составит 10040.

Данная задача решается с помощью алгоритма обратного распространения (back propagation) следующим образом:

1. Изначально все параметры сети устанавливаются произвольно.

2. Через сеть прогоняются все обучающие данные и вычисляется квадрат суммы всех ошибок весов нейрона при каждом прогоне:

N 2 N 2

Е = Z Щ = Z(ypi - Уф1) , i=1 i=1

где yFi - расчетное значение выходной величины;

Уфi - значение внешнее эталонное.

3. Вычисляется значение производных функций ошибки по каждому параметру и на их основе производится расчет поправок к параметрам ИНС.

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

й Б()/й = (й Б() / й у)  (й У] / й Sj)  (й / й wnj); й У] / й = ехр(-3]) / (1 + ехр(-з]))2 , где Б(() - результирующие ошибки обучения;

wnj - текущий вес п-й связи ]-го нейрона; - взвешенная сумма входов нейрона ].

Для сети, состоящей из одного нейрона, й Бм / й у = ур; - Уф„ при этом значение й3] / йwnj равно выходу нейрона предыдущего слоя или соответствующему входному сигналу для нейрона первого слоя в силу линейного характера функции з.

Таким образом, нами найдены градиенты функции ошибки по wnj.

После этого вычисляются поправки к wnj по формуле Awnj = -кс  й Б(0 / й Wnj , где кс - коэффициент скорости обучения.

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

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

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

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

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

2. Какое количество итераций (эпох) обучения необходимо выбрать для остановки процесса обучения?

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

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

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

На величину шага коррекции весов при каждой итерации, как уже говорилось выше, влияет производная функции ошибки. Помимо нее на скорость обучения влияет коэффициент скорости обучения кс (0 < кс < 1). Он подбирается экспериментально. Если коэффициент скорости велик, то скорость обучения определяется только производной функции ошибки; при уменьшении коэффициента возникает эффект торможения изменения весов. Таким образом, если задать коэффициент достаточно большим, то сеть будет обучаться быстрее, но при этом снизится точность настройки наилучшего решения. Если коэффициент брать достаточно малым, то скорость обучения падает, но увеличится точность настройки. Искусство оператора состоит в выборе компромисса.

Алгоритм обучения можно сделать более эффективным, если внести в него дополнительный параметр А - момент коррекции:

А = -кс  й Е()/й м(п) + А- Ам(п - 1).

При вычислении коррекции веса на итерации п к значению коррекции делается добавка, равная значению коррекции веса на предыдущей итерации, умноженному на коэффициент момента 0 < А < 1.

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

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

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

данные изменяются с течением времени) могут быть созданы нейронные сети, переучивающиеся в реальном времени.

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

По результатам исследования были выявлены показатели низкого качества и/или точности на эконометрических моделях:

- неполнота исходных данных в силу отсутствия ведения учета показателей за прошлые периоды;

- различные тенденции развития для показателя в результате изменения методики формирования и расчета показателей экономики;

- ошибки в исходной информации;

- внесение корректировок в исходную информацию, не соответствующих реальным процессам экономики;

- отсутствие сведений о факторах, оказывающих значимое влияние на расчетные значения показателей;

- применение в качестве факторов аномальных показателей, используемых в отечественной статистике в настоящий (переходный) период времени.

Были отобраны несколько показателей:

1. Ставка по межбанковским кредитам.

2. Чистые (за вычетом субсидий) налоги на продукты.

3. Налог на прибыль организаций.

Для этих показателей были рассчитаны прогнозные значения на ИНС-моделях.

Реализация этапов прогнозирования осуществлялась с помощью нейро-пакета ST Neural Networks. В качестве источника были взяты данные Росстата за период с 2000 по 2010 г. в квартальном разрезе. Предварительно был осуществлен визуальный контроль исследуемых показателей на отчетном интервале времени. Отмечалось появление скачков и нелинейности, на основании чего было принято решение о характере представления данных (абсолютные единицы измерения, относительные, условно-относительные и др.).

Затем обработанные данные экспортировались в нейросетевой пакет ST Neural Networks, где эксперт осуществлял настройку персептрона. ИНС проводит обучение ситуационно, суть которого сводится к настройке весовых коэффициентов для расчета прогноза. На основе проведенного обучения и выявленных закономерностей сеть строит прогноз. Если полученные данные по критериям точности и качества прогноза оказываются неудовлетворительными, то делается попытка улучшить результаты прогноза, изменив настройки топологии сети. В новой топологии данные снова поступают на нейросетевую обработку, где производится обучение сети с помощью метода Back Propagation и расчет прогноза. Для просмотра и анализа результатов прогноза в системе ST Neural Networks предусмотрено использование функции импорта.

Исследуемые показатели были занесены в программный пакет ST Neural Networks. В ходе построения моделей исследуемых показателей данные со-

держали значения всего одной переменной по каждому из показателей. Для нейронной сети переменная служила одновременно входной и выходной (разумеется, в разные моменты времени).

В задаче прогноза временного ряда для нейронной сети определялось количество отчетных значений, которые были входами первого блока данных, и шаг прогноза. Для этого были заданы следующие параметры: временное окно -12 квартальных значений для сохранения характеристик сезонности, «прогноз вперед» (количество шагов) - 6, тип сети - многослойный персеп-трон, число слоев - 4 (т. е. число скрытых слоев равно 2).

Первым 12 квартальным значениям отчетных данных программным пакетом ST Neural Networks при создании сети автоматически был присвоен тип «неучитываемое». При обучении и последующей работе сети каждый подаваемый ей на вход блок данных содержал данные нескольких отчетных значений. Результатом входного блока данных было расчетное значение выходной переменной. Поэтому первые 12 значений на самом деле не игнорируются, а являются входами первого блока отчетных данных, и этот блок рассчитывает 13-е значение. Программным пакетом ST Neural Networks автоматически были получены расчетные значения. Таким образом, сеть обучена.

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

Факт

Прогноз

0,16

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011

Рис. 3. Фактические и прогнозные значения ставки по межбанковским кредитам на основе нейросетевой модели

Прогнозные значения показателя ставки по межбанковским кредитам, построенные на основе эконометрических моделей, имеют среднее отклонение 48%, на основе нейросетевой модели - 8,74%. Коэффициент детерминации для нейросетевых моделей составил 0,93, при значении коэффициента на основе эконометрических моделей - 0,57 (таблица).

Аналогично были построены прогнозы по остальным показателям с учетом собственных настроек сети.

Сравнительная таблица критериев качества и точности расчетных значений

Отклонение, % Коэффициент детерминации

Показатель регрессионный нейросетевая регрессионный нейросетевая

анализ модель анализ модель

Ставка по меж-

банковским 48 8,737 0,57 0,93

кредитам

Задолженность

кредиторская 36,6 9,8 0,98 0,31

просроченная

Налог на прибыль организа- 23,5 11,5 0,86 0,61

ций

Результаты сравнения расчетов на эконометрических и нейросетевых моделях показали, что прогнозные значения низкого качества и/или точности, полученные на эконометрических моделях, удается улучшать с помощью применения нейросетевых моделей.

Список литературы

1. Джонстон Дж. Эконометрические методы : пер. с англ. / предисл. А. А. Рывкина. - М. : Статистика, 1980.

2. Доугерти К. Введение в эконометрику : пер. с анг. - М. : МГУ; Ин-фра-М, 1997.

3. Колмаков И. Б., Антипов В. И. Взаимосвязь показателей макроэкономики и кредитной системы // Вестник Российской экономической академии имени Г. В. Плеханова. - 2011. - № 1 (37).

4. Розенблатт Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга = Principles of Neurodynamic: Perceptions and the Theory of Brain Mechanisms. - М. : Мир, 1965.

5. Шарафутдинова А. Р. Оценка качества и точности показателей краткосрочного прогноза социально-экономического развития РФ за 2009 год // Актуальные проблемы экономического развития : сборник докладов Международной заочной научно-практической конференции. - Белгород : Изд-во БГТУ им. В. Г. Шухова, 2011. - Ч. 3.