Исследование влияния метода прогнозирования на анализ различных типов экономических временных рядов
Исследование возможности применимости различных методов прогнозирования при построении прогнозов экономико-социологических рядов различных типов. Структура искусственного нейрона. Обучение нейронных сетей. Построение прогноза с помощью ARIMA-моделей.
Рубрика | Экономико-математическое моделирование |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 20.10.2012 |
Размер файла | 507,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Явления общественной жизни, изучаемые социально - экономической статистикой, находится в непрерывном изменении и развитии. С течением времени - от месяца к месяцу, от года к году - изменяются численность населения и его состав, объем производимой продукции, уровень производительности труда и т.д. Поэтому одной из важнейших задач статистики является изучение изменения общественных явлений во времени - процесса их развития, их динамики. Эту задачу статистика решает путем построения и анализа рядов динамики (временных рядов).
При изучении динамики общественных явлений статистика решает ряд задач, чтобы дать числовую характеристику особенностей и закономерностей их развития на отдельных этапах:
Выявляет и численно характеризует основные тенденции развития явлений на отдельных этапах;
Дает сравнительную числовую характеристику развития данного явления в разных регионах или на разных этапах;
Выявляет факторы, обуславливающие изменение изучаемого явления во времени;
Делает прогнозы развития явления в будущем.
Настоящая работа посвящена эконометрическому анализу временных рядов макроэкономических и социальных показателей, характеризующих ситуацию в стране.
В работе предполагается исследовать глобальные статистические свойства (стационарность, наличие детерминированного и / или стохастического тренда и др.) некоторых экономических и социальных рядов динамики и отработать инструментарий исследования динамических рядов с точки зрения изучения их структурных внутренних особенностей и построения прогностических моделей соответствующих процессов.
1. Постановка задачи
Целью данной работы является исследование возможности применимости различных методов прогнозирования (Arima - модели, нейронные сети) при построении прогнозов экономико-социологических рядов различных типов.
2. Методы анализа и прогноза временных рядов
Далеко не всегда значения временного ряда формируются только под воздействием каких-либо факторов. Нередко бывает, что развитие того или иного процесса обусловлено его внутренними закономерностями, а отклонения от детерминированного процесса вызваны ошибками измерений или случайными флуктуациями. Особый интерес представляют процессы, находящиеся в «переходном» режиме, т.е. процессы, являющиеся по существу «стационарными», но на исследуемом промежутке времени проявляющие свойства нестационарного временного ряда, что объясняется далекими от стационарного режима начальными условиями. В ситуациях, когда временной ряд формируется под воздействием некоторого набора случайных и неслучайных факторов, анализ отдельных временных рядов, как результирующих, так и факторных, имеет огромное значение. Это необходимо для правильной идентификации моделей, которые строятся по информации об исследуемых процессах (векторные авторегрессии, модели коррекции ошибок, динамические модели с распределенными запаздываниями и т.п.).
При анализе временных рядов основное внимание уделяется исследованию, описанию и / или моделированию их структуры. Цель таких исследований, как правило, шире просто моделирования исследования соответствующих процессов. Построенная модель обычно используется для экстраполяции или прогнозирования временного ряда, и тогда качество прогноза может служить полезным критерием при выборе среди нескольких альтернативных моделей. Построение хороших моделей ряда необходимо и для других приложений, таких, как корректировка сезонных эффектов и сглаживание. Наконец, построенные модели могут использоваться для статистического моделирования длинных рядов наблюдений при исследовании больших систем, для которых временной ряд рассматривается как входная информация.
В связи с наличием ошибок измерения экономических показателей, наличием случайных флуктуаций, свойственных наблюдаемым системам, при исследовании временных рядов широко применяется вероятностно-статистический подход. В рамках такого подхода наблюдаемый временной ряд понимается как реализация некоторого случайного процесса. При этом неявно предполагается, что временной ряд имеет какую-то структуру, отличающую его от последовательности независимых случайных величин, так что наблюдения не являются набором совершенно независимых числовых значений. (Некоторые элементы структуры ряда иногда можно выявить уже на основании простого визуального анализа графика ряда. Это относится, например, к таким компонентам ряда, как тренд и циклы.) Обычно предполагается, что структуру ряда можно описать моделью, содержащей небольшое число параметров по сравнению с количеством наблюдений, это практически важно при использовании модели для прогнозирования. Примерами таких моделей служат модели авторегрессии, скользящего среднего и их комбинации - модели AR(p), MA(q), ARMA (p, q), ARIMA (p, k, q).
Основные задачи анализа временных рядов
Принципиальные отличия временного ряда от последовательности наблюдений, образующих случайную выборку, заключаются в следующем:
во-первых, в отличие от элементов случайной выборки члены временного ряда не являются независимыми;
во-вторых, члены временного ряда не обязательно являются одинаково распределенными, так что P{xt < x} P{xt < x} при t t.
Это означает, что свойства и правила статистического анализа случайной выборки нельзя распространять на временные ряды. С другой стороны, взаимозависимость членов временного ряда создает свою специфическую базу для построения прогнозных значений анализируемого показателя по наблюденным значениям.
Генезис наблюдений, образующих временной ряд (механизм порождения данных). Речь идет о структуре и классификации основных факторов, под воздействием которых формируются значения временного ряда. Как правило, выделяются 4 типа таких факторов.
Долговременные, формирующие общую (в длительной перспективе) тенденцию в изменении анализируемого признака xt. Обычно эта тенденция описывается с помощью той или иной неслучайной функции fтр(t) (аргументом которой является время), как правило, монотонной. Эту функцию называют функцией тренда или просто - трендом.
Сезонные, формирующие периодически повторяющиеся в определенное время года колебания анализируемого признака. Поскольку эта функция (е) должна быть периодической (с периодами, кратными «сезонам»), в ее аналитическом выражении участвуют гармоники (тригонометрические функции), периодичность которых, как правило, обусловлена содержательной сущностью задачи.
Циклические (конъюнктурные), формирующие изменения анализируемого признака, обусловленные действием долговременных циклов экономической или демографической природы (волны Кондратьева, демографические «ямы» и т.п.) Результат действия циклических факторов будем обозначать с помощью неслучайной функции (t).
Случайные (нерегулярные), не поддающиеся учету и регистрации. Их воздействие на формирование значений временного ряда как раз и обусловливает стохастическую природу элементов xt, а, следовательно, и необходимость интерпретации x1,…, xT как наблюдений, произведенных над случайными величинами 1,…, Т. Будем обозначать результат воздействия случайных факторов с помощью случайных величин («остатков», «ошибок») t.
Конечно, вовсе не обязательно, чтобы в процессе формирования значений всякого временного ряда участвовали одновременно факторы всех четырех типов. Выводы о том, участвуют или нет факторы данного типа в формировании значений конкретного ряда, могут базироваться как на анализе содержательной сущности задачи, так и на специальном статистическом анализе исследуемого временного ряда. Однако во всех случаях предполагается непременное участие случайных факторов. Таким образом, в общем виде модель формирования данных (при аддитивной структурной схеме влияния факторов) выглядит как:
xt = 1f(t) + 2(t) +3(t) + t. (1.3.1)
где i = 1, если факторы i-го типа участвуют в формировании значений ряда и i = 0 - в противном случае.
Базисная цель статистического анализа временного ряда заключается в том, чтобы по имеющейся траектории этого ряда:
определить, какие из неслучайных функций присутствуют в разложении (1.3.1), т.е. определить значения индикаторов i;
построить «хорошие» оценки для тех неслучайных функций, которые присутствуют в разложении (1.3.1);
подобрать модель, адекватно описывающую поведение случайных остатков t, и статистически оценить параметры этой модели.
Успешное решение перечисленных задач, обусловленных базовой целью статистического анализа временного ряда, является основой для достижения конечных прикладных целей исследования и, в первую очередь, для решения задачи кратко- и среднесрочного прогноза значений временного ряда.
2.1 Методы статистического прогнозирования (ARIMA (p, k, q) - модель)
Эта модель предложена Дж. Боксом и Г. Дженкинсом [Бокс, Дженкинс (1974)]. Она предназначена для описания нестационарных временных рядов xt, обладающих следующими свойствами:
1. Анализируемый временной ряд аддитивно включает в себя составляющую f(t), имеющую вид алгебраического полинома (от параметра времени t) некоторой степени k > 1; при этом коэффициенты этого полинома могут быть как стохастической, так и нестохастической природы;
2. Ряд получившийся из xt после применения к нему k-кратной процедуры метода последовательных разностей, может быть описан моделью ARMA (p, q).
Это означает, что ARIMA (p, k, p) - модель анализируемого процесса xt, может быть записана в виде
где
Заметим, что классу моделей ARIMA принадлежит и простейшая модель стохастического тренда - процесс случайного блуждания (или просто случайное блуждание). Случайное блуждание определяется аналогично процессу авторегрессии первого порядка (П2.14), но только у случайного блуждания = 1, так что t = t1 + t.
Ряд первых разностей случайного блуждания t представляет собой белый шум, т.е. процесс ARMA (0, 0). Поэтому само случайное блуждание входит в класс моделей ARIMA как модель ARIMA (0, 1, 0).
Идентификация ARIMA-моделей. В первую очередь, следует подобрать порядок k модели. Первый тип критерия подбора основан на отслеживании поведения величины (см. (П2.12)) в зависимости от k: в качестве верхней оценки для порядка k определяется то значение k0, начиная с которого тенденция к убыванию гасится и само значение относительно стабилизируется. Второй тип критерия подбора порядка k ARIMA-модели основан на анализе поведения автокорреляционных функций процессов xt, 2xt,…. последовательные преобразования анализируемого процесса xt с помощью операторов , 2,… нацелены на устранение его нестационарности. Поэтому до тех пор, пока l < k процессы lxt будут оставаться нестационарными, что будет выражаться в отсутствии быстрого спада в поведении их выборочной автокорреляционной функции. Поэтому предполагается, что необходимая для получения стационарности степень k разности достигнута, если автокорреляционная функция ряда быстро затухает.
После подбора порядка k анализируется уже не сам ряд xt, а его k-е разности. Идентификация этого ряда сводится к идентификации ARMA (p, q) моделей, процедуры идентификации которых описаны в П2.4.3.
Коинтеграция временных рядов в регрессионном анализе. В регрессионном анализе одновременно рассматривается несколько временных рядов. Если xt интегрированный временной ряд порядка k1, приводящийся к стационарному ряду переходом к разностям порядка k1, а yt интегрированный временной ряд порядка k2 > k1, остационариваемый переходом к разностям порядка k2, то при любом значении параметра случайный остаток t = yt xt будет интегрированным временным рядом порядка k2. Если же k1 = k2 = k, то константа иногда может быть подобрана так, что t будет стационарным (интегрированным порядка 0) с нулевым средним. При этом говорят, что ряды xt и yt коинтегрированы, а вектор (1, ) называется коинтегрирующим. При регрессионном анализе интегрированных рядов xt и yt отсутствие коинтегрированности этих рядов приводит к фиктивной (паразитной) регрессии.
Проверка на коинтегрированность пары интегрированных рядов первого порядка может производиться, например, по следующей схеме: 1) рассматривается модель yt = xt + t и строится оценка параметра ; 2) ряд анализируется на стационарность в рамках одной из моделей ARMA (p, q); например, в рамках AR(1) - модели проверяется гипотеза || < 1 в представлении .
Прогнозирование на базе ARIMA-моделей
ARIMA-модели охватывают достаточно широкий спектр временных рядов, а небольшие модификации этих моделей позволяют весьма точно описывать и временные ряды с сезонностью. Начнем обсуждение проблемы прогнозирования временных рядов с методов, основанных на использовании ARIMA-моделей. Мы говорим об ARIMA-моделях, имея в виду, что сюда входят как частные случаи AR-, MA- и ARMA-модели. Кроме того, будем исходить из того, что уже осуществлен подбор подходящей модели для анализируемого временного ряда, включая идентификацию этой модели. Поэтому в дальнейшем предполагается, что все параметры модели уже оценены.
Будем прогнозировать неизвестное значение xt+l, l 1 полагая, что xt последнее по времени наблюдение анализируемого временного ряда, имеющееся в нашем распоряжении. Обозначим такой прогноз .
Заметим, что хотя и обозначают прогноз одного и того же неизвестного значения xt+l, но вычисляются они по-разному, т.к. являются решениями разных задач.
Ряд x, анализируемый в рамках ARIMA (p, k, q) - модели, представим (при любом > k) в виде
где L оператор сдвига функции времени на один временной такт назад.
Из соотношения можно выразить x для любого = t q,…, t 1, t, t + 1,…, t + + l. Получаем
Правые части этих соотношений представляют собой линейные комбинации p + k предшествующих (по отношению к левой части) значений анализируемого процесса x, дополненные линейными комбинациями текущего и q предшествующих значений случайных остатков . Причем коэффициенты, с помощью которых эти линейные комбинации подсчитываются, известны, т.к. выражаются в терминах уже оцененных параметров модели.
Этот факт и дает возможность использовать соотношения для построения прогнозных значений анализируемого временного ряда на l тактов времени вперед. Теоретическую базу такого подхода к прогнозированию обеспечивает известный результат, в соответствии с которым наилучшим (в смысле среднеквадратической ошибки) линейным прогнозом в момент времени t с упреждением l является условное математическое ожидание случайной величины xt+l, вычисленное при условии, что все значения x до момента времени t. Этот результат является частным случаем общей теории прогнозирования (см. [Wold (1932)], [Kolmogoroff (1939)], [Wiener (1949)]).
Условное математическое ожидание E(xt+l | x1,…, xt) получается применением операции усреднения к обеим частям при = t + l с учетом следующих соотношений:
E(xtj | x1,…, xt) = xtj при всех j = 0, 1, 2,…, t 1;
E(xt+j | x1,…, xt) = при всех j = 1, 2,…;
E(xt+j | x1,…, xt) = 0 при всех j = 1, 2,…;
E(xtj | x1,…, xt) = при всех j = 0, 1, 2,…, t 1.
Таким образом, определяется следующая процедура построения прогноза по известной до момента траектории временного ряда:
1) по формулам вычисляются ретроспективные прогнозы , ,…, по предыдущим значениям временного ряда; при этом при вычислении начальных прогнозных значений для xtq+m (m = 0, 1,…) по формулам вместо условных средних E(tq+mj | x1,…, xtq+m), которые в общем случае следовало бы вычислять по формулам, подставляются их безусловные значения, равные нулю;
2) используя формулы для > t и правила подсчитываются условные математические ожидания для вычисления прогнозных значений.
Описанная процедура выглядит достаточно сложной. Однако при реалистичных значениях параметров p, q и k эта процедура в действительности оказывается весьма простой.
Мы не касались здесь важных вопросов оценки точности получаемых прогнозов. Теоретические аспекты этой проблемы рассмотрены, например, в [Бокс, Дженкинс (1974)].
2.2 Нейронные сети
Под нейронными сетями (НС) подразумеваются вычислительные структуры, которые моделируют простые биологические процессы, обычно ассоциируемые с процессами человеческого мозга. Адаптируемые и обучаемые, они представляют собой распараллеленные системы, способные к обучению путем анализа положительных и отрицательных воздействий. Элементарным преобразователем в данных сетях является искусственный нейрон или просто нейрон, названный так по аналогии с биологическим прототипом.
К настоящему времени предложено и изучено большое количество моделей нейроподобных элементов и нейронных сетей,
Представим некоторые проблемы, решаемые в контексте НС и представляющие интерес для пользователей.
Классификация образов. Задача состоит в указании принадлежности входного образа (например, речевого сигнала или рукописного символа), представленного вектором признаков, одному или нескольким предварительно определенным классам. К известным приложениям относятся распознавание букв, распознавание речи, классификация сигнала электрокардиограммы, классификация клеток крови.
Кластеризация / категоризация. При решении задачи кластеризации, которая известна также как классификация образов «без учителя», отсутствует обучающая выборка с метками классов. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер.
Аппроксимация функций. Предположим, что имеется обучающая выборка ((x1, y1), (x2, y2),…, (xn, yn)) (пары данных вход-выход), которая генерируется неизвестной функцией F(x), искаженной шумом. Задача аппроксимации состоит в нахождении оценки неизвестной функции F(x). Аппроксимация функций необходима при решении многочисленных инженерных и научных задач моделирования.
Предсказание / прогноз. Пусть заданы n дискретных отсчетов {y(t1), y(t2),…, y(tk)} в последовательные моменты времени t1, t2,…, tk. Задача аппроксимации состоит в предсказании значения y(tk+1) в некоторый будущий момент времени tk+1. Предсказание / прогноз имеет значительное влияние на принятие решений в бизнесе, науки и технике. Предсказание цен на фондовой бирже и прогноз погоды являются типичными приложениями техники предсказания / прогноза.
Оптимизация. Многочисленные проблемы в математике, статистике, технике, науке, медицине и экономике могут рассматриваться как проблемы оптимизации. Задачей алгоритма оптимизации является нахождение такого решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую функцию. Известная задача коммивояжера является классическим примером задачи оптимизации.
Память, адресуемая по содержанию. В модели вычислений фон Неймана обращение к памяти доступно только посредством адреса, который не зависит от содержания памяти. Более того, если допущена ошибка в вычислении адреса, то может быть найдена совершенно иная информация. Ассоциативная память, или память, адресуемая по содержанию, доступна по указанию заданного содержания. Содержимое памяти может быть вызвано даже по частичному входу или искаженному содержанию. Ассоциативная память чрезвычайно желательна при создании мультимедийных информационных баз данных.
Управление. Рассмотрим динамическую систему, заданную совокупностью {u(t), y(t)}, где u(t) является входным управляющим воздействием, а y(t) - выходом системы в момент времени t. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью. Примером является оптимальное управление двигателем.
Структура и свойства искусственного нейрона.
Нейрон - это составная часть нейронной сети. На рисунке показана его структура.
В состав нейрона входят умножители (синапсы), сумматор и нелинейный преобразователь. Синапсы осуществляют связь между нейронами и умножают входной сигнал на число, характеризующее силу связи, - вес синапса. Сумматор выполняет сложение сигналов, поступающих по синаптическим связям от других нейронов, и внешних входных сигналов. Нелинейный преобразователь реализует нелинейную функцию одного аргумента - выхода сумматора. Эта функция называется «функцией активации» или «передаточная функция» нейрона.
Нейрон в целом реализует скалярную функцию векторного аргумента. Математическая модель нейрона описывается соотношениями
где wi - вес синапса (i = 1,…, n); b - значение смещения; s - результат суммирования; xi - компонента входного вектора (входной сигнал) (i = 1,…, n); y - выходной сигнал нейрона; n - число входов нейрона; f - нелинейное преобразование (функция активации или передаточная функция).
В общем случае входной сигнал, весовые коэффициенты и значения смещения могут принимать действительные значения. Выход (y) определяется видом функции активации и может быть как действительным, так и целым. Во многих практических задачах входы, веса и смещения могут принимать лишь некоторые фиксированные значения.
Синаптические связи с положительными весами называют возбуждающими, с отрицательными весами - тормозящими.
Таким образом, нейрон полностью описывается своими весами wi и передаточной функцией f(s). Получив набор чисел (вектор) xi в качестве входов, нейрон выдает некоторое число y на выходе.
Возвращаясь к общим чертам, присущим всем НС, отметим принцип параллельной обработки сигналов, который достигается путем объединения большого числа нейронов в так называемые слои и соединения определенным образом нейронов различных слоев, а также, в некоторых конфигурациях, и нейронов одного слоя между собой, причем обработка взаимодействия всех нейронов ведется послойно.
Классификация нейронных сетей и их свойства.
Как отмечалось, искусственная нейронная сеть (ИНС, нейросеть) - это набор нейронов, соединенных между собой. Как правило, передаточные (активационные) функции всех нейронов в сети фиксированы, а веса являются параметрами сети и могут изменяться. Некоторые входы нейронов помечены как внешние входы сети, а некоторые выходы - как внешние выходы сети. Подавая любые числа на входы сети, мы получаем какой-то набор чисел не выходах сети. Таким образом, работа нейросети состоит в преобразовании входного вектора X в выходной вектор Y, причем это преобразование задается весами сети.
Практически любую задачу можно свести к задаче, решаемой нейросетью.
Как строить нейросеть? Этот вопрос решается в два этапа:
1. Выбор типа (архитектуры) сети.
2. Подбор весов (обучение) сети.
На первом этапе следует выбрать следующее:
· какие нейроны мы хотим использовать (число входов, передаточные функции);
· каким образом следует соединить их между собой;
· что взять в качестве входов и выходов сети.
Существует несколько десятков различных нейросетевых архитектур, причем эффективность многих из них доказана математически. Наиболее популярные и изученные архитектуры - это многослойный персептрон, нейросеть с общей регрессией, сети Кохонена и другие.
На втором этапе нам следует «обучить» выбранную сеть, т.е. подобрать такие значения ее весов, чтобы сеть работала нужным образом. В используемых на практике нейросетях количество весов может составлять несколько десятков тысяч, поэтому обучение - действительно сложный процесс. Для многих архитектур разработаны специальные алгоритмы обучения, которые позволяют настроить веса сети определенным образом.
В зависимости от функций, выполняемых нейронами в сети, можно выделить три их типа:
· входные нейроны - это нейроны, на которые подается входной вектор, кодирующий входное воздействие или образ внешней среды; в них обычно не осуществляется вычислительных процедур, информация передается с входа на выход нейрона путем изменения его активации;
· выходные нейроны - это нейроны, выходные значения которых представляют выход сети;
· промежуточные нейроны - это нейроны, составляющие основу искусственных нейронных сетей.
Многие задачи: распознавание образов (зрительных, речевых и т.д.), выполнение функциональных преобразований при обработке сигналов, управления, прогнозирования, идентификации сложных систем и т.д., сводятся к следующей математической постановке. Необходимо построить отображение X>Y такое, чтобы на каждый возможный входной сигнал X формировался правильный выходной сигнал Y. Отображение задается конечным набором пар (<вход>,<известный выход>). Число таких пар (обучающих примеров) существенно меньше общего числа возможных сочетаний значений входных и выходных сигналов. Совокупность всех обучающих примеров носит название обучающей выборки.
В задачах прогнозирования в качестве входных сигналов используются временные ряды, представляющие значения контролируемых переменных на некотором интервале времени. Выходной сигнал - множество переменных, которое является подмножеством переменных входного сигнала.
Обучение нейронных сетей
Обучить нейросеть - значит, сообщить ей, чего мы от нее добиваемся. У нас имеется некоторая база данных.
После многократного предъявления примеров веса сети стабилизируются, причем сеть дает правильные ответы на все (или почти все) примеры из баз данных. В таком случае говорят, что «сеть выучила все примеры», «сеть обучена», или «сеть натренирована». В программных реализациях можно видеть, что в процессе обучения функция ошибки (например, сумма квадратов ошибок по всем выходам) постепенно уменьшается. Когда функция ошибки достигает нуля или приемлемого малого уровня, тренировку останавливают, а полученную сеть считают натренированной и готовой к применению на новых данных.
Вся информация, которую сеть имеет о задаче, содержится в наборе примеров. Поэтому качество обучения сети напрямую зависит от количества примеров в обучающей выборке, а также от того, насколько полно эти примеры описывают данную задачу. Так, например, бессмысленно использовать сеть для предсказания финансового кризиса, если в обучающей выборке кризисов не представлено. Считается, что для полноценной тренировки требуется хотя бы несколько десятков (а лучше сотен) примеров.
Математически процесс обучения можно описать следующим образом.
В процессе функционирования нейронная сеть формирует выходной сигнал Y в соответствии с входным сигналом X, реализуя некоторую функцию Y = G(X).
Пусть решением некоторой задачи является функция Y = F(X), заданная парами входных - выходных данных (X1, Y1), (X2, Y2),…, (Xn, Yn), для которых Yk = F(Xk) (k = 1,2,…., N).
Обучение состоит в поиске (синтезе) функции G, близкой к F в смысле некоторой функции ошибки E.
Применение нейросети
После того как сеть обучена, мы можем применять её для решения различных задач.
Задачи прогнозирования особенно важны для практики, в частности, для финансовых приложений.
Назначение пакета BrainMaker - решение задач, для которых пока не найдены формальные методы и алгоритмы, а входные данные неполны, зашумлены и противоречивы. К таким задачам относятся биржевые и финансовые предсказания, моделирование кризисных ситуаций, распознавание образов и многие другие.
BrainMaker решает поставленную задачу, используя математический аппарат теории нейронных сетей (более конкретно - сеть Хопфилда с алгоритмом обучения back propagation). В оперативной памяти строится модель многослойной нейронной сети, которая обладает свойством обучаться на множестве примеров, оптимизируя свою внутреннюю структуру. При правильном выборе структуры сети и обучении на достаточно большом количестве примеров можно добиться достоверности результатов в 97% и даже выше.
Программный пакет BrainMaker фирмы «California Scientific Software» (CSS) один из представителей программ нейросимуляторов специально создавался для решения задач прогнозирования при работе с финансовыми данными.
BrainMaker
Пакет BrainMaker предназначен для создания, тренировки, тестирования и использования нейронных сетей. Работа BrainMaker основана на использовании обучающего алгоритма «обратного распространения ошибки» (backpropagation).
Как происходит работа BrainMaker? Прежде всего его нужно обучить. Например, Вы задаете BrainMaker вопрос, он предлагает ответ, затем Вы показываете правильный ответ. Если ответы совпадают, позиции BrainMaker укреплены. Если нет, он изменяет свои параметры, пытаясь получить правильный ответ при повторе вопроса. Этот процесс, автоматизирован и выполняется достаточно быстро. После большого количества повторений вопросов с ответами, BrainMaker находит ассоциацию между вопросами и ответами, если она конечно существует.
Обучив нейронную сеть, Вы можете задавать ей вопросы и получать ответы, прогнозы и т.д. Чтобы использовать BrainMaker, не обязательно в тонкостях разбираться во всех проблемах, связанных с теорией, обучением и тестированием нейронных сетей, хотя какие-то представления об этом иметь желательно. Одной из главных задач пользователя при построении сети является подготовка данных для BrainMaker. Для этого BrainMaker имеет специальную утилиту, которая называется NetMaker. В этой главе отражены все этапы, необходимые для подготовки данных и получения ответа от BrainMaker.
3. Проведение анализа
прогнозирование нейрон сеть модель
Приведем несколько примеров и рассмотрим построение прогноза с помощью ARIMA-моделей и с использованием нейронных сетей. Затем сравним полученные результаты.
3.1 Описание исходных данных
Среднедушевые денежные доходы населения (руб.)
1993 |
1994 |
1995 |
1996 |
1997 |
1998 |
1999 |
2000 |
2001 |
||
1 |
10 |
94 |
312 |
623 |
817 |
810 |
1166 |
1578 |
2139 |
|
2 |
14 |
117 |
340 |
666 |
832 |
850 |
1306 |
1887 |
2465 |
|
3 |
18 |
139 |
404 |
715 |
867 |
871 |
1394 |
2068 |
2747 |
|
4 |
21 |
161 |
442 |
748 |
951 |
938 |
1554 |
2115 |
2882 |
|
5 |
24 |
159 |
482 |
701 |
884 |
853 |
1503 |
2079 |
2741 |
|
6 |
34 |
187 |
533 |
765 |
980 |
877 |
1601 |
2286 |
3125 |
|
7 |
40 |
203 |
547 |
770 |
960 |
905 |
1619 |
2250 |
3101 |
|
8 |
50 |
225 |
575 |
775 |
940 |
902 |
1711 |
2347 |
3192 |
|
9 |
60 |
242 |
605 |
756 |
917 |
1017 |
1719 |
2403 |
3165 |
|
10 |
67 |
266 |
597 |
842 |
943 |
1209 |
1821 |
2392 |
3327 |
|
11 |
81 |
289 |
628 |
832 |
930 |
1213 |
1880 |
2560 |
3395 |
|
12 |
120 |
395 |
717 |
1037 |
1272 |
1682 |
2597 |
3337 |
4347 |
Оборот розничной торговли в текущих ценах (млрд. руб.)
1995 |
1996 |
1997 |
1998 |
1999 |
2000 |
2001 |
2002 |
||
1 |
27,3 |
57,5 |
67,9 |
73,8 |
119,7 |
167 |
212,3 |
270,1 |
|
2 |
28,1 |
53,3 |
63,4 |
67,9 |
120,9 |
164,9 |
214,3 |
267,1 |
|
3 |
32,9 |
57,1 |
66,9 |
70,6 |
132 |
176,6 |
232,1 |
288,2 |
|
4 |
33,4 |
58,6 |
68,4 |
70,9 |
133,1 |
174,8 |
235,4 |
292,7 |
|
5 |
39,4 |
58,2 |
67,3 |
70,7 |
136,5 |
176,6 |
241,6 |
291 |
|
6 |
41,7 |
58,9 |
67,1 |
70 |
139,8 |
181,6 |
245,4 |
297,8 |
|
7 |
43,7 |
60,1 |
68 |
71,6 |
143,3 |
186,5 |
248 |
310,1 |
|
8 |
47,5 |
61,2 |
70,5 |
81,1 |
154,9 |
198,9 |
263,6 |
324,3 |
|
9 |
49,4 |
62,5 |
73,4 |
106,5 |
158,5 |
201,6 |
263,9 |
326,1 |
|
10 |
52,7 |
63,1 |
73,7 |
103,8 |
164,4 |
209,8 |
275,1 |
339,4 |
|
11 |
55,1 |
64 |
75,2 |
110 |
167,4 |
215,5 |
281,1 |
346,1 |
|
12 |
60,7 |
72,6 |
88,1 |
136,5 |
196,7 |
252,9 |
327,1 |
400,7 |
Коммерческий грузооборот транспорта (млрд. т.-км.)
1995 |
1996 |
1997 |
1998 |
1999 |
2000 |
2001 |
2002 |
||
1 |
295,2 |
287,7 |
283 |
278,6 |
277,7 |
296,6 |
301 |
311,4 |
|
2 |
270,4 |
271,8 |
266,8 |
251,6 |
252,1 |
286,1 |
280,7 |
297,9 |
|
3 |
317 |
289,4 |
288,5 |
283,4 |
291,4 |
303,4 |
311 |
328 |
|
4 |
281,8 |
279,2 |
273 |
265,8 |
277,1 |
287,5 |
299,1 |
315,6 |
|
5 |
312,6 |
284,3 |
267,4 |
258,5 |
282,1 |
293,4 |
307,7 |
323,5 |
|
6 |
293,4 |
271,6 |
255,8 |
255,8 |
271,9 |
286,2 |
297,3 |
312 |
|
7 |
289,1 |
275 |
260,1 |
258,2 |
276,2 |
292 |
299,4 |
321,3 |
|
8 |
292,6 |
272 |
256,9 |
258,4 |
281,2 |
290 |
302,5 |
321,7 |
|
9 |
282,9 |
272,2 |
261,2 |
247,5 |
275,2 |
285,8 |
299,9 |
322 |
|
10 |
304,1 |
291,7 |
274,4 |
275,9 |
292,8 |
307,8 |
326,9 |
341,7 |
|
11 |
288,7 |
282,3 |
279,1 |
271,3 |
288,9 |
302,1 |
313,7 |
331,2 |
|
12 |
291,3 |
292,8 |
289,4 |
280,9 |
305,6 |
311 |
311,3 |
341,7 |
3.2 Моделирование с использованием ARIMA-модели
Применяя к данным примерам пакет STATISTIKA получаем следующие результаты:
1) для первого примера
Input: VAR1 (new.sta) |
|||||||
Transformations: D(1) |
|||||||
Model: (1,1,1) (0,0,1) Seasonal lag: 12 MS Residual=634,40 |
|||||||
Asympt. |
Asympt. |
Lower |
Upper |
||||
Param. |
Std. Err. |
t(164) |
p |
95% Conf |
95% Conf |
||
p(1) |
-0,39428 |
0,268377 |
-1,46913 |
0,143714 |
-0,9242 |
0,13564 |
|
q(1) |
-0,20212 |
0,283318 |
-0,71341 |
0,476603 |
-0,76155 |
0,357298 |
|
Qs(1) |
-0,37611 |
0,062783 |
-5,99064 |
1,28E-08 |
-0,50008 |
-0,25214 |
Полученная модель: xt = -0.39xt-1 + дt - 0.2дt-1
Построим прогноз на 10 месяцев.
Forecasts; Model: (1,1,1) (0,0,1) Seasonal lag: 12 (new.sta) |
|||||
Input: VAR1 |
|||||
Start of origin: 1 End of origin: 168 |
|||||
Lower |
Upper |
||||
Forecast |
90,0000% |
90,0000% |
Std. Err. |
||
169 |
145,5454 |
103,8805 |
187,2103 |
25,18739 |
|
170 |
132,9356 |
79,37363 |
186,4975 |
32,37939 |
|
171 |
144,6659 |
79,67158 |
209,6601 |
39,29051 |
|
172 |
139,0125 |
64,92107 |
213,1039 |
44,78994 |
|
173 |
149,0053 |
66,60399 |
231,4066 |
49,81345 |
|
174 |
157,5143 |
67,64495 |
247,3836 |
54,32803 |
|
175 |
170,9134 |
74,12242 |
267,7043 |
58,51233 |
|
176 |
189,0395 |
85,80035 |
292,2787 |
62,41041 |
|
177 |
164,713 |
55,40146 |
274,0246 |
66,0813 |
|
178 |
165,6708 |
50,60839 |
280,7333 |
69,55785 |
Ошибку прогноза считаем по формуле среднеквадратичного отклонения:
Для нашего примера у = 28,133.
2) Квартальные данные о производстве машин в Австралии.
Input: VAR1 (new.sta) |
|||||||
Transformations: D(1) |
|||||||
Model: (1,1,1) (1,0,0) Seasonal lag: 4 MS Residual=1091E5 |
|||||||
Asympt. |
Asympt. |
Lower |
Upper |
||||
Param. |
Std. Err. |
t(115) |
p |
95% Conf |
95% Conf |
||
p(1) |
0,60409 |
0,085201 |
7,090141 |
1,16E-10 |
0,435322 |
0,772857 |
|
q(1) |
0,964572 |
0,025949 |
37,17125 |
0 |
0,913172 |
1,015973 |
|
Ps(1) |
0,741878 |
0,074463 |
9,963053 |
3,12E-17 |
0,594382 |
0,889375 |
Модель ARIMA (1,1,1): xt = 0,6xt-1 + дt + 0.96дt-1
Forecasts; Model: (1,1,1) (1,0,0) Seasonal lag: 4 (new.sta) |
|||||
Input: VAR1 |
|||||
Start of origin: 1 End of origin: 119 |
|||||
Lower |
Upper |
||||
Forecast |
90,0000% |
90,0000% |
Std. Err. |
||
120 |
84230,49 |
66908,09 |
101552,9 |
10446,43 |
|
121 |
83810,3 |
63248,51 |
104372,1 |
12399,98 |
|
122 |
73791,12 |
51970 |
95612,25 |
13159,43 |
|
123 |
61413,87 |
39021,17 |
83806,56 |
13504,12 |
|
124 |
81228,73 |
53412,64 |
109044,8 |
16774,75 |
|
125 |
81629,38 |
51703,47 |
111555,3 |
18047,09 |
|
126 |
74626,71 |
43716,93 |
105536,5 |
18640,43 |
|
127 |
65704,26 |
34265,57 |
97142,95 |
18959,39 |
|
128 |
80561,52 |
46117,2 |
115005,8 |
20771,97 |
|
129 |
80953,61 |
45112,73 |
116794,5 |
21614,18 |
Ошибка прогноза: у = 7539,175
3) Среднедушевые денежные доходы населения
Input: VAR1 (new.sta) |
|||||||
Transformations: D(1) |
|||||||
Model: (1,1,1) (0,0,1) Seasonal lag: 12 MS Residual=17589, |
|||||||
Asympt. |
Asympt. |
Lower |
Upper |
||||
Param. |
Std. Err. |
t(103) |
p |
95% Conf |
95% Conf |
||
p(1) |
-0,22572 |
0,17923 |
-1,25936 |
0,210746 |
-0,58118 |
0,129745 |
|
q(1) |
0,206969 |
0,175342 |
1,180376 |
0,240569 |
-0,14078 |
0,554718 |
|
Qs(1) |
-0,88516 |
0,07509 |
-11,788 |
8,14E-21 |
-1,03408 |
-0,73624 |
Модель ARIMA (1,1,1): xt = -0,226xt-1 + дt + 0.207дt-1
Forecasts; Model: (1,1,1) (0,0,1) Seasonal lag: 12 (new.sta) |
|||||
Input: VAR1 |
|||||
Start of origin: 1 End of origin: 107 |
|||||
Lower |
Upper |
||||
Forecast |
90,0000% |
90,0000% |
Std. Err. |
||
108 |
3743,551 |
3523,423 |
3963,68 |
132,6248 |
|
109 |
3305,55 |
3052,465 |
3558,635 |
152,4809 |
|
110 |
3417,022 |
3124,654 |
3709,391 |
176,1487 |
|
111 |
3588,608 |
3263,786 |
3913,431 |
195,7018 |
|
112 |
3779,796 |
3425,041 |
4134,551 |
213,7358 |
|
113 |
3704,983 |
3322,724 |
4087,243 |
230,3068 |
|
114 |
3971,811 |
3563,879 |
4379,744 |
245,7747 |
|
115 |
3962,728 |
3530,649 |
4394,807 |
260,3226 |
|
116 |
4026,617 |
3571,67 |
4481,563 |
274,1001 |
|
117 |
3900,135 |
3423,417 |
4376,853 |
287,2173 |
Ошибка прогноза: у = 253,59.
4) Оборот розничной торговли
Input: VAR1 (new.sta) |
|||||||
Transformations: 2*D(1) |
|||||||
Model: (1,2,1) (0,0,1) Seasonal lag: 12 MS Residual=93,293 |
|||||||
Asympt. |
Asympt. |
Lower |
Upper |
||||
Param. |
Std. Err. |
t(91) |
p |
95% Conf |
95% Conf |
||
p(1) |
-0,21289 |
0,114797 |
-1,85446 |
0,066912 |
-0,44092 |
0,015144 |
|
q(1) |
0,970285 |
0,025803 |
37,60416 |
0 |
0,919032 |
1,021539 |
|
Qs(1) |
-0,72495 |
0,073882 |
-9,81231 |
6,3E-16 |
-0,87171 |
-0,57819 |
Модель ARIMA (1,2,1): xt = -0,216xt-1 + дt + 0.97дt-1
Forecasts; Model: (1,2,1) (0,0,1) Seasonal lag: 12 (new.sta) |
|||||
Input: VAR1 |
|||||
Start of origin: 1 End of origin: 96 |
|||||
Lower |
Upper |
||||
Forecast |
90,0000% |
90,0000% |
Std. Err. |
||
97 |
336,0978 |
352,047 |
384,1486 |
9,658837 |
|
98 |
335,5559 |
346,831 |
388,2807 |
12,47153 |
|
99 |
346,0545 |
352,924 |
403,1851 |
15,12274 |
|
100 |
350,026 |
353,0344 |
411,0176 |
17,44619 |
|
101 |
348,2935 |
347,7057 |
412,8812 |
19,61023 |
|
102 |
355,4153 |
351,4285 |
423,4022 |
21,65574 |
|
103 |
367,4346 |
360,1871 |
438,682 |
23,61782 |
|
104 |
375,8217 |
365,4174 |
450,226 |
25,51754 |
|
105 |
385,066 |
371,5833 |
462,5487 |
27,37001 |
|
106 |
392,9492 |
376,4485 |
473,4499 |
29,18613 |
Ошибка прогноза: у = 7,101.
5) Коммерческий грузооборот транспорта.
Input: VAR1 (new.sta) |
|||||||
Transformations: 2*D(1) |
|||||||
Model: (1,2,1) (1,0,0) Seasonal lag: 12 MS Residual=140,95 |
|||||||
Asympt. |
Asympt. |
Lower |
Upper |
||||
Param. |
Std. Err. |
t(93) |
p |
95% Conf |
95% Conf |
||
p(1) |
-0,52336 |
0,105297 |
-4,97033 |
3,04E-06 |
-0,73246 |
-0,31426 |
|
q(1) |
0,634986 |
0,102447 |
6,198173 |
1,55E-08 |
0,431546 |
0,838426 |
|
Ps(1) |
0,674096 |
0,087029 |
7,745636 |
1,15E-11 |
0,501274 |
0,846919 |
Модель ARIMA (1,2,1): xt = -0,523xt-1 + дt + 0.635дt-1
Forecasts; Model: (1,2,1) (1,0,0) Seasonal lag: 12 (new.sta) |
|||||
Input: VAR1 |
|||||
Start of origin: 1 End of origin: 98 |
|||||
Lower |
Upper |
||||
Forecast |
90,0000% |
90,0000% |
Std. Err. |
||
99 |
367,7353 |
319,2757 |
358,7243 |
11,87206 |
|
100 |
353,2431 |
298,7271 |
350,2884 |
15,51739 |
|
101 |
358,1622 |
293,2109 |
365,6428 |
21,7984 |
|
102 |
347,0064 |
272,4864 |
364,0558 |
27,55782 |
|
103 |
351,4406 |
265,7586 |
379,652 |
34,27625 |
|
104 |
349,0543 |
251,8578 |
388,7802 |
41,20682 |
|
105 |
347,0303 |
237,4315 |
399,1584 |
48,67175 |
|
106 |
357,8589 |
235,2908 |
422,9563 |
56,47801 |
|
107 |
348,4474 |
212,2347 |
427,1895 |
64,6907 |
|
108 |
353,1304 |
202,6952 |
446,095 |
73,25125 |
Ошибка прогноза: у = 11,549.
3.3 Моделирование с использованием нейронных сетей
1) В нашем примере нейросеть разворачивается с целью прогнозирования изменения количества несчастных случаев (B). Исходный файл представляет собой текстовую таблицу (129 строк), в которой находятся упорядоченные по строкам и столбцам данные (Таблица 1).
месяц |
B |
C |
|
1 |
61 |
40801 |
|
2 |
65 |
49081 |
|
3 |
55 |
52431 |
|
4 |
56 |
59650 |
|
5 |
91 |
75428 |
Каждой строке соответствуют данные одного месяца. В столбцах, обозначенных месяц, B, С содержатся данные одного типа.
Первый столбец (месяц) порядковый номер месяц, выполняет чисто информативные функции.
Столбец B содержит значения, которые одновременно являются как входными данными, так и результатом работы нейросети прогнозом. Поэтому позже нам придется добавить еще один столбец, содержащий будущие известные значения, на которых мы сможем обучать нейросеть.
На четвертом шаге производится анализ и предварительная обработка данных. Эта часть работы выполняется в программе NetMaker.
Пятый, шестой и седьмой шаги обучение, тестирование и использование нейросети будут сделаны уже в самом пакете BrainMaker.
NetMaker. Предварительный анализ и подготовка данных.
Построим график изменения В. Значение B, как мы видим, сильно колеблется, но при этом общее движение цены (тренд) направлено вверх.
Рис. 1.
Чтобы прогноз был более точным, имеет смысл использовать не абсолютные значения B, а только их изменения по сравнению с предыдущим месяцем. То же относится и к величинам С. Поскольку данные в столбцах с изменениями цен получаются в результате вычитания значений предыдущего месяца из значений текущего, первая строка будет содержать некорректные значения. Поэтому в дальнейшем мы ее удалим.
Для анализа взаимосвязей между входными данными и значениями B, которые мы собираемся прогнозировать, можно использовать Data Correlator. Рассмотрим взаимосвязь между B и С, построив, с помощью Data Correlator, следующий график (рис. 2).
Рис. 2
На горизонтальной оси показано время, причем единица времени соответствует одной строке из входной таблицы (в нашем случае это один месяц). Ноль делит горизонтальную ось на две части будущее и прошедшее время относительно B. В левой части показано прошедшее, а в правой будущее время.
На вертикальной оси представлена степень корреляции или взаимосвязи BD100 и index1D. Положительная корреляция означает, что если значения в первом столбце увеличиваются, то растут значения и во втором столбце. И наоборот, если значения в первом столбце уменьшаются, то уменьшаются значения и во втором столбце. Отрицательная корреляция означает, что если значения в первом столбце увеличиваются, то значения во втором столбце уменьшаются. И наоборот, если значения в первом столбце уменьшаются, то увеличиваются значения во втором столбце. Степень корреляции может изменяться от -1 до 1. Абсолютное значение, равное 1, означает, что изменения данных величин в точности соответствуют друг другу. Насколько существенна корреляция с абсолютным значением меньше 1 (0.1, 0.3, 0.6), однозначно сказать нельзя, и лучше считать, что эта оценка является субъективным мнением аналитика и зависит от ряда других обстоятельств.
Нас больше всего интересует сильная корреляция с отрицательным лагом, при которой изменения входного параметра могут повлечь за собой изменение прогнозируемой величины через какое-то время. Следовательно, если изменения С предшествуют изменению B, можно использовать значения С для предсказания значений B на один месяц вперед. Поэтому добавим в таблицу столбец, в котором содержатся вчерашние значения С и назовем его С-1.
Попробуем выявить циклы, что позволит установить оптимальную дальность прогноза равной одному циклу. Для этого воспользуемся инструментом Cyclic Analysis, с помощью которого получаем график, изображенный на рис. 3.
Рис. 3
На горизонтальной оси показана частота появления цикла, на вертикальной его сила. Левый пик с частотой, равной 1 это цикл, соответствующий общему движению. Нам же надо найти самый короткий, ярко выраженный цикл. Этому циклу соответствует другой пик с частотой 11. Чтобы разглядеть его получше, можно изменить масштаб графика. Определим длину этого цикла. Общее количество 129, частота 11. Следовательно, длина цикла: 129/11 = приблизительно 12 месяцев.
Для уменьшения случайного шума сгладим B-1 с помощью скользящего среднего (Moving Average). Для сглаживания рекомендуется использовать интервал, равный половине цикла. В нашем случае это 6 месяцев. Новую колонку назовем Bdavg6 и запишем в нее значения скользящего среднего.
Так как в нашем примере цикл составляет 12 месяцев, то для информирования нейросети о тренде мы будем использовать текущие значения входного параметра и значения двенадцатимесячной давности. При обучении нейросети в каждой строке входного набора данных (факте) следует указать заранее известное значение (pattern), которое должна предсказывать нейросеть. В процессе обучения нейросеть сравнивает свой ответ с этим эталоном и, в случае ошибки, меняет свою структуру. Этот процесс продолжается до тех пор, пока не будет достигнут требуемый уровень точности. Для этих целей сформируем столбец B+12 с будущими значениями B-1, т.е. с теми, которые B-1 примет через 12 месяцев.
Предварительная обработка данных закончена и можно создать файлы для программы BrainMaker. Формируются три файла: описание нейросети, данные для обучения и данные для тестирования нейросети.
BrainMaker. Обучение и тестирование нейросети, получение результатов
Для обучения надо запустить BrainMaker и загрузить файл с описанием нейросети. При этом ссылки на файлы с данными для обучения и тестирования будут сделаны автоматически. При обучении сети используется 93 факта из 104, т.е. 10% или 11 фактов зарезервированы для тестирования при формировании файлов в NetMaker.
Предсказывать какие-либо изменения на финансовых рынках достаточно сложно, поэтому зададим требуемую точность предсказания равной 80%. После запуска обучения на экране возникнет картинка, приведенная на рис. 4.
Рис. 4
Черные горизонтальные столбики (термометры) показывают входные и выходные значения. Их использование облегчает наблюдение за быстро меняющимися значениями.
Первая строка с данными под главным меню называется status line. В ней показано, что в текущий момент делает BrainMaker и какие задействованы файлы. Learning rate используется для более точной настройки процесса обучения нейросети.
Tolerance это максимально допустимая величина ошибки во время обучения. Строка statistics line содержит информацию о ходе обучения или тестирования нейросети: Fact порядковый номер факта из обучающей или тестирующей последовательности (номер строки в таблице с исходными данными), который обрабатывается в это время; Total общее количество фактов, обработанных на данный момент; Bad количество фактов, для которых был получен некорректный результат в текущем проходе входной последовательности; Last количество фактов, для которых был получен некорректный результат в предыдущем проходе входной последовательности; Good количество фактов, для которых был получен корректный результат в текущем проходе входной последовательности; Last количество фактов, для которых был получен корректный результат в предыдущем проходе входной последовательности; Run общее количество проходов входной последовательности, включая текущий.
В процессе обучения можно наблюдать его динамику. Верхний график в виде гистограммы отображает распределение ошибок за один проход обучающей последовательности фактов. На горизонтальной оси показана величина ошибки, а на вертикальной количество ошибок. По мере обучения вертикальные столбики смещаются влево, отражая процесс уменьшения величины ошибок при обработке фактов. Обучение заканчивается, когда не остается ни одного факта, обработанного с ошибкой, величина которой больше установленного нами допустимого уровня 0.2. Наблюдение за графиком поможет определить достижимый уровень ограничения ошибок при разработке нейросети.
Нижний график отображает динамику изменения общей ошибки нейросети в процессе обучения. На горизонтальной оси показан номер прохода обучающей последовательности. На вертикальной оси величина ошибки.
По окончании процесса обучения необходимо проверить качество работы нейросети на данных, которые она еще «не видела». При тестировании нейросети будет происходить обработка фактов и сравнение полученных результатов (output) с образцами (pattern). Ошибки при этом вычисляются, но корректировка структуры нейросети не производится. После окончания в строке statistics line отображается результат тестирования Good:80 Bad:13. Если нейросеть настроить, то этот результат можно улучшить.
Если теперь в BrainMaker подать на вход обученной нейросети новые данные, то в поле Out будет показан прогноз значения B-1 на 12 месяцев вперед. Изменив способ отображения с thermometers на number можно получить числовое значение прогноза.
Средняя величина ошибки = 11,731
2) Поступаем аналогично предыдущему примеру.
Средняя ошибка = 15389,186
3) Средняя ошибка =92,35
4) Средняя ошибка =18,786
5) Средняя ошибка =33,882.
Заключение
В последние годы большое внимание в эконометрической литературе уделяется анализу структурных свойств экономических временных рядов. Это вызвано тем, что далеко не всегда значения временного ряда формируются под воздействием некоторых факторов. Нередко бывает, что развитие того или иного процесса обусловлено его внутренними закономерностями, а отклонения от детерминированного процесса вызваны ошибками измерений или случайными флуктуациями. В последнее время появилось достаточно большое количество работ, в которых рассматриваются различные эконометрические аспекты развития Российской экономики. Однако в этих работах практически не уделяется внимания статистическим характеристикам самих динамических рядов, определяющих исходные данные моделей.
Для временных рядов главный интерес представляет описание или моделирование их структуры. Цель таких исследований, как правило, шире моделирования, хотя некоторую информацию можно получить и непосредственно из модели, делая выводы о выполнении тех или иных экономических законов (скажем, закона паритета покупательной способности) и проверяя различные гипотезы (например, гипотезу эффективности финансовых рынков). Построенная модель может использоваться для экстраполяции или прогнозирования временного ряда, и тогда качество прогноза может служить полезным критерием при выборе среди нескольких моделей. Построение хороших моделей ряда необходимо и для других приложений, таких, как корректировка сезонных эффектов и сглаживание. Наконец, построенные модели могут использоваться для статистического моделирования длинных рядов наблюдений при исследовании больших систем, для которых временной ряд рассматривается как входная информация.
Для правильного решения различных содержательных задач экономического анализа необходимо рассматривать различные аспекты каждого исследуемого временного ряда, а для этого, прежде всего, нужно определить его глобальную структуру, т.е. решить вопрос об отнесении каждого из рассматриваемых рядов к классу рядов, стационарных относительно тренда - TS (trend stationary), или к классу рядов, остационариваемых только путем дифференцирования ряда - DS (difference stationary) рядов.
Проблема отнесения макроэкономических рядов динамики, имеющих выраженный тренд, к одному из двух указанных классов активно обсуждалась в последние два десятилетия в мировой эконометрической и экономической литературе, поскольку траектории TS и DS ряды отличаются друг от друга кардинальным образом. TS ряды имеют линию тренда в качестве некоторой «центральной линии», которой следует траектория ряда, находясь, то выше, то ниже этой линии, с достаточно частой сменой положений выше-ниже. DS ряды помимо детерминированного тренда (если таковой имеется) имеют еще и стохастический тренд, из-за присутствия которого траектория DS ряда весьма долго пребывает по одну сторону от линии детерминированного тренда (выше или ниже соответствующей прямой), удаляясь от нее на значительные расстояния, так что по существу в этом случае линия детерминированного тренда перестает играть роль «центральной» линии, вокруг которой колеблется траектория процесса. В TS-рядах влияние предыдущих шоковых воздействий затухает с течением времени, а в DS-рядах такое затухание отсутствует и каждый отдельный шок влияет с одинаковой силой на все последующие значения ряда. Поэтому наличие стохастического тренда требует определенных политических усилий для возвращения макроэкономической переменной к ее долговременной перспективе, тогда как при отсутствии стохастического тренда серьезных усилий для достижения такой цели не требуется - в этом случае макроэкономическая переменная «скользит» вдоль линии тренда как направляющей, пересекая ее достаточно часто и не уклоняясь от этой линии сколько-нибудь далеко.
Подобные документы
Создание комбинированных моделей и методов как современный способ прогнозирования. Модель на основе ARIMA для описания стационарных и нестационарных временных рядов при решении задач кластеризации. Модели авторегрессии AR и применение коррелограмм.
презентация [460,1 K], добавлен 01.05.2015Основные элементы эконометрического анализа временных рядов. Задачи анализа и их первоначальная обработка. Решение задач кратко- и среднесрочного прогноза значений временного ряда. Методы нахождения параметров уравнения тренда. Метод наименьших квадратов.
контрольная работа [37,6 K], добавлен 03.06.2009Статистические методы прогнозирования и их роль в экономической практике. Классификация экономических прогнозов. Требования, предъявляемые к временным рядам, и их компонентный состав. Сопоставимость уровней ряда и допустимая длина временных рядов.
контрольная работа [1,2 M], добавлен 13.08.2010Теоретические выкладки в области теории хаоса. Методы, которые используются в математике, для прогнозирования стохастических рядов. Анализ финансовых рядов и рядов Twitter, связь между сентиметными графиками и поведением временного финансового ряда.
курсовая работа [388,9 K], добавлен 01.07.2017Классические подходы к анализу финансовых рынков, алгоритмы машинного обучения. Модель ансамблей классификационных деревьев для прогнозирования динамики финансовых временных рядов. Выбор алгоритма для анализа данных. Практическая реализация модели.
дипломная работа [1,5 M], добавлен 21.09.2016Структурные компоненты детерминированной составляющей. Основная цель статистического анализа временных рядов. Экстраполяционное прогнозирование экономических процессов. Выявление аномальных наблюдений, а также построение моделей временных рядов.
курсовая работа [126,0 K], добавлен 11.03.2014Предпрогнозное исследование рядов урожайности с применением фрактального и R/S-анализа, бинарной кодировки. Расчет коэффициента Херста природных и экономических рядов. Оценка соотношения "детерминированность-стохастичность" для разных областей Украины.
курсовая работа [2,2 M], добавлен 18.09.2010Статистические методы анализа одномерных временных рядов, решение задач по анализу и прогнозированию, построение графика исследуемого показателя. Критерии выявления компонент рядов, проверка гипотезы о случайности ряда и значения стандартных ошибок.
контрольная работа [325,2 K], добавлен 13.08.2010Тесты, с помощью которых можно построить эконометрические модели. Эконометрическое моделирование денежного агрегата М0, в зависимости от валового внутреннего продукта и индекса потребительских цен. Проверка рядов на стационарность и гетероскедастичность.
курсовая работа [814,0 K], добавлен 24.09.2012Влияние девальвации национальной валюты на цены активов и процентных ставок на фондовый рынок. Анализ отраслевых взаимосвязей и закономерностей в динамике биржевых индикаторов и множества других временных рядов. Оценка моделей методом "rolling window".
дипломная работа [1,7 M], добавлен 06.11.2015