Data Mining

         

Инструмент KXEN


Мы продолжаем изучение ведущих мировых производителей программного обеспечения Data Mining. В этой лекции мы остановимся на программном обеспечении KXEN, которое является разработкой одноименной французско-американской компании [116], работающей на рынке с 1998 года. Аббревиатура KXEN означает "Knowledge eXtraction Engines" - "движки" для извлечения знаний.

Сразу следует сказать, что разработка KXEN имеет особый подход к анализу данных [117]. В KXEN нет деревьев решений, нейронных сетей и других популярных техник.

KXEN - это инструмент для моделирования, который позволяет говорить об эволюции Data Mining и реинжиниринге аналитического процесса в организации в целом.

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

Следует отметить, что все происходящее внутри KXEN сильно отличается (по крайней мере, по своей философии) от того, что мы привыкли считать традиционным Data Mining.

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

KXEN охватывает четыре основных типа аналитических задач:

Задачи регрессии/классификации (в т.ч. определение вкладов переменных);Задачи сегментации/кластеризации;Анализ временных рядов;Поиск ассоциативных правил (анализ потребительской корзины).

Построенная модель в результате становится механизмом анализа, т.е. частью бизнес-процесса организации. Главная идея здесь - на основе построенных моделей создать систему "сквозного" анализа происходящих процессов, позволяющую автоматически производить их оценку и строить прогнозы в режиме реального времени (по мере того, как те или иные операции фиксируются учетными системами организации).



Предпосылки создания KXEN


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

Что же дает такая структура? Вместо того, чтобы случайным образом выбирать и опробовать все имеющиеся методы, она позволяет определить направление для поиска и сравнения методов между собой. Возникает резонный вопрос: "Так значит, все-таки нужно иметь все эти методы, чтобы сравнивать их между собой?" Ответ: "нет". И вот почему.

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

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

Тот математический аппарат, который заложен в KXEN, в ходе анализа строит несколько конкурирующих моделей. Но этот процесс осуществляется не случайным образом (перебором разных методов моделирования), а путем изучения различных наборов моделей с опорой на Теорию минимизации структурного риска В. Вапника (Structured Risk Minimization). Создатели KXEN разработали механизм сравнения моделей, с тем чтобы добиться наилучшего соотношения между их точностью и надежностью, и уже эту оптимальную модель представить в качестве результата анализа пользователю.


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

Каким же образом KXEN решает эту проблему? Разработчики KXEN интегрировали способы автоматической обработки отсутствующих и нетипичных значений и технологию предварительного кодирования. Подготовка данных в KXEN разделена на два этапа. На первом этапе, который называется "преобразование данных" (Data Manipulation), специалисты в предметной области выбирают в базе данных или самостоятельно создают атрибуты (переменные, столбцы), которые могут представлять интерес для их задачи. Например, ни одна автоматическая система не скажет, что последняя пятница месяца является хорошим индикатором для прогнозирования денежных потоков между банками. Второй этап подготовки данных включает в себя оптимальное кодирование указанных атрибутов для их наилучшего анализа в рамках выбранных алгоритмов. Задача KXEN заключается в том, чтобы, как только бизнес-пользователь проведет описание задачи, обеспечить автоматическое кодирование соответствующих данных и извлечь максимум сведений по поставленному вопросу.

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

Сами по себе методы описательного и предсказательного анализа бесполезны.


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

Четкий и лаконичный API.Возможность интеграции в любой пользовательский интерфейс.Отсутствие необходимости временного или постоянного копирования данных для анализа. Это требование отражает ограничение на архитектуру. Разработчики KXEN намеренно отказались от копирования данных во временное хранилище в процессе анализа. Тренировка моделей в KXEN осуществляется путем нескольких разверток на данных, т.е. "на лету" (строка за строкой). Правда, в этом случае от пользователя может потребоваться посмотреть на выборку несколько раз в зависимости от компонент, которые включаются в анализ.

Возможность внедрения моделей в операционную среду компании. Выполнение этого требования дает возможность не только производить моделирование в режиме on-line, но и экспортировать построенные модели, используя другие программные языки, например Java, SQL, PMML и др. Встраивание модели KXEN в виде программного кода в рабочую базу данных позволяет производить анализ и получать прогнозную оценку в регулярном режиме.

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

Примером такого партнерства является специальный модуль KXEN для Clementine, хорошо известного приложения Data Mining от SPSS, который интересен как с точки зрения самой интеграции приложений, так и сочетания KXEN с более традиционными техниками Data Mining.



И еще один вопрос, который часто задается потенциальными партнерами: "Зачем мне встраивать технологию KXEN вместо того, чтобы просто связать свое приложение с приложением одного из вендоров (продавцов) Data Mining?" Ответ на этот вопрос следующий: практический опыт показал, что использование дескриптивного анализа и прогнозирования не заканчивается построением модели. Данные меняются со временем, и необходимо периодически производить мониторинг эффективности моделей с целью принятия решения об их корректировке или выставления меток в операционной среде. Компания KXEN включила управление конфигурацией модели в API, тем самым обеспечив сигнализацию об автоматическом выявлении отклонений на входных распределениях или во взаимосвязях входов-выходов. Очевидно, в последнем случае необходимо использование надежных методов, потому что статистические отклонения в производительности модели не должны являться следствием техники моделирования, но должны идентифицировать различия в данных, которые требуется моделировать.

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

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

Реинжиниринг аналитического процесса


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

Особенность KXEN заключается в том, что заложенный в него математический аппарат (на основе Теории минимизации структурного риска Владимира Вапника) позволяет практически полностью автоматизировать процесс построения моделей и на порядок увеличить скорость проводимого анализа. Отличия традиционного процесса Data Mining и подхода KXEN приведены на рис. 27.1.


Рис. 27.1.  Отличия традиционного процесса Data Mining и подхода KXEN

Таким образом, построение модели в KXEN из исследовательского проекта превращается в функцию предсказательного анализа в режиме on-line в формате "вопрос-ответ". Причем ответы даются в тех же терминах, в которых был сформулирован вопрос, и задача пользователя сводится к тому, чтобы задавать нужные вопросы и указывать данные для анализа.

Среди преимуществ KXEN можно назвать:

Удобная и безопасная работа с данными: данные никуда не перегружаются, KXEN обрабатывает их строка за строкой (текстовые файлы или интеграция с DB2, Oracle и MS SQL Server, в т.ч. через ODBC);Наглядность результатов моделирования, легкость для понимания: графическое отображение моделей + score-карты;Широкие возможности применения моделей: автоматическая генерация кода моделей на языках С++, XML, PMML, HTML, AWK, SQL, JAVA, VB, SAS, при этом модель сможет работать автономно.

KXEN Analytic Framework по своей


KXEN Analytic Framework по своей сути не является монолитным приложением, а выполняет роль компонента, который встраивается в существующую программную среду. Этот "движок" может быть подключен к DBMS-системам (например, Oracle или MS SQL-Server) через протоколы ODBS.

KXEN Analytic Framework представляет собой набор модулей для проведения описательного и предсказательного анализа. Учитывая специфику задач конкретной организации, конструируется оптимальный вариант программного обеспечения KXEN. Благодаря открытым программным интерфейсам, KXEN легко встраивается в существующие системы организации. Поэтому форма представления результатов анализа, с которой будут работать сотрудники на местах, может определяться пожеланиями Заказчика и особенностями его бизнес-процесса. На рис. 27.2 представлена структура KXEN Analytic Framework Version 3.0.


Рис. 27.2.  Структура KXEN Analytic Framework Version 3.0

Рассмотрим ключевые компоненты системы KXEN.



Компонент Агрегирования Событий (KXEN Event Log - KEL) предназначен для агрегирования событий, произошедших за определенные периоды времени. Применение KEL позволяет соединить транзакционные данные с демографическими данными о клиенте. Компонент используется в случаях, когда "сырые" данные содержат одновременно статическую информацию (например, возраст, пол или профессия индивида) и динамические переменные (например, шаблоны покупок или транзакции по кредитной карте). Данные автоматически агрегируются внутри определенных пользователем интервалов без программирования на SQL или внесения изменений в схему базы данных. Компонент KEL комбинирует и сжимает эти данные для того, чтобы сделать их доступными для других компонентов KXEN.

Преимуществом использования данного компонента является возможность интегрировать дополнительные источники информации "на лету" для того, чтобы улучшить качество модели.



Компонент Кодирования Последовательностей (KXEN Sequence Coder - KSC) позволяет агрегировать события в серии транзакций.


Например, поток "кликов" клиента, фиксирующийся на Web-сайте, может трансформироваться в ряды данных для каждой сессии. Каждая колонка отражает конкретный переход с одной страницы на другую. Как и в случае с KEL, новые колонки данных могут добавляться к существующим данным о клиентах и доступны для обработки другими компонентами KXEN.

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



Компонент Согласованного Кодирования (KXEN Consistent Coder - K2C) позволяет автоматически подготовить данные и трансформировать их в формат, подходящий для использования аналитическими приложениями KXEN. Использование K2C позволяет трансформировать номинальные и порядковые переменные, автоматически заполнять отсутствующие значения и выявлять выбросы.

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



Компонент Робастной Регрессии (KXEN Robust Regression - K2R) использует подходящий регрессионный алгоритм для того, чтобы построить модели, описывающие существующие зависимости, и сгенерировать прогнозирующие модели. Эти модели могут затем применяться для скоринга, регрессии и классификации. В отличие от традиционных регрессионных алгоритмов, использование K2R позволяет безопасно справляться с большим количеством переменных (более 10 000). Модуль K2R строит индикаторы и графики, которые позволяют легко убедиться в качестве и надежности построенной модели.

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



Компонент Интеллектуальной Сегментации (KXEN Smart Segmenter - K2S) позволяет выявить естественные группы (кластеры) в наборе данных. Модуль оптимизирован для того, чтобы находить кластеры, которые относятся к конкретной поставленной задаче.


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

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



Машина Опорных Векторов KXEN (Support Vector Machine - KSVM) позволяет производить бинарную классификацию. Использование компонента подходит для решения задач, основанных на наборах данных с небольшим количеством наблюдений и большим количеством переменных. Это делает модуль идеальным для решения задач в областях с очень большим количеством размерностей, таких как медицина и биология.

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



Компонент Анализа Временных Рядов (KXEN Time Series - KTS) позволяет прогнозировать значимые шаблоны и тренды во временных рядах. Используйте накопившиеся хронологические данные для того, чтобы спрогнозировать результаты следующих периодов. Модуль KTS выявляет тренды, периодичность и сезонность для того, чтобы получить точные и достоверные прогнозы.

Преимущество: Появляется возможность подстроиться под повторяющиеся шаблоны Вашего бизнеса и предсказывать сокращения поставок до того как они произойдут.



Компонент Экспорта Моделей (KXEN Model Export - KMX) позволяет создавать коды различного типа: SQL, C, VB, SAS, PMML и многих других для встраивания в существующие приложения и бизнес-процессы. Построенная модель в виде кода может быть передана на другую машину для дальнейшего анализа данных в пакетном либо интерактивном режиме.

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


Технические характеристики продукта


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

Средства KXEN представляют собой приложения в архитектуре Клиент/сервер. Сервер KXEN осуществляет жизненный цикл модели - построение, обучение, корректировку, использование новых данных. С Клиентов осуществляется управление указанными процессами. Могут быть использованы стандартные клиентские рабочие места, поставляемые KXEN, или разработаны новые под конкретные задачи. Клиентское программное обеспечение KXEN поставляется с исходными кодами и может быть модифицировано или взято в качестве основы для собственной разработки.

Цель дальнейшего материала - познакомить студента с логическими доводами и соображениями, которые легли в основу создания KXEN.

Этот материал будет, в первую очередь, полезен с точки зрения выбора инструментов и методов предсказательного анализа для решения бизнес-задач. Он поможет произвести оценку KXEN и сопоставить его с традиционными решениями в области Data Mining.

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



Технология IOLAP


И, в заключение, рассмотрим технологию IOLAPTM от KXEN - интеллектуальную оперативную аналитическую обработку, позволяющую извлечь из данных наиболее релевантную информацию.

Традиционные OLAP-инструменты предоставляют богатую функциональность для детализации, выделения срезов, движения по данным. Однако при значительных объемах информации возникают ограничения в использовании этой функциональности. Как, например, узнать, какие из 200 измерений в кубе имеют существенное отношение к интересующему пользователя вопросу?

Что позволяет IOLAP:

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

Технология IOLAPТМ использует алгоритмы, заложенные в аналитических приложениях KXEN, и доступна для работы через Microsoft Excel. Технология IOLAPТМ легко интегрируется с другими OLAP-средствами и интерфейсами пользователей.