Deductor 5.2 - что нового?

С момента выхода прошлой версии Deductor 5.1 прошло немало времени, и ожидаемо, что в новом релизе появилось довольно много нововведений, которые затронули почти все звенья платформы: визуализацию, обработчики и ядро системы в целом. Традиционно часть новшеств коснулась улучшения пользовательского интерфейса и облегчения труда аналитика по созданию сценариев. Кроме этого, была проделана большая работа по повышению производительности и скорости обработки данных, которую "с ходу" заметить не получится.

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

Новое хранилище данных

Следующая версия хранилища данных (ХД) получила номер 6 и теперь именуется Deductor Warehouse 6. Впрочем, полностью сохранена работа с прежними версиями, поэтому в обязательной необходимости перевода существующих проектов на новое ХД нет.

Внешне новое хранилище данных выглядит практически как старое, если не принимать в расчет некоторые "косметические" добавления. Что же изменилось?

Во-первых, была полностью переработана внутренняя структура хранилища и изменена организация хранения данных. Теперь это полноценная ROLAP-модель "снежинка". Напомним, в 4-м и 5-м хранилище все данные складывались в фиксированное число таблиц. То есть реализация ROLAP-модели была такой, что при каком угодно числе процессов ("многомерных кубов") и измерений в хранилище число реляционных таблиц для хранения данных всегда оставалось постоянным. Например, в Deductor Warehouse 5 было четыре таблицы: для измерений, иерархии измерений, фактов и атрибутов и таблица координат. В этом был большой плюс: изменение структуры хранилища никак не отражалось на количестве таблиц, добавлялись лишь данные в описательные таблицы метаданных.

Очевидно, что подобная структура достаточно проста с точки зрения ее реализации, но в то же время имеет существенный недостаток – сложность SQL-запросов к хранилищу, что выражается в медленной обработке запросов к хранилищам с большими объемами данных.

Схема хранилища данных

В Deductor Warehouse 6 каждое измерение и процесс хранятся в отдельной таблице. Это способствует лучшему пониманию того, как хранятся данные, и соответствует классической реализации ROLAP-модели. Скорость ответа на нерегламентированный запрос благодаря новой архитектуре стала значительно выше. Но и ее можно увеличить, предварительно (например, ночью) "обсчитав" какой-то определенный срез из ХД. Для этого в дереве объектов Deductor Warehouse 6 появился "Куб". Он не связан ни с какими другими объектами ХД, поэтому скорость выполнения запросов к нему самая высокая и зависит целиком и полностью от используемой СУБД и "железа".

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

Обсчитанные кубы в хранилище данных

Кроме того, для хранилищ на базе СУБД MS SQL и Oracle появилась возможность задания непосредственно в редакторе табличных пространств для объектов хранилища (т.н. Tablespace в Oracle и Data Space в SQL Server): кубов, процессов, измерений.

Хранилище данных - использование табличных пространств

Нельзя сказать, что новая реализация ROLAP-модели имеет одни плюсы, присутствуют и минусы. Самый главный – теперь любое изменение структуры хранилища выливается в набор DDL-операций на языке SQL. То есть редактирование структуры ХД есть, по сути, процесс добавления, удаления полей и таблиц реляционной базы данных, а такие операции более серьезные, чем просто SQL-операторы UPDATE/INSERT, работающие со строками таблиц. Поэтому в Deductor Warehouse 6 нужно тщательно подходить к проектированию структура хранилища.

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

Хранилище данных - настройка структуры

При импорте из ХД появилась возможность использования фильтра на основе переменных Deductor: теперь в пакетном/серверном режиме можно запускать сценарий и передавать что нужно импортировать в значении переменной.

Хранилище данных настройка фильтрации

Изменения в архитектуре ядра

В архитектуре ядра сделано значимое изменение – теперь узел-обработчик Deductor на выходе может продуцировать не один, а несколько наборов данных. Такие узлы получили название зависимых. Например, на выходе узла Линейная регрессия, помимо таблицы с выходными результатами регрессионной модели для каждой строки набора данных, таблица с коэффициентами регрессии.

Новые обработчики

Версия 5.2 порадует пользователей как совершенно новыми обработчиками, так и изменению существующих. Рассмотрим их.

Узлы "Кросс-таблица" и "Свертка столбцов"

Визуализатор OLAP-куб (ранее он назывался Кросс-Таблица) помогает представлять данные в различных разрезах, в удобном для анализа виде. Но что делать, если некоторые из операций с кубом, таких как транспонирование и поворот, нужно проделать с набором данных, который будет обрабатываться следующими узлами? Раньше проблему можно было решить только отчасти и то с применением большого числа обработчиков Калькулятор и Слияние.

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

Свертка столбцов

Обратную операцию делает узел Кросс-таблица: он переносит значения поля в заголовки строк и столбцов.

Кросс-таблица

Групповая обработка

Этот обработчик похож на узел Скрипт, но в отличие от него "прогоняет"готовую ветвь сценария не по всему исходному набору данных, а к его отдельным группам. Группы определяются по указанной совокупности полей. Если сравнивать с языками программирования, то узел позволяет как бы организовать цикл внутри сценария.

Групповая обработка

Алгоритмы кластеризации k-means и g-means

Алгоритм k-means по праву можно считать базовым алгоритмом кластеризации в Data Mining. И с версии 5.2 он доступен и в Deductor.

В основе работы алгоритма k-means лежит принцип оптимального в определенном смысле разбиения множества данных на k кластеров. Алгоритм пытается сгруппировать данные в кластеры таким образом, чтобы целевая функция алгоритма разбиения достигала экстремума. Выбор числа k может базироваться на теоретических соображениях или интуиции. А можно отдать эту функцию алгоритмы g-means – и тогда число кластеров будет подобрано автоматически на основании статистического теста на то, что данные внутри каждого кластера подчиняются гауссовскому закону распределения.

Для решения этой задачи может быть использован обработчик Кластеризация. Для разбиения исходного множества могут быть использованы два алгоритма: алгоритм k-means и g-means.

Кластеризация (алгоритм k-means и g-means)

Результатом работы алгоритма k-means является, как и в карте Кохонена, набор данных с присвоенными каждому объекту № кластера. Для более комфортной работы с результатами кластеризации в Deductor 5.2 добавлен новый визуализатор – Профили кластеров. Это кросс-таблица специального вида с двумя измерениями – Кластеры и Поля, с помощью которой можно оценить статистические свойства кластеров и влияние входных полей на кластера.

Профили кластеров

Интерактивное дерево решений

Еще одним новшеством, правда, в существующем узле-обработчике Дерево решений, является возможность работы в полуавтоматическом режиме. Это означает, что пользователь может принять участие в выборе очередного атрибута для разбиения алгоритмом C4.5, даже если он не оптимальный с точки зрения уменьшения энтропии.

Иногда это требуется для учета априорных знаний моделируемой области. Например, при построении скоринговой модели автоматический алгоритм может разбить по атрибуту "Наличие собственного жилья" и не учесть атрибут "Находится ли жильё в залоге". Аналитик же считает, что эти факторы должны учитываться совместно. Тут то и можно "вмешаться" в процесс построения дерева и вручную задавать атрибут, по которому будет осуществляться разбиение (и значение порога дл непрерывного атрибута).

Процесс инкрементного построения дерева решений

Подвергся изменению и сам визуализатор Дерево решений. Следствие правила теперь выводится в отдельной колонке, а рядом в градиентной заливке показывается поддержка и достоверность.

Визуализация дерева решений

Новый "Калькулятор"

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

Калькулятор

Теперь справа находятся три "всплывающие" вкладки Поля, Функции, Операции. Благодаря этому область для ввода выражений расширена. С помощью операций drag&drop можно скомпоновать размещение вкладок по своему вкусу.

Визуализаторы

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

Многомерные визуализаторы

При всем обилии разнообразных визуализаторов, в Deductor было мало многомерных способов отображения табличной информации. В версии 5.2 ситуация значительно улучшилась: появилась Диаграмма размещения и Многомерная диаграмма.

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

Многомерная диаграмма

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

З-х мерная поверхность

Или в виде топографической диаграммы:

Топологическая диаграмма

Улучшенный OLAP-куб

OLAP-куб и кросс-диаграмма тоже обзавелись новым функционалом. Во-первых, в OLAP-кубе появилось сворачивание/разворачивание измерений.

Куб

В кросс-диаграмме можно отображать тренд, выбирая подходящий из нескольких типов.

Настройка параметров тренда

Отображение тренда

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

Вычисляемая ячейка в кубе

Новые возможности версий Professional и Enterprise

Описанные выше новшества доступны во всех версиях платформы Deductor, в том числе и в версии Academic. Но только ими не ограничивается перечень изменений. Целый ряд интересных возможностей стал доступен обладателям коммерческих версий аналитической платформы.

Защита проектов

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

Защита проектов

В распоряжении пользователя имеется три уровня защиты:

  • Защита проекта Deductor;
  • Установка пароля на просмотр проекта через Deductor Viewer;
  • Установка пароля для пакетной обработки.

Применение XML/XLST

Deductor 5.2 умеет импортировать данные из XML-файлов, причем как из стандартных XML-файлов формата DataPacket 2.0, так из XML-файлов произвольного формата. В последнем случае осуществляется приведение файла к формату DataPacket 2.0 при помощи таблицы стилей XSLT (Extensible Stylesheet Language Transformations).

Обработка XML файлов

Поддержка XSLT

Аналогичным образом осуществляется экспорт в XML.

Кэширование

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

Настройка кэша

В специальном окне можно наблюдать информацию об используемой памяти.

Использование кэша

Формат DDF-файлов

DDF расшифровывается как "Deductor Data File". Это особый структурированный файл формата Deductor, т.е. читать и записывать в него данные может только приложение Deductor Studio. Использование такого "родного" ddf имеет большой плюс – операции чтения/записи занимают минимальное время, поскольку данные в памяти Deductor хранятся в таком же формате. Кроме того, не требуется настройка типов и видов данных столбцов – эта служебная информация тоже хранится в ddf-файле.

Deductor Data File

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