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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


реферат Нейросетевое программирование макроєкономики

Информация:

Тип работы: реферат. Добавлен: 16.10.2012. Сдан: 2011. Страниц: 6. Уникальность по antiplagiat.ru: < 30%

Описание (план):


     МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ  ХАРЬКОВСКИЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ  ИНСТИТУТ КНТЕУ 
 
 

     Кафедра экономики предприятий и экономической  теории 
 
 

     РЕФЕРАТ
     по  дисциплине Макроэкономическое прогнозирование
     на  тему: «Нейросетевое прогнозирование макроэкономики» 
 
 
 
 

           Выполнил:
                                                           студент гр. СЭП-10
                                                                                   Орехов Е.Н.
                                                                                   Проверила:
                                                                                  Камеристая Е.А. 
 
 
 
 
 

     Харьков 2010 

     Введение………………………………………………………………...4
     1. Проблемы и их решение ……………………………………………6
     2. Принципиальные особенности …………………………………….8
     3. Процесс построения комплексной  нейросетевой модели……....11
     Список  источников……………………………………………………16
 

     
     Введение 

     На  современном этапе возрастает необходимость  в системах, которые способны не только выполнять однажды запрограммированную  последовательность действий над заранее  определенными данными, но и способны сами анализировать вновь поступающую  информацию, находить в ней закономерности, производить прогнозирование и  т.д. В этой области приложений самым  лучшим образом зарекомендовали  себя так называемые нейронные сети – самообучающиеся системы, имитирующие  деятельность человеческого мозга. Рассмотрим подробнее структуру  и математическую модель искусственных  нейронных сетей (НС), а также их применение в моделировании и прогнозировании. Техника нейронных вычислений в последние годы начинает все активнее использоваться для анализа, моделирования и прогнозирования в задачах связанных с финансовыми потоками и экономикой на всех уровнях ее хозяйствования. В основном это вызвано появлением более мощных процессоров, доступных для рядового пользователя, а также различными теоретическими и практическими достижениями в данной области.
     Немаловажную  роль в успехе нейронных сетей  сыграло и то, что они обладают многими весьма интересными свойствами, присущими человеческому мозгу: они могут обучаться на основании некоторого опыта, могут обобщать и извлекать полезную информацию из набора предоставляемых данных, который может содержать ненужные данные или информацию с помехами. В то же время при использовании обычных «точных» алгоритмов нахождения ответов на вопросы, отклонения во входной информации вызывают отклонения выходной. Следует отметить, что такая способность нейронных сетей реализуется только благодаря структуре сети, а не с помощью какого-либо дополнительного инструментария.
     Важно то, что, в отличие от человека, который  одновременно может принимать во внимание 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% первой популяции эволюционного  поиска заполнить результатами  расчетов 7-факторных моделей низкого  уровня. Недостающие 3 фактора, в  таком случае, заполняются элементами  с самыми высокими коэффициентов  корреляции.
     a) оптимизировать код, на который  приходится основная нагрузка (переписать  на Ассемблере, минимизировать операции  с большими объемами данных, использовать  пред- и пост- обработку);
     b) использовать ранее полученные  результаты вычислений по близким  проблемам17;
     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. Специальный алгоритм автоматического  контроля настройки нейросетевых  моделей. 
     Рассмотрим  подробнее каждый из пунктов.  

     Использование группы взаимосвязанных показателей 
     Традиционно в нейросетевых решениях присутствует некоторое число входов, на основе значений которых НС вычисляет один параметр, некоторым образом характеризующий  входной вектор. Если использовать данный подход для прогнозирования, то настроенная сеть будет способна предсказывать состояние единственного  показателя лишь на один шаг вперед. Одним из вариантов решения является использование метода «плавающего  временного окна», когда входные  данные для периода времени  t формируются на основе наборов показателей за n предшествующих периодов, а выходной вектор значений представляет собой аналогичный набор за период времени t + 1. Таким образом, вводя во входной вектор значения Xt-2, Xt-1, Xt (при n=3), мы получали на выходе прогнозное значение X`t+1, которое затем можно было опять же подать на входы в комбинации Xt-1, Xt, X't+1 для получения выходного вектора значений Х``t+2. Естественно, что точность прогноза периода t+k тем меньше, чем больше число k, но это присуще любому способу моделирования ситуации. Данный способ моделирования обладает рядом недостатков:
     1) невозможно задать или выделить  факторы, которые оказывают влияние  на конкретный показатель;
     2) нейронная сеть должна обладать  весьма сложной структурой, поскольку  она одновременно (параллельно) вычисляет  прогноз не по одному показателю, а по вектору выходных значений;
     3) использование традиционного критерия  предотвращения состояния "переобученности"  ограниченно из-за сложности модели;
     4) настройка и дообучение подобной  НС требуют значительных затрат  машинного времени. 
     С другой же стороны только такая нейросетевая модель способна в наиболее полной мере реализовать принцип непрерывного взаимовлияния моделируемых процессов. Однако ввиду перечисленных недостатков предпочтительнее разделение нейронной сети на несколько более простых подсетей или субмоделей, каждая из которых будет моделировать отдельный процесс. В таком случае взаимовлияние моделируемых процессов ограничивается лишь входными и выходными слоями нейронной сети, становится дискретным. Можно выделить следующие преимущества данного подхода, обусловившие его использование в программной реализации:
     18 В данном случае имеется в  виду взаимное влияние различных  процессов, представленных в нейронной  сети импульсами, при прохождении  через скрытые слои НС.
     1) нивелируются все недостатки  предыдущего способа моделирования  сложных экономических процессов; 
     2) подобное разделение НС не  только значительно снижает затраты  машинного времени на обучение, но и позволяет настраивать  и оценивать НС, моделирующие  различные показатели, по отдельности; 
     3) появляется возможность без значительного  усложнения модели повысить ее  стабильность путем одновременного  прогнозирования значений показателя  за p последующих периодов и использования в качестве входных значений взвешенного среднего по p элементам.  

     Комбинированный алгоритм выявления определяющих факторов
     Одной из главных задач, которые возникают  при прогнозировании любого показателя, является выявление тех независимых  переменных, на основе которых можно  с определенной долей вероятности  вычислить его состояние в  последующие периоды времени. При  наличии множества возможных  комбинаций геометрически увеличиваются  затраты времени на проверку гипотез  о возможности использования  конкретного набора факторов и выбор самого оптимального. Для ускорения и автоматизации большей части подобного процесса был использован алгоритм, состоящий из следующих элементов:
     1. Составление первоначального набора  независимых переменных.
     2. Эволюционная оптимизация полученного  набора.
     3. Пост процессная обработка списка  и его ручная «доводка». 
     Шаги 1 и 2, занимающие большую часть времени, выполнялись в автоматическом режиме, высвобождая время оператора  для анализа выявленных закономерностей  и творческого поиска новых.
     Более подробно данный алгоритм будет описан ниже. 

     Автоматический  контроль настройки нейросетевых моделей 
     Традиционно оценка качества сети производится на основе максимальной и средней ошибок на обучающей выборке19. Иногда используются также значения максимальной и средней  ошибок на тестовой выборке20.
     19 Указанные параметры характеризуют  степень аппроксимации, в том  числе и к «шуму».
     20 Показатели того, насколько правильно  в модели определены основные  зависимости. 
     Следует заметить, что, если рассматривать процесс  формирования сетевой модели в динамике, то можно выявить весьма интересные тенденции: сначала все 4 показателя ошибок убывают, но затем в некоторой  точке ошибки на тестовой выборке  начинают возрастать, а сеть входит в состояние «переобученности», аппроксимируя «белый шум». Представляется (к сожалению, в литературе пока данный вопрос подробно не освещался), что  одним из способов выбора момента  остановки обучения является продолжение  настройки сети, пока скользящие средние  по значениям ошибок продолжают уменьшаться  или рост ошибок на тестовой выборке  незначителен по сравнению с уменьшением  ошибок на обучающем множестве.
     Зачастую, настройка нейросетевой модели заканчивается  ее «попаданием» в локальный экстремум, из которого механизм шоковых встрясок ее вывести не в состоянии. Но перед  началом обучения весовые коэффициенты НС инициализируются случайными значениями, вследствие этого процесс настройки  каждый раз протекает по-разному. Поэтому необходимо повторить процесс  нахождения весовых коэффициентов  несколько раз, выбрав наиболее оптимальное  решение.
     Как мы видим, контроль настройки нейросетевых моделей можно автоматизировать использованием нескольких простых  правил, что и было сделано в  программной реализации нейросетевого  моделирования макроэкономических процессов.
 

 

     3. Процесс построения комплексной  нейросетевой модели 
     Весь  процесс создания модели можно разделить  на следующие этапы:
     1. Подготовка данных.
     2. Выявления определяющих факторов  для каждого показателя.
     3. Построение нейронных субмоделей.
     4. Объединение субмоделей и прогнозирование. 
     Рассмотрим  подробнее каждый из перечисленных  этапов. 

     Подготовка  данных
     Процесс подготовки временных рядов для  прогнозирования достаточно подробно описан в соответствующей литературе. Остановимся лишь на некоторых особенностях, возникающих вследствие применения математического аппарата нейронных  сетей.
     1. Сглаживание исходных временных  рядов не является обязательным, т.к. НС обладают «способностью»  к абстрагированию. Кроме того, любое сглаживание искажает данные, что не может не отразиться  на качестве модели.
     2. Предпочтительнее представление  данных не в абсолютных показателях,  а в относительных темпах прироста. Это вызвано необходимостью  нормализации данных перед их использованием в обучении НС.21
     21 Кроме того, использование относительного  прироста показателя «через период»  позволяет повысить точность  среднесрочных и долгосрочных  прогнозов, основанных на использовании  НС.
     22 Здесь и далее в тексте жирным  шрифтом выделяются переменные, которые оказывают определяющее  влияние на процесс моделирования.  Если существует оптимальное  значение (или их интервал), определенное  опытным путем и не зависящее  от конкретной модели, то оно  указывается в скобках после  первого объявления имени переменной.
     Подготовленные  данные загружаются в модуль DataPump, который позволяет гибко формировать  различные временные ряды, а также  обучающие выборки на их основе. Перед загрузкой необходимо определить значения следующих показателей:
     1) Window22 – максимальный лаг для независимых переменных;
     2) Forecast – глубина прогноза;
     3) iBegin – количество наблюдений с начала периода, которые исключаются из обработки;
     4) iEnd – количество наблюдений с конца периода, которые исключаются из обработки (если предполагается провести ретроспективный анализ, то показатель должен быть больше нуля).
     После загрузки данных определяются следующие  значения:
     1) DataFieldCount – число используемых временных рядов;
     2) OriginalCount – размерность временных рядов;
     3) AbsolutePeriodCount – максимальный размер множества, который можно сформировать из имеющихся данных (определяется как OriginalCount - iBegin - iEnd - Window – Forecast);
     4) NormalizationType – тип нормализации (линейная, экспоненциальная, автоматическая, без нормализации) для каждого временного ряда.  

     Выявление определяющих факторов
     Для каждой из целевых переменных необходимо определить те независимые факторы, на основе которых можно построить  модель, наилучшим образом прогнозирующую динамику изменений целевой переменной. Как уже отмечалось, в программной  разработке (модуль NeuroEvolution) был использован  алгоритм, состоящий из следующих  элементов:
     1. Составление первоначального набора  независимых переменных.
     2. Эволюционная оптимизация полученного  набора.
     3. Пост процессная обработка списка  и его «доводка». 
     Составление первоначального набора независимых  переменных
     Сначала необходимо выбрать значение показателя FactorCount (5-10), который определяет число независимых переменных в наборе. При увеличении данного показателя:
     1) точность модели возрастает;
     2) растет «требовательность» к  вычислительным ресурсам;
     3) затрудняется анализ модели;
     4) возрастает вероятность «переобучения»  нейронной сетей, т.к. число  нейронов во входном слое равняется  числу независимых переменных.
     Первичный набор независимых переменных наиболее простым образом можно сформировать используя коэффициенты линейной корреляции. Строится прямоугольная матрица  с числом строк равным DataFieldCount * Forecast (все комбинации переменных и количества прогнозных шагов) и числом столбцов DataFieldCount * Window (все комбинации переменных и значений лагов). Затем каждая ячейки заполняется коэффициентом, отражающим степень линейной зависимости между переменными в строках и в столбцах. После этого для каждой из независимых переменных формируется список, содержащий FactorCount зависимых переменных, степень корреляции с которыми наиболее высока.
     Эволюционная  оптимизация набора независимых  переменных
     Как уже упоминалось, одно из преимуществ  нейронных сетей заключается  в их приспособленности к «улавливанию»  нелинейных зависимостей. Однако на предыдущем этапе набор переменных строится на основе коэффициентов линейной зависимости  и поэтому, возможно, не содержит переменные нелинейным образом воздействующие на прогнозируемый показатель или содержит «лишние» переменные. Данный набор  необходимо оптимизировать.
     Оптимизацию набора будем проводить с использованием эволюционного поиска или Генетического  Алгоритма (ГА)23. Оптимизация заключается  в минимизации ошибки нейронной  сети24, обученной на основе определенного  набора независимых переменных. Ход  процесса определяют следующие параметры:
     23 Теория эволюционных алгоритмов  достаточно широко освещена в  соответствующей литературе [36-38].
     24 Вычисляется как сумма ошибок  на тестовом и обучающем множествах.
     1) GAEpochCount (100) – максимальное число шагов ГА для каждой зависимой переменной;
     2) GAChromosomeCount (30) – размерность популяции или количество особей (нейронных сетей, обучаемых на каждом шаге ГА);
     3) UseElita (Да) – использование стратегии элитизма генетического отбора;
     4) Crossover_P (0,7-0,9) - определяет вероятность применения операции кроссовера (кроссинговера, скрещивания) для выбранных из популяции особей;
     5) Inversion_P (0,1) – вероятность применения операции инверсии для выбранных из популяции особей;
     6) Mutation_P
и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


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