42217

Нейросетевое прогнозирование. Методические указания

Книга

Информатика, кибернетика и программирование

В наиболее распространенном случае ИНС обучается прогнозу на 1 отсчет времени вперед используя предыдущих значений. Другими словами на вход ИНС предъявляется вектор и требуется чтобы на выходе ИНС появилось значение: . Обучение ИНС производится по известному временному ряду .

Русский

2013-10-27

204 KB

29 чел.

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

«Национальный исследовательских Томский политехнический университет»

Институт кибернетики

Кафедра вычислительной техники

Цой Ю.Р.

Методические указания

к выполнению лабораторной работы

«Нейросетевое прогнозирование»

по курсу «Нейронные сети»

Томск, 2012 г.


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

Прогноз временных рядов

Определение временного ряда

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

, ,

множество измеренных значений  можно обозначить . Полученное множество величин будем называть временным рядом1. В зависимости от того, является ли значение xi скаляром или вектором, говорят об одномерном или многомерном временном ряде. В рамках данной лабораторной работы будем рассматривать одномерные временные ряды.

Задача прогноза временного ряда

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

Пусть известны значения временного ряда до некоторого момента времени T: . Необходимо, используя данные значения, получить оценки неизвестных значений ряда в будущем . Причем каждое последующее значение вычисляется с использованием имеющихся оценок. Ряд, полученный «конкатенацией»  и , называют реконструкцией временного ряда.

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

Нейросетевой прогноз временных рядов

В рамках данного подхода для определения прогнозных значений ряда применяются нейронные сети2.

В наиболее распространенном случае ИНС обучается прогнозу на 1 отсчет времени вперед, используя  предыдущих значений. Другими словами, на вход ИНС предъявляется вектор

,

и требуется, чтобы на выходе ИНС «появилось» значение:

.

Величину  называют шириной окна или глубиной погружения.

Обучение ИНС производится по известному временному ряду . Общая схема обучения представлена алг. 1.

Алгоритм 1. Общая схема применения ИНС для прогноза значений временного ряда.

  1.  Выбирается и фиксируется глубина погружения .
  2.  Исходный временной ряд «нарезается» на множество обучающих примеров (см. текст ниже) для формирования обучающей выборки D.
  3.  Выбирается структура ИНС (как минимум фиксируется количество входов, равное ).
  4.  Производится обучение ИНС на выборке D.

Формирование обучающей выборки D из исходного временного ряда X заключается в задании набора обучающих примеров, при этом i-й пример представляет пару:

где .

Обучение ИНС можно производить с помощью любого известного алгоритма. В качестве критерия часто используется суммарная квадратичная ошибка, вычисленная по всем обучающим примерам:

где  и  – соответственно требуемое и фактическое значение выходного сигнала ИНС для i-го обучающего примера. Заметим, что нередко применяются и другие критерии, например,

Подготовка обучающих данных

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

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

  1.  Предварительная нормировка данных, чтобы все значения после нормировки оказались в интервале [-1; 1] или [0; 1]. Примеры нормировки:

где  и  обозначают соответственно минимальный и максимальный элементы из Х, а С – некоторая константа, .

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

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

Рис. 1. Пример неудачной нейросетевой реконструкции временного ряда

  1.  Замена исходных значений ряда Х на разности соседних элементов. В этом способе формируется временной ряд

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

Рис. 2. Пример нейросетевой реконструкции временного ряда при обучении ИНС на разностях элементов ряда

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

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

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

Ход работы

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

Пусть получился массив из N элементов, выберите первые T значений для формирования будущей обучающей выборки, а на оставшихся (N – T) элементах нужно будет проводить тестирование. T нужно выбирать так, чтобы оно было больше половины размера массива исходных данных, например, T может составлять 80% от исходного массива.

  1.  Выберите несколько значений глубины прогноза, , для экспериментов. Например, , , , . Постарайтесь, чтобы были как большие, так и малые значения .
  2.  Выберите несколько структур ИНС (не меньше 3 вариантов). Например: ИНС без скрытых слоев и нейронов (ИНС-1); ИНС с одним скрытым слоем с 10 нейронами (ИНС-2); ИНС с одним скрытым слоем с 30 нейронами (ИНС-3). Сети должны существенно отличаться по структуре4.
  3.  Выберите алгоритм обучения и его параметры.
  4.  Для исходных данных (нормированных или нет, как больше нравится) и каждой комбинации значения глубины прогноза и структуры ИНС необходимо вычислить ошибку прогноза как среднеквадратичную ошибку отклонения НС прогноза от реальных значений. Еще раз, обучение производится на T элементах, а ошибка прогноза считается на оставшихся (N – T) элементах ряда.

Заполните таблицу:

Глубина погружения

ИНС-1

ИНС-2

ИНС-3

значениями вида , где  – средняя точность,  – среднеквадратичное отклонение, полученные по результатам не менее 10 запусков.

  1.  Сформируйте промежуточные выводы о влиянии структуры ИНС и глубины погружения на ошибку прогноза.
  2.  Сформируйте новый ряд из разностей значений исходного ряда и проведите эксперименты, аналогичные п.5. Заполните таблицу

Глубина погружения

ИНС-1

ИНС-2

ИНС-3

  1.  Сформируйте промежуточные выводы о влиянии структуры ИНС и глубины погружения на ошибку прогноза.
  2.  Сравните качество прогноза при использовании исходного временного ряда и ряда, составленного из разностей, с учетом глубины прогноза и различий структур ИНС.
  3.  Сделайте общие выводы по результатам работы.

Варианты

  1.  Курс рубля.
  2.  Курс доллара.
  3.  Курс евро.
  4.  Курс йены.
  5.  Курс фунта стерлингов.
  6.  Отношение доллара к евро.
  7.  Погода в Томске.
  8.  Погода в Лондоне.
  9.  Погода в Нью-Йорке.
  10.  Погода в Рио-де-Жанейро.
  11.  Погода в Пекине.
  12.  Последовательность Маккея-Гласа (Mackey-Glass).

Дополнительные баллы

  1.  (+3 балла) Проведение дополнительных тестов на статистическую значимость ошибок прогноза для таблиц из п. 5 и 6 хода работы с выделением статистически наилучших и наихудших результатов.
  2.  (+2 балла) Обоснование корректности использованных в п.1 статистических тестов.
  3.  (+2 балла) Отчет в формате LaTeX.

Литература

  1.  Лоскутов А.Ю. Анализ временных рядов. Курс лекций. – МГУ, 2011.
  2.  Хайкин С. Нейронные сети: полный курс, 2-е изд., испр. : Пер. с англ. – М. : 000 "И.Д. Вильяме", 2006. – 1104 с. : ил. – Парал. тит. англ.

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

2 Кто бы мог подумать… 

3 Это замечание справедливо вообще ко всем методам анализа данных, оптимизации и распознавания. Лучшего метода нет, поэтому необходимо иметь опыт работы с несколькими альтернативными методами, чтобы при решении практических задач иметь некоторую свободу выбора.

4 В данном случае существенно понимается «обывательски», по количеству слоев/нейронов/связей, все равно удачного формального определения не придумать.


 

А также другие работы, которые могут Вас заинтересовать

24075. Синтез гема 41 KB
  При восстановлении биливердина НАДФ Н2 образуется билирубин. Билирубин – плохо растворимое соединение и в крови связывается с альбумином. В виде комплекса альбуминбилирубин идет транспорт билирубина кровью в клетки печени. В печени билирубин соединяется с глюкуроновой кислотой с образованием моно 20 и диклюкуронидов 80 они хорошо растворимы в воде.
24076. Распад гема 27 KB
  остающихся в сыворотке крови после осаждения белков. в сыворотке крови является ценным диагностическим показателем при многих заболеваниях. определяют в надосадочной жидкости после удаления осажденных белков сыворотки крови центрифугированием с помощью азотометрического метода Кьельдаля в его многочисленных модификациях колориметрических и гипобромитных методов. в сыворотке крови равна 2040 мг 100 мл или 143286 ммоль л.
24077. Витамины и Антиметаболиты 54.26 KB
  Согласно современным предтавлениям все клеточные и внутриклеточные мембраны устроены сходным образом: основу мембраны составляет двойной молекулярный слой липидов липидный бислой на котором и в толще которого находятся белки см. В состав липидов мембран входят в основном фосфолипиды сфингомиелины и холестерин. Например в мембранах эритроцитов человека их содержание составляет соответственно 36 30 и 22 по весу; еще 12 приходится на гликолипиды Примером амфифильной молекулы может служить молекула фосфатидилэтаноламина структура...
24078. Биохимия печени 32.5 KB
  Биохимия печени Печень самый крупный из паренхиматозных органов. Роль печени в метаболизме углеводов Печень играет ведущую роль в поддержании физиологической концентрации глюкозы в крови. При физиологической гипогликемии в печени активируется распад гликогена. В печени активно протекает глюконеогенез при котором предшественниками глюкозы являются пируват и аланин поступающий из мышц глицерол из жировой ткани и с пищей ряд глюкогенных АК.
24079. Метаболизм белков 35 KB
  Детоксицирующая функция печени Детоксикация ядовитых метаболитов и чужеродных соединений ксенобиотиков протекает в гепатоцитах в две стадии. Реакции первой стадии катализируются монооксигеназной системой компоненты которой встроены в мембраны эндоплазматического ретикулума. На первой стадии биотрансформации происходит образование или высвобождение гидрокси карбоксильных тиоловых и аминогрупп которые являются гидрофильными и молекула может подвергаться дальнейшему превращению и выведению из организма. Кроме цх Р450 в первой...
24080. Биологическая ценность белков 30 KB
  Для оценки состояния обмена белков используется понятие азотистый баланс. Азот остается в организме и расходуется на синтез белков. Встречается при голодании белковой недостаточности тяжелых заболеваниях когда происходит интенсивный распад белков тела. Биологическая ценность белков.
24081. Переваривание белков. Пути превращения аминокислот в печени 105 KB
  Расщепление белков происходит при участии нескольких групп ферментов: Экзопептидазы – катализирует разрыв концевой пептидной связи с образованием одной какойлибо аминокислоты. В результате расщепления образуются свободные аминокислоты которые затем подвергаются всасыванию. Аминокислоты всасываются свободно с ионами натрия. Некоторые аминокислоты обладают способностью конкурентно тормозить всасывание других аминокислот: Лизин тормозит всасывание аргинина.
24082. Токсическое действие аммиака-инактивация альфа-кетоглутарата в цикле кребса,энергетическое голодание,к которому чувствителна очень нервная ткань 57.5 KB
  Возможны 4 типа дезаминирования: Восстановительное RCHCOOH RCH2COOH NH3 NH2 Гидролитическое RCHCOOH RCHCOOH NH3 NH2 OH Внутримолекулярное RCH2CHCOOH RCH=CHCOOH NH3 NH2 Окислительное RCHCOOH RCCOOH NH3 NH2 O Окислительное дезаминирование бывает 2 видов: прямое и непрямое трансдезаминирование. R R1 R R1 HCNH2 C=O C=O HCNH2 COOH COOH COOH COOH Реакция трансаминирования...
24083. Реакция трансаминирования 36.5 KB
  R R1 R R1 HCNH2 C=O C=O HCNH2 COOH COOH COOH COOH Реакция трансаминирования обратима она катализируется ферментами – аминотрансферазами. Наиболее часто акцептором NH2групп служит 2оксоглутарат кетоглутарат реакция приводит к образованию глутаминовой кислоты: СН3 COOH CH3 COOH АЛТ НСNH2 CH2 C=O CH22 COOH CH2 COOH CHNH2 ...