Поиск ассоциативных правил Симашев Артем

advertisement
Поиск
ассоциативных
правил
Симашев Артем
Симашева Зарина
2012
Постановка задачи
Формальная постановка задачи
Наиболее распространенная задача анализа –
определение часто встречающихся наборов
объектов в большом множестве наборов.
Опишем задачу в обобщенном виде:
ij - объекты, входящие в анализируемые наборы;
n - общее количество объектов
В сфере торговли, например, такими объектами являются
товары, представленные в прайс-листе
Идентификатор Наименование
товара
0
Шоколад
1
Чипсы
2
Кокосы
3
Вода
4
Пиво
5
Орехи
Цена
30.00
12.00
10.00
4.00
14.00
15.00
I = {шоколад, чипсы, кокосы, вода, пиво, орехи}.
Опишем транзакцию как подмножество множества
I: т = {ij | ij  I}
Следующие транзакции соответствуют покупкам,
совершаемым потребителями в супермаркете:
Т1 = {чипсы, вола, пиво};
Т2 = {кокосы, вода, орехи}.
Набор транзакций, информация о которых доступна для
анализа, обозначим следующим множеством:
где m - количество доступных для анализа транзакций
Например, в магазине таким множеством будет:
Для использования методов Data Mining множество D
может быть представлено в виде следующей таблицы
Номер
транзакции
Номер товара
Наименование
товара
Цена
0
1
Чипсы
12.00
0
3
Вода
4.00
0
4
Пиво
14.00
1
2
Кокосы
10.00
1
3
Вода
1
5
Орехи
15.00
2
5
Орехи
15.00
2
2
Кокосы
10.00
2
1
Чипсы
12.00
2
2
Кокосы
10.00
2
3
Вода
3
2
Кокосы
10.00
3
5
Орехи
15.00
3
2
Кокосы
10.00
4.00
4.00
Множество транзакций, в которые входит объект ij,
обозначим следующим образом:
В данном примере множеством транзакций, содержащих
объект Вода, является следующее множество:
Некоторый произвольный набор объектов
(itel11set)обозначим следующим образом:
Например,
Набор, состоящий из k объектов, называется k-элементным
набором (в данном примере это 2-элементный набор).
Множество транзакций, в которые входит набор F, обозначим
следующим образом:
В данном примере:
Отношение количества транзакций, в которое входит набор F,
к общему количеству транзакций называется поддержкой
(Support) набора F и обозначается Supp(F) :
Для набора {кокосы, вода} поддержка будет равна 0,5, т. к.
данный набор входит в две транзакции (с номерами 1 и 2), а
Bceго транзакций 4.
При поиске аналитик может указать минимальное значение
поддержки интересующих его наборов Supp(F).
Набор называется частым (large itemset), если
значение eгo поддержки больше минимального значения
поддержки, заданного пользователем:
Таким образом, при поиске ассоциативных правил требуется
найти множество всех частых наборов:
В данном примере частыми наборами при Supp(F)=0,5
являются следующие:
Секвенциальный анализ
При анализе часто вызывает интерес последовательность
происходящих событий. При обнаружении закономерностей в
таких последовательностях можно с некоторой долей
вероятности предсказывать появление событий в будущем,
что позволяет принимать более правильные решения.
Для этого на множестве должно быть задано отношение
порядка.
Тогда последовательность объектов можно описать в
следующем виде:
Пример: в магазине:
Задачей секвенциальноrо анализа является поиск всех частых
последовательностей:
Основным отличием задачи секвенциальноrо анализа от
поиска ассоциативных правил является установление
отношения порядка между объектами множества I.
Данное отношение может быть определено разными
способами.
При анализе последовательности событий, происходящих во
времени, объектами множества I являются события, а
отношение порядка соответствует хронолоrия их появления.
Пример 1 :
При анализе последовательности покупок в супермаркете
наборами являются покупки, совершаемые в разное время
одними и теми же покупателями, а отношением порядка в
них является хронология покупок:
В этом случае возникает проблема идентификации
покупателей. На практике она решается введением
дисконтных карт, имеющих уникальный идентификатор.
Данное множество можно представить в виде
ID покупателя
Последовательность покупок
0
(Пиво), (Вода)
1
(Кокосы, Вода),(Пиво),(Вода, Шоколад, Кокосы)
2
(Пиво, Чипсы, Вода),(Пиво)
Пример 2 :
Анализ актуален и для телекоммуникационных компаний.
Последовательность Ssid содержит сбои, происходящие на
станции с идентификатором sid. Их можно представить в
виде пар (eid, t), где eid - код ошибки, а t - время, когда она
произошла. Т.о., последовательность сбоев на станции с
идентификатором sid будет иметь следующий вид:
Для данной задачи транзакции будут следующие:
Отношение порядка в данном случае задается относительно
времени появления ошибки (значения t).
Последовательность сбоев на телекоммуникационной
станции
При определении поддержки, например, для
последовательности {А, С} учитываются только следующие
наборы: {(А, о: 12), (С, 0:25)}, {(А, 0:38), (С, 1 :42)}, {(А, 1 :25),
(С, 1 :42)}. При этом не учитываются следующие
последовательности: {(А, 0:]2), (С, 1:42)}, {(А, 0:12), (С, 1:51)},
{(А, 0:38), (С, ]:51)} и {(А, 1:25), (С, 1:51)}, т. к. они не следуют
непосредственно друг за другом.
Разновидности задачи поиска
ассоциативных правил
Во многих прикладных областях объекты множества I
естественным образом объединяются в группы, которые в
спою очередь также могут объединяться в более общие
группы, и т. д. Таким образом, получается иерархическая
структура объектов.
Наличие иерархии изменяет представление о том, когда
объект i присутствует в транзакции Т. Очевидно, что
поддержка не отдельного объекта, а группы,
в которую он входит, больше:
Наличие иерархии в объектах и ее использование в задаче
поиска ассоциативных правил позволяет выполнять более
гибкий анализ и получать дополнительные знания.
Вопросы:
1) Сформулируйте одну из наиболее
распространенных задач анализа данных?
2) В чем заключается секвенциальный анализ?
3) Наличие иерархии в объектах приносит пользу
при анализе данных?
Download