Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
23.02.2016
Размер:
553.98 Кб
Скачать

20

Т2. Пошук асоціативних правил

2.1. Постановка завдання

2.2. Подання результатів

2.3. Алгоритми

2.1. Постановка завдання

2.1.1. Формальна постановка задачі

Однією з найбільш поширених завдань аналізу даних є визначення наборів об'єктів, що часто зустрічаються, у множині наборів.

Опишемо це завдання в узагальненому вигляді. Для цього позначимо об'єкти, що складають досліджувані набори (itemsets), наступною множиною:

,

де – об'єкти, що входять в аналізовані набори; – загальна кількість об'єктів.

У сфері торгівлі, наприклад, такими об'єктами є товари, представлені у прайс-листі (табл. 6.1).

Таблиця 6.1

Ідентифікатор

Найменування товару

Ціна

0

Шоколад

30.00

1

Чіпси

12.00

2

Кокоси

10.00

3

Вода

4.00

4

Пиво

14.00

5

Горіхи

15.00

Вони відповідають наступній множині об'єктів:

={Шоколад, чіпси, кокоси, вода, пиво, горіхи}.

Набори об'єктів з множини , що зберігаються в БД і піддаються аналізу, називаються транзакціями. Опишемо транзакцію як підмножину множини:

.

Такі транзакції в магазині відповідають наборам товарів, що купуються споживачем і зберігаються в БД у вигляді товарного чека або накладної. У них перераховуються придбані покупцем товари, їх ціна, кількість та ін. Наприклад, такі транзакції відповідають покупкам, що зроблені споживачами в супермаркеті:

={чіпси, вода, пиво};

={кокоси, вода, горіхи}.

Набір транзакцій, інформація про які доступна для аналізу, позначимо наступною множиною:

,

де – кількість доступних для аналізу транзакцій.

Наприклад, в магазині такою множиною буде:

={{чіпси, вода, пиво},

{Кокоси, вода, горіхи},

{Горіхи, кокоси, чіпси, кокоси, вода},

{Кокоси, горіхи, кокоси}}.

Для використання методів Data Mining множина може бути подана у вигляді табл. 6.2.

Таблиця 6.2

Номер транзакції

Номер товару

Назва товару

Ціна

0

1

Чіпси

12.00

0

3

Вода

4.00

0

4

Пиво

14.00

1

2

Кокоси

10.00

1

1

Вода

4.00

1

5

Горіхи

15.00

2

5

Горіхи

15.00

2

2

Кокоси

10.00

2

1

Чіпси

12.00

2

2

Кокоси

10.00

2

3

Вода

4.00

3

2

Кокоси

10.00

3

5

Горіхи

15.00

3

2

Кокоси

10.00

Множину транзакцій, в які входить об'єкт позначимо наступним чином:

.

У даному прикладі множиною транзакцій, що містять об'єкт вода, є наступна множина:

={{чіпси, вода, пиво},

{Кокоси, вода, горіхи},

{Горіхи, кокоси, чіпси, кокоси, вода}}.

Деякий довільний набір об'єктів (itemset) позначимо наступним чином:

.

Наприклад,

={кокоси, вода}.

Набір, що складається з об'єктів, називається -елементним набором (в даному прикладі це 2-елементний набір).

Множина транзакцій, в які входить набір , позначимо наступним чином:

.

У даному прикладі:

{кокоси, вода}={{кокос, вода, Горіхи},

{Горіхи, кокоси, чіпси, кокоси, вода}}.

Відношення кількості транзакцій, до якого входить набір , до загальної кількості транзакцій називається підтримкою (support) набору і позначається :

.

Для набору {кокоси, вода} підтримка дорівнює 0,5, тому що даний набір входить у дві транзакції (з номерами 1 і 2), а всього транзакцій 4.

При пошуку аналітик може вказати мінімальне значення підтримки цікавлячих його наборів . Набір називається частим (large itemset), якщо значення його підтримки більше мінімального значення підтримки, заданого користувачем:

.

Таким чином, при пошуку асоціативних правил потрібно знайти множину всіх частих наборів:

.

У даному прикладі частими наборами при є наступні:

{Чіпси} ;

{Чіпси, вода} ;

{Кокоси} ;

{Кокоси, вода} ;

{Кокоси, вода, горіхи} ;

{Кокоси, горіхи} ;

{Вода} ;

{Вода, горіхи} ;

{Горіхи} .

2.1.2. Сіквенціальний аналіз

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

Послідовністю називається упорядкована множна об'єктів. Для цього на множині повинно бути задано відношення порядку.

Тоді послідовність об'єктів можна описати в наступному вигляді:

, де .

Наприклад, у випадку з покупками в магазинах таким відношенням порядку може виступати час покупок. Тоді послідовність

S={(вода, 02.03.2003), (чіпси, 05.03.2003), (пиво, 10.03.2003)}

можна інтерпретувати як покупки, які робляться однією людиною в різний час (спочатку була куплена вода, потім чіпси, а потім пиво).

Розрізняють два види послідовностей: з циклами і без циклів. У першому випадку допускається входження в послідовність одного і того ж об'єкта на різних позиціях:

, де a .

Кажуть, що транзакція містить послідовність , якщо і об'єкти, що входять в входять і в множину зі збереженням відносини порядку. При цьому допускається, що в множині між об'єктами з послідовності можуть перебувати інші об'єкти.

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

.

Завданням сіквенціального аналізу є пошук всіх частих послідовностей:

.

Основною відмінністю завдання сіквенціального аналізу від пошуку асоціативних правил є встановлення відношення порядку між об'єктами множини . Дане відношення може бути визначене різними способами. При аналізі послідовності подій, що відбуваються в часі, об'єктами множини є події, а відношення порядку відповідає хронології їх появи.

Наприклад, при аналізі послідовності покупок в супермаркеті наборами є покупки, які робляться в різний час одними і тими ж покупцями, а відношенням порядку в них є хронологія покупок:

={{(вода), (пиво)},

{(Кокоси, вода), (пиво), (вода, шоколад, кокоси)},

{(Пиво, чіпси, вода), (пиво)}}.

Природно, що в цьому випадку виникає проблема ідентифікації покупців. На практиці вона вирішується введенням дисконтних карт, що мають унікальний ідентифікатор. Дану множину можна подати у вигляді табл. 6.3.

Таблиця 6.3

ID покупця

Послідовність покупок

0

(Пиво), (вода)

1

(Кокоси, вода), (пиво), (вода, шоколад, кокоси)

2

(Пиво, чіпси, вода), (пиво)

Інтерпретувати таку послідовність можна наступним чином: покупець з ідентифікатором 1 спочатку купив кокоси і воду, потім купив пиво, в останній раз він купив воду, шоколад і кокоси.

Підтримка, наприклад, послідовності {(пиво), (вода)} складе 2/3, тому що вона зустрічається у покупців з ідентифікаторами 0 і 1. В останнього покупця також зустрічається набір {(пиво), (вода)}, але не зберігається послідовність (він купив спочатку воду, а потім пиво).

Сіквенціальний аналіз актуальний і для телекомунікаційних компаній. Основна проблема, на вирішення якої він використовується, – це аналіз даних про аварії на різних вузлах телекомунікаційної мережі. Інформація про послідовність здійснення аварій може допомогти в виявленні неполадок та попередження нових аварій. Дані для такого аналізу можуть бути подані, наприклад, у вигляді табл. 6.4.

Таблиця 6.4

Дата

Час

Джерело помилки

Код джерела

Код помилки

...

01.01.03

15:04:23

Станція 1

1001

...

01.01.03

16:45:46

Станція 1

1001

...

01.01.03

18:32:26

Станція 4

1004

...

01.01.03

20:07:11

Станція 5

1005

...

01.01.03

20:54:43

Станція 1

1001

...

...

...

...

...

...

...

У цьому завданню об'єктами множини є коди помилок, що виникають в процесі роботи телекомунікаційної мережі. Послідовність містить збої, що відбуваються на станції з ідентифікатором . Їх можна подати у вигляді пар (), де – код помилки, a – час, коли вона сталася. Таким чином, послідовність збоїв на станції з ідентифікатором буде мати наступний вигляд:

.

Для даних, наведених у табл. 6.4, транзакції будуть наступні:

={(a, 15:04:23 01.01.03), (f, 16:45:46 01.01.03), (q, 20:54:43 01.01.03),...};

={(z, 18:32:26 01.01.03 ),...};

={(h, 20:07:1101.01.03 ),...}.

Відношення порядку в даному випадку задається щодо часу появи помилки (значення ).

Рис. 6.1. Послідовність збоїв на телекомунікаційній станції

При аналізі такої послідовності важливим є визначення інтервалу часу між збоями. Воно дозволяє передбачити момент і характер нових збоїв, а отже, провести профілактичні заходи. З цієї причини при аналізі даних інтерес викликає не просто послідовність подій, а збої, які відбуваються один за одним. Наприклад, на рис. 6.1 зображена часова шкала послідовності збоїв, що відбуваються на одній станції. При визначенні підтримки, наприклад, для послідовності {А, С} враховуються тільки наступні набори: {{А, 0:12), (С, 0:25)}, {(А, 0:38), (С, 1:42)}, {(А, 1:25), (С, 1:42)}. При цьому не враховуються послідовності: {(А, 0:12), (С, 1:42)}, {(А, 0:12), (С, 1:51)}, {{А, 0:38), (С, 1:51)} і {{А, 1:25), (С, 1:51)}, оскільки вони не слідують безпосередньо один за одним.

2.1.3. Різновиди завдання пошуку асоціативних правил

У багатьох прикладних областях об'єкти множини природним чином об'єднуються в групи, які в свою чергу також можуть об'єднуватися в більш загальні групи, і т. д. Таким чином, виходить ієрархічна структура об'єктів, подана на рис. 6.2.

Рис. 6.2. Ієрархічне подання об'єктів множини

Для прикладу, наведеного в табл. 6.1, такої ієрархії може бути наступна категоризація товарів:

    • напої;

      • алкогольні;

        • пиво;

      • безалкогольні;

        • вода;

    • їжа;

      • шоколад;

      • чіпси;

      • кокоси;

      • горіхи.

Наявність ієрархії змінює уявлення про те, коли об'єкт присутній в транзакції . Очевидно, що підтримка не окремого об'єкта, а групи, до якої він входить, більше:

,

де .

Це пов'язано з тим, що при аналізі груп підраховуються не тільки транзакції, в які входить окремий об'єкт, а й транзакції, що містять всі об'єкти аналізованої групи. Наприклад, якщо підтримка

{Кокоси, вода} = 2/4, то підтримка {їжа, напої} = 2/4, оскільки об'єкти груп їжа і напої входять в транзакції з ідентифікаторами 0, 1 і 2.

Використання ієрархії дозволяє визначити зв'язки, що входять до більш високі рівні ієрархії, оскільки підтримка набору може збільшуватися, якщо підраховується входження групи, а не її об'єкта. Крім пошуку наборів, що часто зустрічаються у транзакціях, що складаються з об'єктів або груп одного рівня ієрархії , можна розглядати також змішані набори об'єктів і груп . Це дозволяє розширити аналіз і отримати додаткові знання.

При ієрархічній структурі об'єктів можна варіювати характер пошуку змінюючи аналізований рівень. Очевидно, що чим більше об'єктів у множині , тим більше об'єктів у транзакціях і частих наборах. Це в свою чергу збільшує час пошуку та ускладнює аналіз результатів. Зменшити або збільшити кількість даних можна за допомогою ієрархічного подання аналізованих об'єктів. Переміщаючись вгору по ієрархії, узагальнюємо дані і зменшуємо їхню кількість, і навпаки.

Недоліком узагальнення об'єктів є менша корисність отриманих знань, тому що в цьому випадку вони відносяться до груп товарів, що не завжди прийнятно. Для досягнення компромісу між аналізом груп і аналізом окремих об'єктів часто поступають таким чином: спочатку аналізують групи, а потім, в залежності від отриманих результатів, досліджують об'єкти груп, що зацікавили аналітика. У будь-якому випадку можна стверджувати, що наявність ієрархії в об'єктах і її використання в задачі пошуку асоціативних правил дозволяє виконувати більш гнучкий аналіз і отримувати додаткові знання.

У розглянутій задачі пошуку асоціативних правил наявність об'єкта в транзакції визначалося тільки його присутністю в ній () або відсутністю (). Часто об'єкти мають додаткові атрибути, як правило, чисельні. Наприклад, товари в транзакції мають атрибути: ціна та кількість. При цьому наявність об'єкта в наборі може визначатися не просто фактом його присутності, а виконанням умови по відношенню до певного атрибуту. Наприклад, при аналізі транзакцій, здійснених покупцем, може цікавити не просто наявність товару, що купується, а товару, що купується за деякою ціною.

Для розширення можливостей аналізу за допомогою пошуку асоціативних правил в досліджувані набори можна додавати додаткові об'єкти. У загальному випадку вони можуть мати природу, відмінну від основних об'єктів. Наприклад, для визначення товарів, що мають більший попит у залежності від місця розташування магазину, в транзакції можна додати об'єкт, що характеризує район.

Соседние файлы в папке ДЕК Інформаційний бізнес