Лекция 9

 

Прогнозирование с помощью нейронных сетей

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

Второй важный этап при построении нейросетевой прогнозирующей системы - это определение следующих трех параметров: периода прогнозирования, горизонта прогнозирования и интервала прогнозирования. Период прогнозирования - это основная единица времени, на которую делается прогноз. Горизонт прогнозирования - это число периодов в будущем, которые покрывает прогноз. То есть, может понадобиться прогноз на 10 дней вперед, с данными на каждый день. В этом случае период - сутки, а горизонт - 10 суток. Наконец, интервал прогнозирования - частота, с которой делается новый прогноз. Часто интервал прогнозирования совпадает с периодом прогнозирования. Выбор периода и горизонта прогнозирования обычно диктуется условиями принятия решений в области, для которой производится прогноз. Выбор этих двух параметров - едва не самое трудное в нейросетевом прогнозировании. Для того чтобы прогнозирование имело смысл, горизонт прогнозирования должен быть не меньше, чем время, необходимое для реализации решения, принятого на основе прогноза. Таким образом, прогнозирование очень сильно зависит от природы принимаемого решения. В некоторых случаях, время, требуемое на реализацию решения, не определено, например, как в случае поставки запасных частей для пополнения запасов ремонтных предприятий. Существуют методы работы в условиях подобной неопределенности, но они повышают вариацию ошибки прогнозирования. Поскольку с увеличением горизонта прогнозирования точность прогноза, обычно, снижается, часто можно улучшить процесс принятия решения, уменьшив время, необходимое на реализацию решения и, следовательно, уменьшив горизонт и ошибку прогнозирования.

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

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

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

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

Деятельность предприятия:

·                  история продаж (количество, суммы);

·                  история состояния склада;

·                  показатели рекламной активности.

           Внешние факторы:

·                   прайс – листы конкурентов;

·                   состояние рынка;

·                   инфляция;

·                   курсы доллара, евро и т. д.;

·                   фондовые индексы (РТС, NASDAQ, Dow Jones и другие).

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

Таблица 1

Вторичные параметры используемые  для принятия решений

 

Независимые переменные

Значимость

1.Концентрация

++++

2. Состояние склада

++++

3. Экономия от масштаба

++

4. Дифференциация продукта

+++

5. Интенсивность рекламы

+++

6. Отношение  активы  - объем производства

++

7. Рост.

+++

8. Диверсификация

++

9. Географическое размещение.

+

10. Риск

++++

11. Экспорт

+

12. Импорт

+

13. Рыночная доля

+++

14. Концентрация покупателей

+

15. Интенсивность исследований и разработок

+

16. Стратегические группировки

+

 

 Следует отметить, что сама история продаж предприятия дает для обучения нейросети примерно 60 % необходимой информации (на основании опыта автора).

      Задача прогнозирования объема продаж предприятия обладает теми особенностями, которые делают целесообразным использование нейросетевых методов моделирования и, в частности, топологии «внутренний учитель»:

а) таблица данных может иметь небольшой размер[1];

б) в таблице данных могут присутствовать пропуски данных;

в) в данных возможны искажения («шум»);

г) необходима возможность адаптации модели при поступлении новых данных;

д) трудно получить линейную алгебраическую модель;

е) большое количество позиций номенклатуры.

 

Общий алгоритм прогнозирования с помощью нейронной сети

 

Алгоритм состоит из следующих пунктов:

·        получение временного ряда с интервалом в выбранную временную итерацию;

·        заполнение «пробелов» в истории;

·        сглаживание ряда методом скользящих средних (или другим);

·        получение ряда относительного изменения прогнозируемой величины;

·        формирование таблицы «окон» с глубиной погружения  временных интервалов;

·        добавление к таблице дополнительных данных (например, изменение величины за предыдущие годы);

·        шкалирование;

·        определение обучающей и валидационной выборок;

·        подбор параметров нейросети;

·        обучение нейросети;

·        проверка работоспособности нейросети в реальных условиях.

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

Таблица 4.1

Первый вариант «окна» данных

Hist1

Hist2

Hist3

Hist4

Hist0

D-1

D-2

D-3

D-4

D

D-2

D-3

D-4

D-5

D-1

D-3

D-4

D-5

D-6

D-2

Первые четыре колонки являются входами нейросети, последняя – выход, т. е. на основе предыдущих значений изменения величины прогнозируется следующее значение ряда. Таким образом, мы получаем так называемое «скользящее окно», в котором представлены данные за пять недель. Окно можно двигать по временной оси и изменять его ширину. Чтобы учесть предыдущие годы и учесть возможные сезонные зависимости добавим еще один столбец в выборку, который показывает изменение величины в прошлый год за тот же период.

Таблица 4.2

Второй вариант «окна» данных

LastY

Hist1

Hist2

Hist3

Hist4

Hist0

L

D-1

D-2

D-3

D-4

D

L-1

D-2

D-3

D-4

D-5

D-1

L-2

D-3

D-4

D-5

D-6

D-2

 

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

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

 



[1] Например, данные по продажам нового товара.

<< Предыдущая лекция || Следующая лекция >>

Консультация по нейронным сетям >>

Лекция 1. Основы нейросетей. Биологические нейронные сети.
Лекция 2. Персептрон. Многослойный персептрон.
Лекция 3. Алгоритм обратного распространения ошибки.
Лекция 4. Ускорение обучения. Обучение без учителя
Лекция 5. Сеть Кохонена. Звезды Гроссберга
Лекция 6. Сети Хопфилда и Хемминга
Лекция 7. Генетические алгоритмы
Лекция 8. Обучение с подкреплением
Лекция 9. Прогнозирование с помощью нейронных сетей
Лекция 10. Самообучаемые системы с самомодифицирующимися правилами
Нейросетевая топология Внутренний учитель



Рейтинг@Mail.ru

 
 
Апшеронск Спорт VBA Форекс Сочи-2014 Нейросети Студентам
Связь с Администратором сайта, E-mail: apsheronka@mail.ru
Апшеронск, Краснодарский край

Размещение рекламы на сайте
Карта сайта

При перепечатке материалов сайта http://apsheronsk.bozo.ru - обязательная активная гиперссылка на сайт!


`