- •Deductor
- •Руководство аналитика
- •Введение
- •Анализ данных – основные принципы
- •Два подхода к анализу данных
- •Базовые методы анализа
- •Online Analytical Processing
- •Knowledge Discovery in Databases
- •Data Mining
- •Поддержка процесса от разведочного анализа до отображения данных
- •Тиражирование знаний
- •Основные модули
- •Подготовка сценариев
- •Визуализация данных
- •Работа с отчетами
- •Работа с избранными узлами
- •Пакетная обработка
- •Многомерное представление данных
- •Физическая реализация Deductor Warehouse
- •Создание хранилища данных
- •Подключение к Deductor Warehouse
- •Создание структуры хранилища с помощью Редактора метаданных
- •Загрузка данных в хранилище
- •Процессы
- •Измерения
- •Автоматическая загрузка данных в хранилище
- •Импорт данных из хранилища
- •Импорт процесса
- •Импорт измерения
- •Кубы в хранилище данных
- •Виртуальное хранилище Virtual Warehouse
- •Работа с OLAP-кубом
- •Кросс-таблица
- •Размещение измерений
- •Способы агрегации и отображения фактов
- •Селектор – фильтрация данных в кубе
- •Функция «Калькулятор»
- •Пример
- •Кросс-диаграмма
- •Описание аналитических алгоритмов
- •Очистка данных
- •Парциальная обработка
- •Заполнение пропусков
- •Редактирование аномалий
- •Сглаживание
- •Очистка от шумов
- •Факторный анализ
- •Корреляционный анализ
- •Обнаружение дубликатов и противоречий
- •Фильтрация
- •Трансформация данных
- •Настройка набора данных
- •Скользящее окно
- •Преобразование даты
- •Квантование значений
- •Сортировка
- •Слияние
- •Замена данных
- •Группировка
- •Разгруппировка
- •Кросс-таблица
- •Свертка столбцов
- •Data Mining
- •Автокорреляция
- •Нейронные сети
- •Линейная регрессия
- •Прогнозирование
- •Логистическая регрессия
- •Деревья решений
- •Карты Кохонена
- •Кластеризация (k-means и g-means)
- •Ассоциативные правила
- •Декомпозиция
- •Пользовательские модели
- •Вспомогательные методы обработки
- •Скрипт
- •Групповая обработка
- •Калькулятор
- •Условие
- •Команда ОС
- •Сценарий Deductor
- •Переменные
- •Интерпретация результатов
- •ROC-анализ
- •Анализ «Что-если»
- •Таблица «Что-если»
- •Диаграмма «что–если»
- •Подготовка данных для анализа
- •Выдвижение гипотез
- •Формализация и сбор данных
- •Представление и минимальные объемы необходимых данных
- •Построение моделей – анализ
- •Оптимизация работы и создания сценариев
- •Какие источники использовать
- •Кэширование
- •Динамические фильтры
- •Быстрая подготовка сценариев (скрипты)
- •Использование переменных
- •Обработка сценариев при помощи Deductor Server
- •Пример создания законченного аналитического решения
- •Создание хранилища данных
- •Прогнозирование объемов продаж
- •Поиск оптимальной наценки
- •Анализ потребительской корзины
- •Аналитическая отчетность
- •Создание отчетности
- •Что делать при возникновении ошибок
- •Заключение
- •Дополнительные источники
- •Контакты
www.basegroup.ru
Как видим, качество построенной модели значительно ниже по сравнению с моделями на основе нейронных сетей или линейной регрессии. Тем не менее, учитывая столь маленький объем выборки, даже такая модель прогноза представляет определенный интерес. Диаграмма прогноза, построенного на один месяц, показана на рисунке ниже.
Прогнозируемое значение объема продаж составило 141,67, т.е. средний объем продаж за последние три месяца.
Вспомогательные методы обработки
Помимо перечисленных выше алгоритмов в программе есть обработчики, которые трудно отнести к очистке, трансформации или методам Data Mining. Но эти механизмы обработки могут быть важной частью при создании сценариев для анализа данных.
стр. 140 из 192
www.basegroup.ru
Скрипт
Скрипты предназначены для автоматизации процесса добавления в сценарий однотипных ветвей обработки. По сути скрипт представляет собой динамическую копию выбранного участка сценария. Скрипт является готовой моделью, и поэтому входящие в него узлы не могут быть изменены отдельно от исходной ветки сценария. Тем не менее, на скрипте отражаются все изменения, вносимые в ветку, на которую он ссылается, т.е. при переобучении или перенастройке узлов этой ветки все сделанные изменения будут внесены в работу скрипта.
Аналогом скрипта является функция или процедура в языках программирования. Ветвь обработки строится один раз, а затем скриптами выполняются определенные в ней действия.
Для настройки скрипта достаточно указать начальный и конечный узлы, находящиеся на одной ветви обработки. Тогда при выполнении узла скрипта будут последовательно выполнены начальный, все промежуточные узлы между начальным и конечным и конечный узел.
Если исходный набор данный имеет меньшее число полей, чем начальный компонент цепочки, то система выдаст следующее сообщение: «Количество столбцов начального компонента цепочки не должно быть больше, чем количество столбцов исходного набора данных». При этом в момент обработки скрипта будет предпринята попытка выполнить с имеющимся набором полей. В случае, если какое-то из отсутствующих полей является критичным для любого узла, содержащегося в скипрте, то обработка будет остановлена с выдачей сообщения об ошибке.
Под исходным набором данных подразумевается тот набор данных, к которому применяется обработчик «Скрипт», начальный компонент цепочки – набор данных, на который настраивается «Скрипт».
Нажав кнопку Ок, можно продолжить выполнение данного компонента.
В случае, когда исходный набор данных содержит большее количество полей, чем набор данных, являющийся начальным компонентом цепочки, предусмотрена возможность настройки информационных полей. В данном случае под информационными полями понимаются те поля, которые не будут использоваться в модели, но которые будут помещены в результирующий набор данных, полученный после применения рассматриваемого компонента.
Возможна ситуация, когда столбцам начального компонента цепочки нет сопоставимых столбцов в исходном наборе данных. В такой ситуации система выдаст следующее сообщение: «Столбцам начального компонента цепочки нельзя сопоставить столбцы исходного набора данных». При этом в момент обработки скрипта будет предпринята попытка выполнить с имеющимся набором полей. В случае, если какое-то из отсутствующих полей является критичным для любого узла, содержащегося в скрипте, то обработка будет остановлена с выдачей сообщения об ошибке.
Столбцы исходного набора данных, по которым не было установлено соответствие полям в скрипте, идентифицируются программой как «Информационные» и могут быть при желании добавлены в выходной набор данных. Необходимо иметь в виду, что эти поля появятся в результирующем наборе только если в скрипте не используются следующие обработчики: группировка, разгруппировка и расчет автокорреляции.
Нажав кнопку Оk, можно продолжить выполнение данного компонента.
Основное назначение скриптов – применение готовой модели (фрагмента сценария) к различным наборам данных в рамках одного проекта.
Пример
Пусть даны две таблицы с объемами продаж товара. В первой таблице продажи заданы в разрезе по дням, во второй – по месяцам, причем вторая таблица имеет дополнительное поле «Код товара». Требуется построить прогноз объемов продаж товара на один месяц по обеим таблицам, поскольку неизвестно, какая из них будет подаваться на вход в будущем.
стр. 141 из 192
www.basegroup.ru
Дата (День) |
|
Количество |
|
|
|
|
|
17.09.2000 |
|
3 |
|
|
|
|
|
17.09.2003 |
|
38 |
|
|
|
|
|
18.09.2003 |
|
52 |
|
|
|
|
|
19.09.2003 |
|
43 |
|
|
|
|
|
20.09.2003 |
|
84 |
|
|
|
|
|
21.09.2003 |
|
60 |
|
|
|
|
|
22.09.2003 |
|
78 |
|
|
|
|
|
23.09.2003 |
|
63 |
|
|
|
|
|
24.09.2003 |
|
77 |
|
|
|
|
|
25.09.2003 |
|
78 |
|
|
|
|
|
… |
|
… |
|
|
|
|
|
Количество |
|
Дата (Месяц) |
|
Код товара |
|
|
|
|
|
|
|
3 |
|
01.09.2000 |
|
11698 |
|
|
|
|
|
|
|
3384 |
|
01.10.2003 |
|
10 |
|
|
|
|
|
|
|
4915 |
|
01.11.2003 |
|
10 |
|
|
|
|
|
|
|
7301 |
|
01.12.2003 |
|
10 |
|
|
|
|
|
|
|
6228 |
|
01.01.2004 |
|
10 |
|
|
|
|
|
|
|
6497 |
|
01.02.2004 |
|
10 |
|
|
|
|
|
|
|
… |
|
… |
|
… |
|
|
|
|
|
|
|
Построим ветвь прогноза объема продаж по таблице с данными в месячном разрезе.
Теперь импортируем данные из второй таблицы и преобразуем дату к представлению по месяцам/
стр. 142 из 192
www.basegroup.ru
После узла группировки добавим обработчик «Скрипт» со следующими настройками начального узла.
Здесь узел «Скользящее окно» – начальный компонент цепочки, а узел «Группировка» – исходный набор данных. Поскольку набор данных, к которому применяется обработчик «Скрипт», имеет большее количество полей, чем начальный компонент цепочки, то в мастере обработки можно указать, какие поля в качестве информационных будут включены в результирующий набор данных. В качестве информационного в данном случае выступает поле Код товара.
Конечным узлом укажем обработчик «Прогноз».
Нам не пришлось строить модель прогноза для второй таблицы, вместо этого мы воспользовались уже готовой моделью, применив ее в другой ветви сценария. Полностью выполненный сценарий имеет ниже представленный вид:
стр. 143 из 192