- •Інформаційні системи та технології в управлінні методичні вказівки
- •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 Литература
Ar(p) -авторегрессионая модель порядка p. Модель имеет вид:
(3.4)
где - зависимая переменная в момент времени t.
- оцениваемые параметры. - ошибка от влияния переменных, которые не учитываются в данной модели.
Задача заключается в том, чтобы определить . Их можно оценить различными способами. Один из наиболее простых способов - посчитать их методом наименьших квадратов.
Термин авторегрессия для обозначения модели (3.4) используется потому, что она фактически представляет собой модель регрессии, в которой регрессорами служат лаги изучаемого ряда . По определению авторегрессии ошибки Et являются белым шумом и некоррелированы с лагами . Таким образом, выполнены все основные предположения регрессионного анализа: ошибки имеют нулевое математическое ожидание, некоррелированы с регрессорами, не автокоррелированы и гомоскедастичны. Следовательно, модель (3.4) можно оценивать с помощью обычного метода наименьших квадратов. Отметим, что при таком оценивании p начальных наблюдений теряются.
После построения любой модели временного ряда, прежде, чем прогнозировать по этой модели, нужно убедиться в ее адекватности, т.е. убедиться, что остатки некоррелированы между собой.
Критерий Дарбина-Уотсона является наиболее распространенным критерием для проверки корреляции внутри ряда. Если величина
, где - расхождение между фактическими и расчетными уровнями, имеет значение, близкое к 2, то можно считать модель достаточно адекватной. Когда адекватная модель найдена, можно делать прогнозы на один или несколько периодов вперед.
3.3.4 Нейросетевые модели прогнозирования
В настоящее время самым перспективным количественным методом прогнозирования является использование нейронных сетей. Можно назвать много преимуществ нейронных сетей над остальными алгоритмами, ниже приведены два основных.
При использовании нейронных сетей легко исследовать зависимость прогнозируемой величины от независимых переменных. Например, есть предположение, что продажи на следующей неделе каким-то образом зависят от следующих параметров:
продаж в последнюю неделю;
продаж в предпоследнюю неделю;
времени прокрутки рекламных роликов (TRP);
количества рабочих дней;
температуры;
...
Кроме того, продажи носят сезонный характер, имеют тренд и как-то зависят от активности конкурентов.
Хотелось бы построить систему, которая бы все это естественным образом учитывала и строила бы краткосрочные прогнозы.
В такой постановке задачи большая часть классических методов прогнозирования будет просто несостоятельной. Можно попробовать построить систему на основе нелинейной множественной регрессии, или вариации сезонного алгоритма ARIMA, позволяющей учитывать внешние параметры, но это будут модели, скорее всего, малоэффективные (за счет субъективного выбора модели) и крайне негибкие.
Используя же даже самую простую нейросетевую архитектуру (персептрон с одним скрытым слоем) и базу данных (с продажами и всеми параметрами) легко получить работающую систему прогнозирования. Причем учет, или не учет системой внешних параметров будет определяться включением, или исключением соответствующего входа в нейронную сеть.
Возможно с самого начала воспользоваться каким-либо алгоритмом определения важности и сразу определить значимость входных переменных, чтобы потом исключить из рассмотрения мало влияющие параметры.
Построение нейросетевой модели происходит адаптивно во время обучения, без участия эксперта. При этом нейронной сети предъявляются примеры из базы данных и она сама подстраивается под эти данные.
- Подготовка данных для обучения нейронной сети
Пусть у нас имеется база данных, содержащая значения курса за последние 300 дней. Простейший вариант в данном случае - попытаться построить прогноз завтрашней цены на основе курсов за последние несколько дней. Понятно, что прогнозирующая нейронная сеть должна иметь всего один выход и столько входов, сколько предыдущих значений мы хотим использовать для прогноза - например, 4 последних значения. Составить обучающий пример очень просто - входными значениями нейронной сети будут курсы за 4 последовательных дня, а желаемым выходом нейронной сети - известный нам курс в следующий день за этими четырьмя.
Если нейронная сеть совместима с какой-либо системой обработки электронных таблиц (например, Excel), то подготовка обучающей выборки состоит из следующих операций:
Скопировать столбец данных значений котировок в 4 соседних столбца.
Сдвинуть второй столбец на 1 ячейку вверх, третий столбец - на 2 ячейки вверх и т.д.
Такая операция в программе Deductor называется «Скользящее окно».
Смысл этой подготовки легко увидеть на рисунке 3.3 - теперь каждая строка таблицы представляет собой обучающий пример, где первые 4 числа - входные значения нейронные сети, а пятое число - желаемое значение выхода нейронной сети. Исключение составляют последние 4 строки, где данных недостаточно - эти строки не учитываются при тренировке нейронной сети. Заметим, что в четвертой снизу строке заданы все 4 входных значения, но неизвестно значение выхода нейронной сети. Именно к этой строке мы применим обученную нейронную сеть и получим прогноз на следующий день.
Как видно из этого примера, объем обучающей выборки зависит от выбранного нами количества входов нейронной сети.
Если сделать 299 входов, то такая нейронная сеть потенциально могла бы строить лучший прогноз, чем нейронная сеть с 4 входами, однако в этом случае мы имеем всего 1 обучающий пример, и обучение бессмысленно. При выборе числа входов нейронной сети следует учитывать это, выбирая разумный компромисс между глубиной предсказания (число входов нейронной сети) и качеством обучения нейронной сети (объем тренировочного набора).
Рисунок 3.3 – Подготовка данных для нейронной сети