Прогнозирование временных рядов данных с использованием нейросетевых технологий

Автор: Пользователь скрыл имя, 23 Сентября 2011 в 16:24, реферат

Описание работы

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

Содержание

Общие сведения о прогнозировании 3
Сведения о нейронных сетях 6
Прогнозирование как задача распознавания образов 11
Возможные способы улучшения прогнозаторов 14
Использование предварительной обработки данных 14
Использование нескольких прогнозирующих систем 16
Вывод 22
Список использованных источников 24

Работа содержит 1 файл

Реферат.doc

— 278.50 Кб (Скачать)

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

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

Сибирский государственный индустриальный университет 
 
 
 
 

РЕФЕРАТ 
на тему «Прогнозирование временных рядов данных 
с использованием нейросетевых технологий»
 
 
 

Выполнил: Дружилов А.С. 
 
 
 
 
 

Новокузнецк, 2009 г.

Содержание

 

Общие сведения о прогнозировании

     Прогнозирование – это ключевой момент при принятии решений в управлении. Конечная эффективность любого решения зависит от последовательности событий, возникающих уже после принятия решения. Возможность предсказать неуправляемые аспекты этих событий перед принятием решения позволяет сделать наилучший выбор. Поэтому системы планирования и управления, обычно, реализуют функцию прогноза. Далее перечислены примеры ситуаций. Области применения прогнозирования [2]:

  1. Управление материально-производственными запасами.
  2. Планирование производства.
  3. Финансовое планирование.
  4. Разработка расписания персонала.
  5. Планирование нового продукта.
  6. Управление технологическим процессом.

     На  основании вышеизложенного можно  сказать, что прогнозирование - это  предсказание будущих событий. Целью прогнозирования является уменьшение риска при принятии решений. Прогноз обычно получается ошибочным, но ошибка зависит от используемой прогнозирующей системы [2]. Предоставляя прогнозу больше ресурсов, мы можем увеличить точность прогноза и уменьшить убытки, связанные с неопределенностью при принятии решений.

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

     Методы  прогнозирования можно разделить  на два класса: квалитативные и квантитативные. Квалитативные процедуры производят субъективную оценку, основанную на мнении экспертов. Обычно, это формальная процедура для получения обобщенного предсказывания, на основе ранжирования и обобщения мнения экспертов (например на основе методов Делфи) [5].

     С другой стороны, квантиативные процедуры  прогнозирования явно объявляют - каким образом получен прогноз. Четко видна логика и понятны математические операции. Эти методы производят исследование исторических данных для того, чтобы определить глубинный процесс, генерирующий переменную и предположив, что процесс стабилен, использовать знания о нем для того, чтобы экстраполировать процесс в будущее. К квантитативным процедурам прогнозирования относятся методы, основанные на статистическом анализе, анализе временных последовательностей, байесовском прогнозировании, наборе фрактальных методов, нейронных сетях [1].

     Сейчас  используется два основных типа моделей: модели временных последовательностей и причинные модели.

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

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

     Практически, прогнозирующие системы часто используют комбинацию квантитативных и квалитативных методов. Квантитативные методы используются для последовательного анализа исторических данных и формирование прогноза. Это придает системе объективность и позволяет эффективно организовать обработку исторических данных [7].

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

     В рамках математических терминов прогнозирование можно описать в виде ситуации, когда по имеющейся информации (данным), обозначим ее X, требуется предсказать (спрогнозировать, оценить) некоторую величину Y, стохастически связанную с X (то есть X и Y имеют некоторое распределение L(X,Y)), но которую непосредственно измерить невозможно (например, Y может относиться к будущему, а X - к настоящему).

     В общем случае X означает некоторую  совокупность {X1, X2,…} наблюдаемых случайных величин, которые в рассматриваемом контексте называются предсказывающими (или прогнозными) переменными, и задача состоит в построении такой функции Ф(Х), которую можно было бы использовать в качестве оценки для прогнозируемой величины Y:Ф(Х)=Y (т.е. чтобы она была в каком-то смысле "близка" к Y); такие функции Ф(Х) называют предикторами величины Y по X. Разработка методов построения оптимальных (в том или ином смысле) предикторов и составляет главную задачу прогнозирования.

     Если  совокупность величин {X1, X2, …, Xn} представляет собой значения какого-либо параметра, изменяющегося во времени, то такую совокупность называют временным рядом, при этом каждое значение соответствует значению параметра в конкретное время t1, t2, …,tn. Задача прогнозирования в этом случае заключается в определении значения измеряемой величины X в момент времени tn+1, tn+2, tn+3,…, то есть для выполнения прогнозирования необходимо выявить закономерность этого временного ряда [11].

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

     Одношаговым прогнозированием называют краткосрочный  прогноз (на один шаг), при этом для  получения прогнозированной величины используют только фактические данные [6]. Ясно, что одношаговое прогнозирование более точно, но оно не позволяет выполнять долгосрочные прогнозы.

Сведения о нейронных сетях

     Биологический нейрон моделируется как устройство, имеющее несколько входов (дендриты), и один выход (аксон). Каждому входу  ставится в соответствие некоторый  весовой коэффициент (w), характеризующий пропускную способность канала и оценивающий степень влияния сигнала с этого входа на сигнал на выходе [5]. В зависимости от конкретной реализации, обрабатываемые нейроном сигналы могут быть аналоговыми или цифровыми (1 или 0). В теле нейрона происходит взвешенное суммирование входных возбуждений, и далее это значение является аргументом активационной функции нейрона, один из возможных вариантов которой представлен на рисунке 1.

Рисунок 1 – Искусственный нейрон

     Будучи  соединенными определенным образом, нейроны образуют нейронную сеть. Работа сети разделяется на обучение и адаптацию. Под обучением понимается процесс адаптации сети к предъявляемым эталонным образцам путем модификации (в соответствии с тем или иным алгоритмом) весовых коэффициентов связей между нейронами. Заметим, что этот процесс является результатом алгоритма функционирования сети, а не предварительно заложенных в нее знаний человека, как это часто бывает в системах искусственного интеллекта.

    Среди различных структур нейронных сетей (НС) одной из наиболее известных является многослойная структура, в которой каждый нейрон произвольного слоя связан со всеми аксонами нейронов предыдущего слоя или, в случае первого слоя, со всеми входами НС. Такие НС называются полносвязными [13]. Когда в сети только один слой, алгоритм ее обучения с учителем довольно очевиден, так как правильные выходные состояния нейронов единственного слоя заведомо известны, и подстройка синаптических связей идет в направлении, минимизирующем ошибку на выходе сети. По этому принципу строится, например, алгоритм обучения однослойного перцептрона. В многослойных же сетях оптимальные выходные значения нейронов всех слоев, кроме последнего, как правило, не известны, и двух или более слойный перцептрон уже невозможно обучить, руководствуясь только величинами ошибок на выходах НС. Один из вариантов решения этой проблемы – разработка наборов выходных сигналов, соответствующих входным, для каждого слоя НС, что, конечно, является очень трудоемкой операцией и не всегда осуществимо. Второй вариант – динамическая подстройка весовых коэффициентов синапсов, в ходе которой выбираются, как правило, наиболее слабые связи и изменяются на малую величину в ту или иную сторону, а сохраняются только те изменения, которые повлекли уменьшение ошибки на выходе всей сети. Данный метод, несмотря на свою кажущуюся простоту, требует громоздких рутинных вычислений. И, наконец, третий, более приемлемый вариант – распространение сигналов ошибки от выходов НС к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Этот алгоритм обучения НС получил название процедуры обратного распространения.

    Согласно  методу наименьших квадратов, минимизируемой целевой функцией ошибки НС является величина [8]:

       (1)

    где – реальное выходное состояние нейрона j выходного слоя N нейронной сети при подаче на ее входы p-го образа; djp – идеальное (желаемое) выходное состояние этого нейрона.

    Суммирование  ведется по всем нейронам выходного слоя и по всем обрабатываемым сетью образам. Минимизация ведется методом градиентного спуска, что означает подстройку весовых коэффициентов следующим образом:

       (2)

    Здесь wij – весовой коэффициент синаптической связи, соединяющей i-ый нейрон слоя n-1 с j-ым нейроном слоя n, h – коэффициент скорости обучения, 0<h<1.

      (3)

    Здесь под yj,  подразумевается выход нейрона j, а под sj – взвешенная сумма его входных сигналов, то есть аргумент активационной функции. Так как множитель dyj/dsj является производной этой функции по ее аргументу, из этого следует, что производная активационной функция должна быть определена на всей оси абсцисс. В связи с этим функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых НС. В них применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой. В случае гиперболического тангенса:

       (4)

    Третий  множитель sj/wij,  равен выходу нейрона предыдущего слоя yi(n-1). Первый множитель в (3) раскладывается следующим образом:

      (5)

    Здесь суммирование по k выполняется среди  нейронов слоя n+1.

    Введя новую переменную

      (6)

    мы  получим рекурсивную формулу для расчетов величин dj(n) слоя n из величин dk(n+1) более старшего слоя n+1.

      (7)

    Для выходного слоя:

      (8)

    Теперь  зипишем (2) в раскрытом виде:

      (9)

    Иногда  для придания процессу коррекции весов некоторой инерционности, сглаживающей резкие скачки при перемещении по поверхности целевой функции [10], (9) дополняется значением изменения веса на предыдущей итерации:

Информация о работе Прогнозирование временных рядов данных с использованием нейросетевых технологий