Нейросетевое программирование макроєкономики
МИНИСТЕРСТВО
ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ХАРЬКОВСКИЙ ТОРГОВО-
Кафедра
экономики предприятий и
РЕФЕРАТ
по дисциплине Макроэкономическое прогнозирование
на
тему: «Нейросетевое прогнозирование
макроэкономики»
Выполнил:
Харьков
2010
Введение……………………………………………
1.
Проблемы и их решение ……………………
2.
Принципиальные особенности ………
3.
Процесс построения
Список
источников……………………………………………………
Введение
На
современном этапе возрастает необходимость
в системах, которые способны не
только выполнять однажды
Немаловажную роль в успехе нейронных сетей сыграло и то, что они обладают многими весьма интересными свойствами, присущими человеческому мозгу: они могут обучаться на основании некоторого опыта, могут обобщать и извлекать полезную информацию из набора предоставляемых данных, который может содержать ненужные данные или информацию с помехами. В то же время при использовании обычных «точных» алгоритмов нахождения ответов на вопросы, отклонения во входной информации вызывают отклонения выходной. Следует отметить, что такая способность нейронных сетей реализуется только благодаря структуре сети, а не с помощью какого-либо дополнительного инструментария.
Важно то, что, в отличие от человека, который одновременно может принимать во внимание 5-6 факторов, нейронная сеть может оперировать сотнями, и, как это ни странно, может дать прогноз лучше, чем человек. Человеческое сознание способно удерживать одновременно пять плюс-минус две сущности
Данная
область имеет вместе с уникальными
возможностями также и
Недостатками нейронных сетей можно считать их «склонность» к ошибкам, а также то, что нейронная сеть не способна «объяснить», почему она принимает то или иное решение, что иногда бывает очень важно. Строение нейронной сети в некоторых случаях бывает настолько сложным, что любые попытки к анализу не дадут существенных результатов. И даже в этом случае можно наблюдать аналогию с человеческим мышлением, ведь мы узнаем, что написанное от руки предложение принадлежит нашему знакомому, хотя объяснить, почему мы так решили не можем, мы лишь наблюдаем определенные закономерности начертания букв и выдаем результат — точно так же происходит и в нейронных сетях.
Как показывает практика последних лет, нейронные сети оказались весьма перспективным инструментом для анализа информации экономического характера, что позволило использовать эту технологию при проведении стандартных банковских операций, таких как: оценка кредитных рисков, решения задач банковского маркетинга, контроль операций с кредитными карточками и др. Следует отметить, что подобные области всегда отличались весьма высокой ценой ошибки, и применение нейросетевых технологий в данном случае говорит о достаточном уровне доверия к ним.
Все эти задачи, так или иначе, связаны с анализом большого количества информации, среди которой необходимо обнаружить зависимости, влияющие на изменение состояния рынка, или благоприятные обстоятельства для инвестиционной деятельности. Именно в ситуациях, когда прямую зависимость достаточно сложно записать в виде формулы или определенных правил, нейронные сети дают очень эффективные результаты.
Однако
при рассмотрении вопроса применения
нейросетевых технологий в моделировании
и прогнозировании
1.
Проблемы и их решение
В программировании известна такая теорема: «Чем больше размер программы, тем сложнее написать и чаще приходится переписывать». В последней редакции программной реализации нейросетевой макроэкономической модели размер кода основных модулей превысил 5000 строк, не считая подключаемые компоненты и используемые сторонние модули. Для того чтобы избежать трудно уловимых коллизий между модулями и внутренних ошибок, было сделано следующее:
1.
Разделение основной программы
на отдельные
a) DataPump – модуль работы с данными;
b)
NeuroEvolution – модуль определения
зависимостей между
c) Neural Network – модуль настройки нейронных сетей;
d) ExcelLink – надстройка для связи с MS Excel по COM-технологии.
2.
Использование простой и,
3. Контроль версий частей кода.
4.
Использование отлаженных
a) NeuralBase и GeneBase компании BaseGroup;
b)
FFNN компании Dataland Software.
Ресурсоемкость применяемых алгоритмов
В программировании известна также следующая теорема: «На 20% машинного кода приходится 80% затрат машинного времени». Данное соотношение оказалось более чем верным в отношении алгоритмов эволюционного поиска и настройки нейронных сетей. Так, например, процесс выявления определяющих факторов до его оптимизации требовал более суток непрерывной работы системы на процессоре Celeron с тактовой частотой 1000 МГц16. После оптимизации и добавления алгоритма, составляющего первоначальный набор факторов на основе коэффициентов линейной корреляции, стало возможным получать аналогичные результаты за 4-8 часов вычислений. Итак, значительные затраты процессорного времени, требуемого алгоритмами, которые применяются при построении комплексных нейромоделей макроэкономических процессов, можно снизить, если:
16 FactorCount = 7, DataFieldCount = 20, AbsolutePeriodCount = 52, Window = 5, Forecast = 2, GAEpochCount = 40, GAChromosomeCount = 20, NetStructure = ―FactorCount-7-Forecast‖, UseAdaptiveAging = Да, NETEpochCount = 1000. Описание переменных см. в «Процесс построения комплексной макроэкономической модели».
17
Например, при расчете 10-факторной
модели высокого уровня можно
25-50% первой популяции
a)
оптимизировать код, на
b)
использовать ранее полученные
результаты вычислений по
c) запускать длительные процессы в фоновом режиме с низким приоритетом (Idle или Low) для использования времени простоя процессора.
В
перспективе возможно также использование
системы распределенных вычислений,
позволяющее использовать свободное
процессорное время компьютеров, объединенных
в единую сеть.
Сложность анализа логики нейросетевых моделей
Одним из наиболее часто упоминающихся недостатков нейросетевых моделей является сложность их представления в удобной для восприятия и анализа форме. Так, например, синаптические связи простейшей нейронной сети вида «2-2-2» полностью описываются системой из 8 уравнений, содержащих трудно воспринимаемые весовые коэффициенты. Если же речь идет о модели вида «20*5-40-20*2», одновременно прогнозирующей состояние 20 показателей на 2 периода вперед на основе этих же 20 показателей с величиной лагов до 5, то размер файла с ее характеристиками превысит 100 Кб. Ни о каком восприятии и анализе логики нейронной сети здесь речь идти не может.
Одним
из способов решения данной проблемы
является разделение такой большой
нейромодели на ряд субмоделей (по
одной на каждый показатель) с ограниченным
количеством входных (1-3) и выходных
(5-10) переменных. В таком случае становится
значительно проще работать с
определяющими факторами и
2
Принципиальные особенности
При
применении эконометрических методов
моделирования чрезвычайно
Поэтому на практике исследователи выдвигают гипотезу о том, что имеющиеся данные описываются каким-либо определенным законом, а потом проверяют, является эта гипотеза ложной или истинной. Естественно, что реально возможно проверить лишь ограниченное число предположений из бесконечного количества вариантов.
Преимущество
нейронных сетей заключается
в том, что изначально не задается
жесткая структура
Таким
образом, использование нейросетевых
моделей позволяет
Использование системного подхода породило ряд принципиальных отличий данной программной наработки от других работ подобного рода. Среди особенностей данного метода построения моделей необходимо выделить:
1.
Использование группы
2.
Комбинированный алгоритм
3.
Специальный алгоритм
Рассмотрим
подробнее каждый из пунктов.
Использование группы взаимосвязанных показателей
Традиционно
в нейросетевых решениях присутствует
некоторое число входов, на основе
значений которых НС вычисляет один
параметр, некоторым образом
1)
невозможно задать или
2)
нейронная сеть должна
3)
использование традиционного
4)
настройка и дообучение
С
другой же стороны только такая нейросетевая
модель способна в наиболее полной
мере реализовать принцип
18
В данном случае имеется в
виду взаимное влияние
1)
нивелируются все недостатки
предыдущего способа
2)
подобное разделение НС не
только значительно снижает
3)
появляется возможность без
Комбинированный алгоритм выявления определяющих факторов
Одной из главных задач, которые возникают при прогнозировании любого показателя, является выявление тех независимых переменных, на основе которых можно с определенной долей вероятности вычислить его состояние в последующие периоды времени. При наличии множества возможных комбинаций геометрически увеличиваются затраты времени на проверку гипотез о возможности использования конкретного набора факторов и выбор самого оптимального. Для ускорения и автоматизации большей части подобного процесса был использован алгоритм, состоящий из следующих элементов:
1.
Составление первоначального
2.
Эволюционная оптимизация
3.
Пост процессная обработка
Шаги 1 и 2, занимающие большую часть времени, выполнялись в автоматическом режиме, высвобождая время оператора для анализа выявленных закономерностей и творческого поиска новых.
Более
подробно данный алгоритм будет описан
ниже.
Автоматический контроль настройки нейросетевых моделей
Традиционно оценка качества сети производится на основе максимальной и средней ошибок на обучающей выборке19. Иногда используются также значения максимальной и средней ошибок на тестовой выборке20.
19
Указанные параметры
20 Показатели того, насколько правильно в модели определены основные зависимости.
Следует заметить, что, если рассматривать процесс формирования сетевой модели в динамике, то можно выявить весьма интересные тенденции: сначала все 4 показателя ошибок убывают, но затем в некоторой точке ошибки на тестовой выборке начинают возрастать, а сеть входит в состояние «переобученности», аппроксимируя «белый шум». Представляется (к сожалению, в литературе пока данный вопрос подробно не освещался), что одним из способов выбора момента остановки обучения является продолжение настройки сети, пока скользящие средние по значениям ошибок продолжают уменьшаться или рост ошибок на тестовой выборке незначителен по сравнению с уменьшением ошибок на обучающем множестве.
Зачастую, настройка нейросетевой модели заканчивается ее «попаданием» в локальный экстремум, из которого механизм шоковых встрясок ее вывести не в состоянии. Но перед началом обучения весовые коэффициенты НС инициализируются случайными значениями, вследствие этого процесс настройки каждый раз протекает по-разному. Поэтому необходимо повторить процесс нахождения весовых коэффициентов несколько раз, выбрав наиболее оптимальное решение.
Как
мы видим, контроль настройки нейросетевых
моделей можно автоматизировать
использованием нескольких простых
правил, что и было сделано в
программной реализации нейросетевого
моделирования
3.
Процесс построения
Весь процесс создания модели можно разделить на следующие этапы:
1. Подготовка данных.
2.
Выявления определяющих
3.
Построение нейронных
4.
Объединение субмоделей и
Рассмотрим
подробнее каждый из перечисленных
этапов.
Подготовка данных
Процесс подготовки временных рядов для прогнозирования достаточно подробно описан в соответствующей литературе. Остановимся лишь на некоторых особенностях, возникающих вследствие применения математического аппарата нейронных сетей.
1.
Сглаживание исходных
2.
Предпочтительнее
21
Кроме того, использование относительного
прироста показателя «через
22
Здесь и далее в тексте жирным
шрифтом выделяются переменные,
которые оказывают
Подготовленные
данные загружаются в модуль DataPump,
который позволяет гибко
1) Window22 – максимальный лаг для независимых переменных;
2) Forecast – глубина прогноза;
3) iBegin – количество наблюдений с начала периода, которые исключаются из обработки;
4) iEnd – количество наблюдений с конца периода, которые исключаются из обработки (если предполагается провести ретроспективный анализ, то показатель должен быть больше нуля).
После загрузки данных определяются следующие значения:
1) DataFieldCount – число используемых временных рядов;
2) OriginalCount – размерность временных рядов;
3) AbsolutePeriodCount – максимальный размер множества, который можно сформировать из имеющихся данных (определяется как OriginalCount - iBegin - iEnd - Window – Forecast);
4)
NormalizationType – тип нормализации (линейная,
экспоненциальная, автоматическая, без
нормализации) для каждого временного
ряда.
Выявление определяющих факторов
Для
каждой из целевых переменных необходимо
определить те независимые факторы,
на основе которых можно построить
модель, наилучшим образом
1.
Составление первоначального
2.
Эволюционная оптимизация
3.
Пост процессная обработка
Составление первоначального набора независимых переменных
Сначала необходимо выбрать значение показателя FactorCount (5-10), который определяет число независимых переменных в наборе. При увеличении данного показателя:
1) точность модели возрастает;
2) растет «требовательность» к вычислительным ресурсам;
3) затрудняется анализ модели;
4)
возрастает вероятность «
Первичный
набор независимых переменных наиболее
простым образом можно

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