Средства бизнес-анализа в SQL Server 2005

Часть 7. Прогнозирование взаимосвязанных событий

Наталия Елманова

Алгоритм Microsoft Association Rules

Общие принципы

Создание и обучение модели

Результаты обучения модели

Алгоритм Microsoft Sequence Clustering

Общие принципы

Создание и обучение модели

Результаты обучения модели

Заключение

 

В предыдущей статье данного цикла (см. КомпьютерПресс № 11’2006) речь шла о применении алгоритма временных рядов, используемого для прогнозирования поведения данных в будущем на основе информации об их поведении в прошлом. Сегодня, завершая наше знакомство со средствами бизнес-анализа в SQL Server 2005, мы рассмотрим алгоритмы Microsoft Association Rules и Microsoft Sequence Clustering, также впервые реализованные в версии SQL Server 2005 и предназначенные для прогнозирования взаимосвязанных событий.

Алгоритм Microsoft Association Rules

Общие принципы

Алгоритм Microsoft Association Rules предназначен для определения правил наиболее вероятного совместного появления нескольких объектов, например товаров, приобретенных одним и тем же клиентом или купленных совместно, и их применения для предсказания появления данного товара при наличии у клиента (или в заказе) других товаров. Анализ данных с целью выявления наиболее вероятных наборов товаров, приобретаемых совместно, или анализ так называемой корзины покупателя (market basket analysis), является основной сферой применения этого алгоритма (именно такой пример и будет рассмотрен ниже).

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

Алгоритм Microsoft Association Rules чувствителен к выбору параметров, поэтому на небольших выборках и наборах объектов он может оказаться менее эффективным, нежели алгоритм деревьев принятия решений.

Создание и обучение модели

В предыдущих статьях была подробно рассмотрена последовательность создания моделей Data Mining с помощью SQL Server Business Intelligence Development Studio. Для выполнения описанного ниже примера можно воспользоваться либо готовым проектом, созданным во время изучения алгоритмов, рассмотренных в предыдущих статьях, либо создать новое представление источников данных в соответствии с описанием, приведенным в одной из предыдущих статей данного цикла (см. КомпьютерПресс № 3’2006). В нашем примере мы воспользовались готовой базой данных AdventureWorks, входящей в комплект поставки SQL Server 2005.

Как и в предыдущих случаях, следует приступить к созданию структуры модели (Mining Structure), выбрав соответствующий пункт контекстного меню папки Mining Structures, затем выбрать модель Data Mining (в данном случае — Microsoft Association Rules), используемое представление источников данных (в данном случае — AdventureWorksDW) , таблицы, содержащие строки, предназначенные для обучения модели (в данном случае — vAssocSecOrders и vAssocSecLineItems).

В примере следует также указать, какая из таблиц содержит сведения о случаях совместного появления объектов — case table (в данном случае — заказов) и о появлениях самих объектов — nested table (в данном случае — товаров) — рис. 1.

 

Выбор таблиц со сведениями о случаях совместного появления объектов и о появлениях объектов

Рис. 1. Выбор таблиц со сведениями о случаях совместного появления объектов
и о появлениях объектов

Далее следует выбрать прогнозируемые атрибуты (значения которых в дальнейшем нужно будет предсказывать) и входные атрибуты (на основании которых будет осуществляться прогноз) — рис. 2.

 

Выбор входных и прогнозируемых атрибутов

Рис. 2. Выбор входных и прогнозируемых атрибутов

Присвоим модели и структуре Data Mining имя Association и сохраним модель (рис. 3).

 

Сохранение модели Data Mining

Рис. 3. Сохранение модели Data Mining

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

Как уже было отмечено, на поведение модели, созданной с применением алгоритма Microsoft Association Rules, могут существенно влиять некоторые его параметры, в частности параметры Support и Probability. Первый из них равен минимальной доле случаев совместного появления объектов во всем наборе, которая считается существенной для формирования правил. Второй параметр равен минимальной вероятности ассоциации (совместного появления объектов), которая считается важной для формирования правил.

Изменим одно из свойств только что созданной модели. Для этого на закладке Mining Models выберем колонку Forecasting, а из ее контекстного меню — пункт Set Algorithm Parameters (рис. 4).

 

Изменение свойств модели

Рис. 4. Изменение свойств модели

Установим следующие значения параметров:

 

MINIMUM_PROBABILITY = 0.1

MINIMUM_SUPPORT = 0.01

 

Теперь можно приступать к обучению модели. Для этого, как и в предыдущих случаях, из того же контекстного меню колонки Forecasting выберем пункт Process Mining Structure and All Models и в диалоговой панели Process Mining Structure — Forecasting щелкнем на кнопке Run. В появившейся диалоговой панели Process Progress будет отображаться состояние процесса выполнения обучения модели, а также список выполняемых операций (рис. 5).

 

Обучение модели Data Mining

Рис. 5. Обучение модели Data Mining

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

Результаты обучения модели

Для просмотра результатов обучения модели мы, как и в прошлый раз, воспользуемся средством Mining Model Viewer, содержащим в данном случае три закладки.

Закладка Itemsets отображает для каждого набора объектов (товаров) следующие данные: число заказов, в которых присутствует данный набор; количество товаров в наборе; состав набора. Эти данные можно фильтровать, выбирая минимальные значения числа заказов (в которых появляется набор) и количества товара в наборе. Можно также выбирать конкретные элементы наборов — к примеру, выбрав один из товаров, можно получить сведения о появлении в заказах различных наборов, включающих данный товар (рис. 6).

 

Закладка Itemsets

Рис. 6. Закладка Itemsets

Закладка Rules отображает правила, сформированные в результате обучения модели. Для каждого правила на ней отображаются формулировка, вероятность его выполнения и важность (то есть значимость факта его выполнения для прогнозирования, которая в большинстве случаев не связана с вероятностью). Эти данные можно фильтровать, выбирая наиболее важные правила или наиболее вероятные из них. Как и на закладке Itemsets, на закладке Rules можно также выбирать конкретные элементы наборов (рис. 7).

 

Закладка Rules

Рис. 7. Закладка Rules

Закладка Dependency Network позволяет исследовать связи между товарами в модели. Перемещая ползунок в соответствующем элементе управления в левой части данной закладки, можно менять вероятность возникновения правила, связывающего два товара, и наблюдать, как постепенно исчезают линии, отображающие наиболее слабые связи (рис. 8). Выбрав конкретный товар на закладке, можно проследить цепочку связей между ним и остальными товарами (товары, приобретаемые совместно с данным, плюс товары, приобретаемые совместно с этими товарами, и т.д.) — рис. 9.

 

Закладка Dependency Network — просмотр связей

Рис. 8. Закладка Dependency Network — просмотр связей

Закладка Dependency Network — просмотр цепочки связей для конкретного товара

Рис. 9. Закладка Dependency Network — просмотр цепочки связей
для конкретного товара

***

Итак, мы рассмотрели применение алгоритма Microsoft Association Rules для выявления ассоциаций — правил совместного появления объектов, например товаров в заказах. Однако нередко может оказаться интересной и последовательность отбора товаров покупателями — поняв правила, на основе которых происходит подобный отбор, можно более эффективно проектировать и интернет-магазины, и обычные торговые точки. Алгоритму, который решает подобные задачи, будет посвящена следующая часть данной статьи.

Алгоритм Microsoft Sequence Clustering

Общие принципы

Алгоритм последовательной кластеризации (Microsoft Sequence Clustering) сочетает анализ последовательности операций с кластеризацией. Хотя этот алгоритм чувствителен к последовательности возникновения событий, он учитывает и другие атрибуты при группировке данных в кластеры, что позволяет создать модель, в которой есть корреляция между последовательной и непоследовательной информацией.

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

Создание и обучение модели

Как и в предыдущем примере, нам следует создать структуру модели, но в качестве типа модели необходимо выбрать Microsoft Sequence Clustering. Выберем то же представление данных AdventureWorksDW и те же самые таблицы vAssocSecOrders и vAssocSecLineItems.

Далее следует задать прогнозируемые (значения которых в дальнейшем нужно будет предсказывать) и входные атрибуты (на их основании будет осуществляться прогноз) — рис. 10.

 

Выбор входных и прогнозируемых атрибутов

Рис. 10. Выбор входных и прогнозируемых атрибутов

Присвоим модели и структуре Data Mining имя Sequence Clustering и сохраним модель.

В данном случае можно воспользоваться значениями параметров модели, принятыми по умолчанию, поэтому можно сразу приступить к обучению модели, для чего, как и ранее, из контекстного меню колонки Forecasting выберем пункт Process Mining Structure and All Models и в диалоговой панели Process Mining Structure — Forecasting щелкнем на кнопке Run.

Результаты обучения модели

Для данного алгоритма средство просмотра Model Viewer содержит пять закладок.

Закладка Cluster Diagram отображает кластеры, найденные в базе данных в процессе обучения модели, и связи между ними. Интенсивность окраски значков кластеров по умолчанию соответствует количеству наборов в кластере, однако правила окрашивания этих значков можно менять, выбирая соответствующий атрибут и его состояние из выпадающих списков в верхней части закладки (рис. 11).

 

Закладка Cluster Diagram

Рис. 11. Закладка Cluster Diagram

Закладка Cluster Profiles отображает последовательность возникновения событий (в данном примере — помещения товара в корзину в интернет-магазине) в каждом кластере, распределение товаров в каждом кластере, примеры поведения случайно выбранного пользователя из кластера (рис. 12).

 

Закладка Cluster Profiles

Рис. 12. Закладка Cluster Profiles

Закладка Cluster Characteristics для каждого кластера отображает различные смены состояний корзины в кластере, их вероятность и степень важности. На основе этих данных можно определить, какими именно действиями пользователя в первую очередь характеризуется выбранный кластер (например, помещением в корзину первым конкретного товара либо помещением одного товара вслед за другим) — рис. 13.

 

Закладка Cluster Characteristics

Рис. 13. Закладка Cluster Characteristics

Закладка Cluster Discrimination позволяет сравнивать кластеры между собой, определяя, какие корреляции между событиями соответствуют каждому из кластеров (рис. 14).

 

Закладка Cluster Discrimination

Рис. 14. Закладка Cluster Discrimination

Закладка State Transitions позволяет просмотреть возможные последовательности событий в кластерах. К примеру, выбрав кластер, соответствующий какому-либо товару, помещенному в корзину первым, можно определить вероятность последующего приобретения других товаров (рис. 15).

 

Закладка State Transitions

Рис. 15. Закладка State Transitions

Заключение

В настоящей статье мы рассмотрели алгоритмы, предназначенные для прогнозирования взаимосвязанных событий — Microsoft Association Rules и Microsoft Sequence Clustering, впервые реализованные в версии SQL Server 2005. На этом мы пока закончим рассмотрение алгоритмов Data Mining и других средств бизнес-анализа данной СУБД. Однако заметим, что в ожидаемой в этом году новой версии Microsoft Office будет много интересных средств применения и отображения результатов бизнес-анализа, предоставляемых аналитическими службами SQL Server 2005, поэтому вскоре мы снова вернемся к данной теме.

 

В начало В начало

КомпьютерПресс 2'2007