42217

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

Книга

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

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

Русский

2013-10-27

204 KB

34 чел.

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

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

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

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

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

Цой Ю.Р.

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

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

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

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

Томск, 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 В данном случае существенно понимается «обывательски», по количеству слоев/нейронов/связей, все равно удачного формального определения не придумать.


 

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

32487. ПРЕПОДАВАНИЕ ПРОФИЛЬНЫХ КУРСОВ ИНФОРМАТИКИ ОРИЕНТИРОВАННЫХ НА ПРОГРАММИРОВАНИЕ 250 KB
  Каждый объект можно использовать для решения задачи не вникая во внутренние механизмы его функционирования C Delphi Visul Bsic. Delphi является системой объектного программирования созданной на базе Паскаля; по оценке специалистов ее профессиональный уровень очень высок. Поурочное планирование курса Учимся программировать на Delphi Курс 10 класса 34 часа N п п Название темы Кол. Основные понятия среды Delphi.
32488. ПРОФИЛЬНЫЕ КУРСЫ ИНФОРМАТИКИ ОРИЕНТИРОВАННЫЕ НА МОДЕЛИРОВАНИЕ 89.5 KB
  Ряд профильных курсов информатики включает в свое название слово моделирование или использует элементы моделирования в содержании поскольку моделирование является неотъемлемым компонентом общечеловеческой культуры и мощным методом познания окружающего мира природы и общества. Курсы ориентированные на моделирование должны выполнять развивающую функцию поскольку при их изучении учащиеся продолжают знакомство еще с одним методом познания окружающей действительности методом компьютерного моделирования. Выработка практических...
32489. ПРИМЕНЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ В ЭКСПЕРИМЕНТАЛЬНЫХ ПЕДАГОГИЧЕСКИХ ИССЛЕДОВАНИЯХ 69.5 KB
  Теория и методика обучения информатики ПРИМЕНЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ В ЭКСПЕРИМЕНТАЛЬНЫХ ПЕДАГОГИЧЕСКИХ ИССЛЕДОВАНИЯХ. Компьютер как инструмент педагогического исследования Сегодня информационные технологии находят довольно широкое применение в педагогике как науке а также непосредственно в практике учебно воспитательного процесса: дистанционное обучение учреждение онлайновых учебных заведений; помощь в системе управления образованием; создание программ и виртуальных учебников по различным предметам; поиск в сети информации...
32491. ПРЕДМЕТ ТЕОРИИ И МЕТОДИКИ ОБУЧЕНИЯ ИНФОРМАТИКЕ. СВЯЗЬ МЕТОДИКИ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ С ДРУГИМИ НАУКАМИ 53 KB
  Теория и методика обучения информатики ВВЕДЕНИЕ. СВЯЗЬ МЕТОДИКИ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ С ДРУГИМИ НАУКАМИ. Предмет теории и методики обучения информатики. Современный учитель информатики это не только предметник это проводник современных идей и технологий обучения с использованием компьютера в школе.
32492. СТОРИЯ ВНЕДРЕНИЯ КУРСА ИНФОРМАТИКИ В СРЕДНИЕ УЧЕБНЫЕ ЗАВЕДЕНИЯ 93 KB
  Теория и методика обучения информатики ИСТОРИЯ ВНЕДРЕНИЯ КУРСА ИНФОРМАТИКИ В СРЕДНИЕ УЧЕБНЫЕ ЗАВЕДЕНИЯ. История внедрения курса информатики в средние учебные заведения. Новая учебная дисциплина получила название Основы информатики и вычислительной техники ОИВТ. Вместе с тем постепенное проникновение в учебный план общеобразовательной школы сведений из области информатики началось значительно раньше и начинался этот процесс с опытов по изучению школьниками элементов программирования и кибернетики.
32493. Цели и задачи обучения информатики в школе 47.5 KB
  Теория и методика обучения информатики ЦЕЛИ И ЗАДАЧИ ОБУЧЕНИЯ ИНФОРМАТИКЕ В ШКОЛЕ. Цели и задачи обучения информатики в школе На основе общих принципов педагогической политики государство определило главные задачи общеобразовательной школы: обеспечение усвоения учащимися системы знаний определяемой общественными и производственными потребностями; формирование научного миропонимания политической экономической правовой культуры гуманистических ценностей и идеалов творческого мышления самостоятельности в пополнении знаний;...
32494. Структура обучения информатике в школе 84.5 KB
  ; логические модели дедуктивные системы сложность вывода нетрадиционные исчисления: индуктивный и дедуктивный вывод вывод по аналогии правдоподобный вывод немонотонные рассуждения и т.; искусственный интеллект представление знаний вывод на знаниях обучение экспертные системы и т.; бионика математические модели в биологии модели поведения генетические системы и алгоритмы и т.; инженерия математического обеспечения языки программирования технологии создания программных систем инструментальные системы и т.
32495. СОВРЕМЕННОЕ СОДЕРЖАНИЕ ОБРАЗОВАНИЯ ШКОЛЬНОГО КУРСА ИНФОРМАТИКИ. СТАНДАРТ ШКОЛЬНОГО ОБРАЗОВАНИЯ ПО ИНФОРМАТИКЕ 218.5 KB
  СТАНДАРТ ШКОЛЬНОГО ОБРАЗОВАНИЯ ПО ИНФОРМАТИКЕ Современное содержание образования школьного курса информатики Информатика в настоящее время одна из фундаментальных областей научного знания формирующая системноинформационный подход к анализу окружающего мира изучающая информационные процессы методы и средства получения преобразования передачи хранения и использования информации стремительно развивающаяся и постоянно расширяющаяся область практической деятельности человека связанная с использованием информационных технологий. Второй...