3.3.4 Нейросетевые модели прогнозирования
В настоящее время самым перспективным количественным методом прогнозирования является использование нейронных сетей. Можно назвать много преимуществ нейронных сетей над остальными алгоритмами, ниже приведены два основных.
При использовании нейронных сетей легко исследовать зависимость прогнозируемой величины от независимых переменных. Например, есть предположение, что продажи на следующей неделе каким-то образом зависят от следующих параметров:
продаж в последнюю неделю;
продаж в предпоследнюю неделю;
времени прокрутки рекламных роликов (TRP);
количества рабочих дней;
температуры;
...
Кроме того, продажи носят сезонный характер, имеют тренд и как-то зависят от активности конкурентов.
Хотелось бы построить систему, которая бы все это естественным образом учитывала и строила бы краткосрочные прогнозы.
В такой постановке задачи большая часть классических методов прогнозирования будет просто несостоятельной. Можно попробовать построить систему на основе нелинейной множественной регрессии, или вариации сезонного алгоритма ARIMA, позволяющей учитывать внешние параметры, но это будут модели, скорее всего, малоэффективные (за счет субъективного выбора модели) и крайне негибкие.
Используя же даже самую простую нейросетевую архитектуру (персептрон с одним скрытым слоем) и базу данных (с продажами и всеми параметрами) легко получить работающую систему прогнозирования. Причем учет, или не учет системой внешних параметров будет определяться включением, или исключением соответствующего входа в нейронную сеть.
Возможно с самого начала воспользоваться каким-либо алгоритмом определения важности и сразу определить значимость входных переменных, чтобы потом исключить из рассмотрения мало влияющие параметры.
Построение нейросетевой модели происходит адаптивно во время обучения, без участия эксперта. При этом нейронной сети предъявляются примеры из базы данных и она сама подстраивается под эти данные.
- Подготовка данных для обучения нейронной сети
Пусть у нас имеется база данных, содержащая значения курса за последние 300 дней. Простейший вариант в данном случае - попытаться построить прогноз завтрашней цены на основе курсов за последние несколько дней. Понятно, что прогнозирующая нейронная сеть должна иметь всего один выход и столько входов, сколько предыдущих значений мы хотим использовать для прогноза - например, 4 последних значения. Составить обучающий пример очень просто - входными значениями нейронной сети будут курсы за 4 последовательных дня, а желаемым выходом нейронной сети - известный нам курс в следующий день за этими четырьмя.
Если нейронная сеть совместима с какой-либо системой обработки электронных таблиц (например, Excel), то подготовка обучающей выборки состоит из следующих операций:
Скопировать столбец данных значений котировок в 4 соседних столбца.
Сдвинуть второй столбец на 1 ячейку вверх, третий столбец - на 2 ячейки вверх и т.д.
Такая операция в программе Deductor называется «Скользящее окно».
Смысл этой подготовки легко увидеть на рисунке 3.3 - теперь каждая строка таблицы представляет собой обучающий пример, где первые 4 числа - входные значения нейронные сети, а пятое число - желаемое значение выхода нейронной сети. Исключение составляют последние 4 строки, где данных недостаточно - эти строки не учитываются при тренировке нейронной сети. Заметим, что в четвертой снизу строке заданы все 4 входных значения, но неизвестно значение выхода нейронной сети. Именно к этой строке мы применим обученную нейронную сеть и получим прогноз на следующий день.
Как видно из этого примера, объем обучающей выборки зависит от выбранного нами количества входов нейронной сети.
Если сделать 299 входов, то такая нейронная сеть потенциально могла бы строить лучший прогноз, чем нейронная сеть с 4 входами, однако в этом случае мы имеем всего 1 обучающий пример, и обучение бессмысленно. При выборе числа входов нейронной сети следует учитывать это, выбирая разумный компромисс между глубиной предсказания (число входов нейронной сети) и качеством обучения нейронной сети (объем тренировочного набора).
Рисунок 3.3 – Подготовка данных для нейронной сети
- Інформаційні системи та технології в управлінні методичні вказівки
- 1 Введення до систем підтримки прийняття рішень 4
- 2 Бізнес - прогнозування 25
- 3 Кластерний аналіз в бізнес-аналітиці 43
- 4 Вирішення задач класифікації
- 5 Література 120
- 1 Введение в Системы Поддержки Принятия Решений (сппр)
- 1.1 Определение сппр
- 1.2 Классификация сппр
- 1.3 Архитектура сппр
- 1.4 Анализ данных – основные принципы
- 1.5 Базовые методы анализа
- 1) Online Analytical Processing
- 2) Knowledge Discovery in Databases
- 3) Data Mining
- 1.6 Примеры задач, где применяются методы Data Mining
- 1.7 Программа Deductor – платформа для создания сппр
- 1.8 Контрольные вопросы
- 2 Корреляционный анализ
- 2.1 Теоретические сведения
- 2.3 Задание для самостоятельной работы
- 2.4. Контрольные вопросы
- 3 Бизнес - Прогнозирование
- 3.1 Теоретические сведения
- 3.2 Компьютерные пакеты для решения задач прогнозирования
- 3.3 Временные ряды
- 3.3.1 "Наивные" модели прогнозирования
- 3.3.2 Средние и скользящие средние
- 3.3.3 Моделирование временного ряда
- Ar(p) -авторегрессионая модель порядка p. Модель имеет вид:
- 3.3.4 Нейросетевые модели прогнозирования
- 3.3.6 Предобработка данных
- 3.4 Пример прогнозирования с помощью линейной регрессии
- 3.4.1 Импорт данных из файла
- 3.4.2 Настройка параметров столбцов
- 3.4.3 Расчет автокорреляции столбцов
- 3.4.4 Удаление аномалий
- 3.4.5 Сглаживание данных – удаление шумов
- 3.4.6 Преобразование данных к скользящему окну
- 3.4.7 Прогнозирование с помощью линейной регрессии
- 3.5 Прогнозирование с помощью нейронных сетей
- 3.5.1 Исходные данные
- 3.5.2 Удаление аномалий и сглаживание
- 3.5.3 Обучение нейросети (прогноз на 1 месяц вперед)
- 3.5.4 Построение прогноза
- 3.5.5 Результат
- 3.5.6 Выводы
- 3.6 Задание к лабораторной работе
- 3.7 Контрольные вопросы
- 4 Кластерный анализ в бизнес-аналитике
- 4.1. Теоретические основы
- 4.2 Меры близости в алгоритмах кластеризации
- 4.3 Алгоритмы кластеризации
- 4.4 Решение типовой задачи кластеризации в Deductor
- 4.4.1 Кластеризация
- 4.4.2 Выводы
- 4.6 Задания для самостоятельной работы
- 4.7 Контрольные вопросы
- 5 Методы решения задач классификации
- 5.1 Опис процесу класифікації
- 5.2 Оцінка якості моделі класифікації
- 5.3 Скоринговые модели для оценки кредитоспособности заемщиков – пример задачи классификации на основе логистической регрессии
- 5.3.1 Постановка задачи
- 5.3.2 Скоринговая карта на основе логистической регрессии
- 5.3.3 Построение модели в системе Deductor.
- 5.4 Классификация на основе дерева решений
- 5.4.1 Процесс конструирования дерева решений
- 5.4.2 Скоринговая модель на основе дерева решений
- 5.3.4 Интерактивное дерево решений
- 5. Задания к лабораторной работе
- 5.5 Контрольные вопросы
- 5 Литература