Michal Burda. 27. ledna Abstrakt

Podobné dokumenty
Asociační pravidla (metoda GUHA)

Dolování asociačních pravidel

Základní pojmy matematické logiky

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Úvod do dobývání. znalostí z databází

Formální systém výrokové logiky

Jana Vránová, 3. lékařská fakulta UK

Predikátová logika. prvního řádu

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Výroková a predikátová logika - II

Asociační i jiná. Pravidla. (Ch )

Matematická logika. Rostislav Horčík. horcik

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Výroková a predikátová logika - II

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Základy vytěžování dat

5 Vícerozměrná data - kontingenční tabulky, testy nezávislosti, regresní analýza

MÍRY ZÁVISLOSTI (KORELACE A REGRESE)

Výroková a predikátová logika - II

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

teorie logických spojek chápaných jako pravdivostní funkce

1 Pravdivost formulí v interpretaci a daném ohodnocení

Výroková logika. p, q, r...

Predikátová logika Individua a termy Predikáty

Sémantika predikátové logiky

Matematická logika. Miroslav Kolařík

Testy dobré shody Máme dvě veličiny, u kterých bychom chtěli prokázat závislost, TESTY DOBRÉ SHODY (angl. goodness-of-fit tests)

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Matematika B101MA1, B101MA2

Výroková logika - opakování

platné nejsou Sokrates je smrtelný. (r) 1/??

12. cvičení z PST. 20. prosince 2017

Matematická analýza 1

Jednofaktorová analýza rozptylu

hledání zajímavých asociací i korelací ve velkém množství dat původně pro transakční data obchodní transakce analýza nákupního košíku

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7

7. Rozdělení pravděpodobnosti ve statistice

Intervalové odhady. Interval spolehlivosti pro střední hodnotu v N(µ, σ 2 ) Interpretace intervalu spolehlivosti. Interval spolehlivosti ilustrace

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Statistické metody v ekonomii. Ing. Michael Rost, Ph.D.

Analytické procedury v systému LISp-Miner

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Základy algoritmizace. Pattern matching

Zpracování náhodného vektoru. Ing. Michal Dorda, Ph.D.

Intervalové odhady. Interval spolehlivosti pro střední hodnotu v N(µ, σ 2 ) Interpretace intervalu spolehlivosti. Interval spolehlivosti ilustrace

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Výroková a predikátová logika - IV

1. Matematická logika

Normální (Gaussovo) rozdělení

1 Linearní prostory nad komplexními čísly

Výroková a predikátová logika - III

Regresní a korelační analýza

0. ÚVOD - matematické symboly, značení,

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematická logika. Miroslav Kolařík

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

Náhodné veličiny jsou nekorelované, neexistuje mezi nimi korelační vztah. Když jsou X; Y nekorelované, nemusí být nezávislé.

Výroková logika. Teoretická informatika Tomáš Foltýnek

1 Vektorové prostory.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Přednáška 3: Limita a spojitost

Výroková a predikátová logika - V

= = 2368

1 Řešení soustav lineárních rovnic

Okruh č.3: Sémantický výklad predikátové logiky

1 Soustavy lineárních rovnic

Určujeme neznámé hodnoty parametru základního souboru. Pomocí výběrové charakteristiky vypočtené z náhodného výběru.

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Testování hypotéz o parametrech regresního modelu

4.2 Syntaxe predikátové logiky

TESTOVÁNÍ STATISTICKÝCH HYPOTÉZ ZÁKLADNÍ POJMY

Pravděpodobnost a statistika

Příklad 1. Řešení 1 ŘEŠENÉ PŘÍKLADY Z MV2 ČÁST 11

5. Lokální, vázané a globální extrémy

Vysoká škola ekonomická. Katedra informačního a znalostního inženýrství. Fakulta informatiky a statistiky. Systém LISp-Miner

Testování statistických hypotéz

Úvod do informatiky. Miroslav Kolařík

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ

Základy biostatistiky II. Veřejné zdravotnictví 3.LF UK - II

Poznámky k předmětu Aplikovaná statistika, 11. téma

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Základy logiky a teorie množin

Úvod do lineární algebry

NÁHODNÁ ČÍSLA. F(x) = 1 pro x 1. Náhodná čísla lze generovat některým z následujících generátorů náhodných čísel:

1. Matematická logika

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Zpracování náhodného výběru. Ing. Michal Dorda, Ph.D.

Úvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot formule tabulkovou metodou

Získávání znalostí z databází. Alois Kužela

0.1 Úvod do lineární algebry

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2016

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

4ST201 STATISTIKA CVIČENÍ Č. 7

Testování hypotéz o parametrech regresního modelu

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

Transkript:

Získávání znalostí z databází - Asociační pravidla Michal Burda 27. ledna 2004 Abstrakt Získávání asociačních pravidel z dat je jedním z významných oborů Data Miningu. Hledají se pomocí něj zajímavé vztahy v datech. Tento dokument se zabývá podstatou asociačních pravidel a jejich rozdělením. Nastiňuje způsoby určování relevantnosti asociací, prezentuje základní algoritmy pro hledání asociačních pravidel v datech a možné způsoby dalšího zrychlování. Obsah 1 Úvod 3 2 Hledání asociačních pravidel v transakčních databázích 3 2.1 Algoritmy hledání asociací z transakčních databází............... 5 2.1.1 Triviální algoritmus............................ 5 2.1.2 Apriori algoritmus............................. 6 2.1.3 Zlepšování efektivity apriori algoritmu.................. 9 3 Metoda GUHA 10 3.1 Principy....................................... 11 3.2 Kvantifikátory................................... 12 3.2.1 Implikační kvantifikátory......................... 13 3.2.2 Asociační kvantifikátory.......................... 14 3.2.3 Korelační kvantifikátory.......................... 15 3.3 Dedukční pravidla................................. 15 3.4 Neúplná informace................................. 16 3.5 Procedury metody GUHA............................. 18 3.5.1 ASSOC................................... 19 Ing. Michal Burda, VŠB TU Ostrava, Fakulta elektrotechniky a informatiky, Katedra informatiky, michal.burda@vsb.cz, http://www.cs.vsb.cz/burda 1

3.5.2 IMPL.................................... 19 3.5.3 CORREL.................................. 20 4 Rozdělení asociací 20 5 Statistický pohled 21 Seznam tabulek 1 Transakční data................................... 4 2 Transakční data jako množiny........................... 5 3 Hash tabulka vzniklá při zjišťování L 1...................... 9 Seznam obrázků 1 Průběh apriorního algoritmu........................... 8 2

1 Úvod Proces získávání asociačních pravidel z databází hledá zajímavé vztahy mezi velkým množstvím datových položek. Co se historie nápadu vytěžování pravidel z dat týče, autoři knihy [3] (str. 276) se nejspíše mýlí, když za praotce tohoto odvětví data miningu prohlásili trojici Agrawal, Imielinski, Swami, kteří roku 1993 vydali článek Mining association rules between sets of items in large databases. Je totiž známo, že se hledáním asociací (byť trochu jiného druhu) zabývala skupina českých autorů (P. Hájek, M. K. Chytil a T. Havránek) už v 80. létech (metoda GUHA). Typickým příkladem dolování asociačních pravidel je tzv. analýza nákupního košíku (market basket analysis). Tento proces analyzuje zvyky nakupujících a hledá závislosti mezi různým zbožím, které si zákazníci vloží do svého nákupního košíku. Znalost informace o tom, které výrobky zákazníci obvykle kupují současně, mohou v praxi pomoci v tvorbě katalogů, pomáhají při definování strategie rozmístění zboží v prodejně atd. Použití metod získávání asociačních pravidel však nekončí pouze u ekonomických dat. Dají se pochopitelně používat v mnoha různých oblastech od výzkumu v medicíně po sociologii, hutnictví atd. (Více viz např. [5].) V souvislosti s hledáním asociací vyvstává mnoho problémů (ostatně pro Data Mining typických) zejména jak efektivně hledat závislosti v obrovském množství dat a hlavně jak určit, která asociace je relevantní a která ne. Základy řešení obou těchto problémů se snažím nastínit v tomto dokumentu popisem dvou konkrétních metod vytěžování asociací: analýzy nákupního košíku a metody GUHA. 2 Hledání asociačních pravidel v transakčních databázích Začněme nejprve od nejjednodušších asociací, které jsou výsledkem už dříve zmiňované analýzy nákupního košíku. Zkoumaná data pochází z transakčních databáze, tj. z databáze, která zaznamenává všechny (obchodní) transakce např. podrobnosti o každém nákupu. Přídavné jméno transakční zde v žádném případě neznamená pojem transakce, jak jej známe z databázových technologií (skupina databázových operací, které musí být provedeny všechny (nebo žádná), aby nedošlo k porušení konzistence databáze). Analyzovaná data sestávají z řady booleovských atributů (tj. mohou nabývat jen hodnot 0 nebo 1) stejné dimenze. Typickým příkladem může být dimenze koupil s atributy odpovídajícími jednotlivým položkám zboží. Atribut bude mít v záznamu provedeného nákupu hodnotu 1, pokud si zákazník dané zboží koupil, a 0, pokud ne. Ukázku možné datové tabulky (ovšem podstatně zkrácené) můžeme vidět v tabulce 1. Výsledkem analýzy nákupního košíku jsou asociační pravidla obecně tvaru: i 1 i 2... i n 1 i n [ podpora = p, spolehlivost = s ] s následujícím významem: Jestliže si nějaký zákazník koupí zároveň zboží i 1,..., i n 1, pak si koupí i zboží i n s podporou p a spolehlivostí s. 3

TID Zboží1 Zboží2 Zboží3 Zboží4 Zboží5 01 1 1 1 02 1 1 03 1 1 04 1 1 1 05 1 1 06 1 1 07 1 1 08 1 1 1 1 09 1 1 1 Tabulka 1: Transakční data. TID označuje jednoznačný identifikátor transakce. Nuly byly pro přehlednost vynechány. Příkladem konkrétního objeveného vztahu může být např.: Tequila citróny [ podpora = 1 %, spolehlivost = 80 % ] Typickou reakcí supermarketu na zjištěné pravidlo může být umístění stojanu s mexickým alkoholickým nápojem co nejdále od oddělení s ovocem a zeleninou v naději, že zákazník kupující Tequilu uvidí a koupí na cestě prodejnou za citróny také něco jiného. Symbolům i i v asociačním pravidle se ve shodě s pojmy matematické logiky říká predikáty. Později si ukážeme, že se dá vytěžovat asociace s predikáty i trochu jiného (obecnějšího) tvaru. Zmiňovaná podpora (support) a spolehlivost (confidence) jsou základní mírou relevance (zajímavosti) asociačního pravidla. Podpora představuje pravděpodobnost výskytu záznamu, který splňuje všechny predikáty i 1,..., i n, v datech. Jinými slovy je to podíl počtu záznamů, obsahujících všechny druhy zboží určené predikáty i 1,... i n, a všech záznamů. Spolehlivost určuje tzv. podmíněnou pravděpodobnost jevu i n v datech za podmínky, že platí i 1,..., i n 1. Je to tedy poměr počtu záznamů o koupi zboží i 1,... i n vůči počtu záznamů obsahujících pouze i 1,..., i n 1. Asociace, které překročí uživatelem nastavené prahy pro podporu i spolehlivost, jsou považovány za zajímavé a jsou zahrnuty do zprávy o výsledcích vytěžování. Vězměme si například opět datovou tabulku 1. Asociační pravidlo Zboží2 Zboží3 Zboží1 má podporu p = 2. 9 = 0, 22 (22 %) a spolehlivost s = 2 4 = 0, 5 (50 %). Při nastavených prahových hodnotách p p = 0, 2 a s p = 0, 75 bychom toto asociační pravidlo prohlásili za irelevantní. Stojí ještě za zmínku podotknout, že pro nastavení prahových hodnot p p = 0 a s p = 1 se jedná o prostou implikaci, jak ji známe z matematické logiky. 4

TID T k 01 i 1, i 2, i 5 02 i 2, i 4 03 i 2, i 3 04 i 1, i 2, i 4 05 i 1, i 3 06 i 2, i 3 07 i 1, i 3 08 i 1, i 2, i 3, i 5 09 i 1, i 2, i 3 Tabulka 2: Transakční data jako množiny 2.1 Algoritmy hledání asociací z transakčních databází Na řádky datové matice tvořené jen booleovskými hodnotami (viz tabulka 1) se můžeme dívat také jako na množiny položek, pro které je na řádcích v příslušných sloupcích hodnota 1 (viz tabulka 2). Předpokládejme, že naše datová matice má m řádků a n sloupců s booleovskými hodnotami. Můžeme zavést množinu všech položek I = {i 1, i 2,..., i n } a jednotlivé transakce T k (pro k = 1,..., m) chápat jako podmnožiny T k I. Hledaná asociační pravidla jsou potom tvaru A B, kde A I, B I a A B =. Podpora p je pravděpodobnost výskytu množiny položek A B (tedy všech položek obsažených v A i B) v množině transakcí (datové tabulce). Spolehlivost s je pravděpodobnost výskytu B v transakcích, které obsahují A. Tedy: p = podpora(a B) = P (A B), s = spolehlivost(a B) = P (B A) Množina položek M se nazývá frekventovaná, jestliže dosahuje minimální stanovené podpory p p, tedy P (M) p p. Asociační pravidlo A B se nazývá silné, jestliže množina položek A B je frekventovaná, (P (A B) p p ) a spolehlivost pravidla dosahuje minimální stanovené hodnoty s p (P (B A) s p ). Je tedy jasné, že výsledkem algoritmu hledání asociací by měl být seznam všech silných asociačních pravidel. 2.1.1 Triviální algoritmus S takovýmto rozborem problému už není těžké formulovat základní algoritmus, který by hledání asociačních pravidel (nejen) v transakčních datech prováděl: Můžeme postupně generovat všechny možné kombinace predikátů na levé i pravé straně pravidla, postupně prodlužovat levou stranu a testovat v datech, je-li výsledkem silné asociační pravidlo. 5

Takový algoritmus je však pro větší data nepoužitelný, jelikož vede na tzv. kombinační explozi s exponenciální časovou složitostí. Data zkoumaná analýzou nákupního košíku jsou obvykle velmi rozsáhlá co do počtu řádků (počtu transakcí) tak i co do počtu sloupců (možných položek nákupu). 2.1.2 Apriori algoritmus Mnohem větší efektivity výpočtu dosáhneme využitím jisté apriorní znalosti o silných asociacích. Tzv. apriori algoritmus (viz [3] na str. 230 236) probíhá ve dvou krocích. Nejprve jsou vyhledány frekventované množiny položek (tj. ty, které dosahují minimální stanovené hodnoty podpory) a z nich jsou generovány silné asociace (takové, které navíc dosahují i minimální spolehlivosti). Pro generování frekventovaných asociací je možné použít induktivní přístup, ve kterém díky jisté apriorní znalosti umíme (relativně efektivně) z frekventované množiny k položek vygenerovat frekventované množiny (k + 1) položek. Zmiňovanou apriorní znalostí je skutečnost, že jestliže množina k určitých položek není frekventovaná, pak přidání jakékoliv další položky z ní frekventovanou množinu neudělá. (Jinými slovy s přidáváním položek do množiny M pravděpodobnost P (M) monotónně klesá.) Algoritmus funguje tak, že nejprve se vyhledají všechny frekventované množiny velikosti 1 (množinu těchto množin označme L 1 ). L 1 je použita k nalezení L 2 (množina frekventovaných množin kardinality 2) a ta je využita k nalezení L 3 atd., dokud nelze nalézt žádnou další frekventovanou množinu velikosti k. Nalezení každé L k vyžaduje jeden celý průchod daty. Diskutovaná apriorní znalost pomáhá snížit prohledávací prostor. Je totiž pravdou, že každá neprázdná podmnožina R frekventované množiny M musí být rovněž frekventovaná. Tj.: R M : P (M) p p P (R) p p (1) Než přistoupíme k formulaci postupu nalezení L k ze znalosti L k 1, je třeba ještě zavést pojem kandidát na frekventovanou množinu položek. Jedná se o takovou množinu položek, kterou výše rozebíraná apriorní znalost neprohlásila za nefrekventovanou, ale u níž ještě frekventovanost nebyla potvrzena průchodem daty. Postup nalezení L k z L k 1 : 1. Předpokládejme, že máme nalezeno L k 1 a hledáme L k. Vygenerujeme nejprve z L k 1 všechny kandidáty na L k (označme je C k ). Předpokládejme, že jednotlivé položky jsou v množinách lexikograficky seřazeny. Pak stačí kombinovat takové dvojice množin l i, l j L k 1 (i j), které mají stejné prvních k 2 položek a pro které platí, že (k 1)-položka je u l i (lexikograficky) menší, než u l j. Výsledný kandidát vznikne spojením l i s poslední (k 1) položkou l j. 2. L k C k, je proto nutné nalézt v C k ty množiny, které nejsou frekventované a vyloučit je. O frekventovanosti množin se přesvědčíme jedním průchodem databází. Množina C k však může být obrovská a to povede k pomalému výpočtu. K jejímu redukování se 6

dá využít apriorní znalost (1). Z C k tedy vyloučíme ty množiny, pro které neplatí, že všechny její podmnožiny jsou frekventované. Toto testování se dá provádět velice rychle, když budeme všechny frekventované množiny položek uchovávat v hashovacím stromu. Teprve s redukovaným C k provedeme průchod datovou tabulkou a zjištění skutečného počtu výskytů všech množin položek ty množiny, které nedosáhnou minimální podpory p p vyloučíme a získáme tak hledanou množinu L k. Máme-li získané frekventované množiny položek l, není už příliš výpočetně náročné generovat všechny podmnožiny s množiny l a vypisovat ta asociační pravidla tvaru s (l s), která splňují požadavek minimální spolehlivosti s p. Samotný algoritmus nalezení všech množin L k zní takto: 1. Nejprve se vygeneruje množina C 1 kandidátů c 1 i na frekventované množiny velikosti jedna (C 1 = {c 1 i : c 1 i I card(c 1 i ) = 1}). Následuje průchod datovou tabulkou s tím, že pro každou kandidátskou množinu položek se zjišťuje počet výskytů. Po tomto kroku nastupuje ořezávání: vyloučení těch kandidátských množin c 1 i, které nedosáhly minimální stanovené podpory p p. Takto získáme množinu L 1 frekventovaných množin lj 1 velikosti jedna (L 1 = {li 1 : l1 i C 1 P (li 1) p p}). Tj. je zřejmé, že L 1 C 1. 2. V dalším kroku se vytvářejí kandidáti délky 2 vzájemným kombinováním frekventovaných množin délky 1. Díky apriorní znalosti se výše uvedeným postupem sníží počet těchto množin. (Celou operaci spojení L k 1 a aplikace apriorní znalosti budeme označovat L k 1 L k 1.) Následuje průchod databází a počítání výskytů každé zbylé kandidátské množiny. Odstraní se množiny nedosahující prahové podpory a zůstanou jen frekventované množiny položek délky 2. 3. Naznačený postup pokračuje až do chvíle, kdy odstraněním všech nefrekventovaných množin z kandidátů nám nezbyde žádná frekventovaná množina položek. Máme-li nalezeny všechny frekventované množiny položek z databáze, vygenerování silných asociačních pravidel je už naprosto přímočaré. Lze k tomu využít následující rovnici vyjadřující spolehlivost pravidla pomocí počtů výskytů: spolehlivost(a B) = P (B A) = Samotné generování asociačních pravidel může vypadat takto: počet výskytů(a B) počet výskytů(a) 1. Pro každou frekventovanou množinu položek l vygeneruj všechny neprázdné podmnožiny. počet výskytů(l) 2. Pro každou neprázdnou podmnožinu s množiny l otestuj nerovnost počet výskytů(s) s p, kde s p je minimální (prahová) hodnota spolehlivosti. Je-li tato nerovnost splněna, vypiš na výstup asociační pravidlo tvaru s (l s). Jelikož jsou asociační pravidla generována jen z frekventovaných množin položek, je jasné, že musí automaticky splňovat také požadavek přesahu prahové hodnoty podpory. Počty výskytů frekventovaných množin položek mohou být výhodně uchovávány v hash tabulkách, takže přístup k nim může být realizován velmi rychle. 7

C 1 Množ. {i 1 } {i 2 } {i 3 } {i 4 } {i 5 } Zjištění počtu čtením dat C 1 Množ. Počet {i 1 } 6 {i 2 } 7 {i 3 } 6 {i 4 } 2 {i 5 } 2 Porovnání četností s p p L 1 Množ. Počet {i 1 } 6 {i 2 } 7 {i 3 } 6 {i 4 } 2 {i 5 } 2 L 1 L 1 C 2 Množ. {i 1, i 2 } {i 1, i 3 } {i 1, i 4 } {i 1, i 5 } {i 2, i 3 } {i 2, i 4 } {i 2, i 5 } {i 3, i 4 } {i 3, i 5 } {i 4, i 5 } Zjištění počtu čtením dat C 2 Množ. Počet {i 1, i 2 } 4 {i 1, i 3 } 4 {i 1, i 4 } 1 {i 1, i 5 } 2 {i 2, i 3 } 4 {i 2, i 4 } 2 {i 2, i 5 } 2 {i 3, i 4 } 0 {i 3, i 5 } 1 {i 4, i 5 } 0 Porovnání četností s p p L 2 Množ. Počet {i 1, i 2 } 4 {i 1, i 3 } 4 {i 1, i 5 } 2 {i 2, i 3 } 4 {i 2, i 4 } 2 {i 2, i 5 } 2 L 2 L 2 C 3 Množ. {i 1, i 2, i 3 } {i 1, i 2, i 5 } Zjištění počtu čtením dat C 3 Množ. Poč. {i 1, i 2, i 3 } 2 {i 1, i 2, i 5 } 2 Porovnání četností s p p L 3 Množ. Poč. {i 1, i 2 } 4 {i 1, i 3 } 4 {i 1, i 5 } 2 {i 2, i 3 } 4 {i 2, i 4 } 2 {i 2, i 5 } 2 Obrázek 1: Průběh apriorního algoritmu 8

Hash hodnota (h): 0 1 2 3 4 5 6 Počet prvků (c h ): 2 2 4 2 2 4 4 Obsah: {i 1, i 4 } {i 1, i 5 } {i 2, i 3 } {i 2, i 4 } {i 2, i 5 } {i 1, i 2 } {i 1, i 3 } {i 3, i 5 } {i 1, i 5 } {i 2, i 3 } {i 2, i 4 } {i 2, i 5 } {i 1, i 2 } {i 1, i 3 } {i 2, i 3 } {i 1, i 2 } {i 1, i 3 } {i 2, i 3 } {i 1, i 2 } {i 1, i 3 } Tabulka 3: Hash tabulka vzniklá při zjišťování L 1 Příklad: Pokusme se nyní uvedeným postupem nalézt všechna asociační pravidla z dat v tabulce 1. Minimální podporu p p nastavíme na 20 % a spolehlivost s p na 70 %. Průběh výpočtu znázorňuje obrázek 1. 1. Prvním krokem je nalezení počtů výskytů všech položek k tomu je potřebný jeden průchod celou datovou tabulkou. (Získáme C 1.) 2. Porovnáme kardinality všech prvků c 1 i C 1 se stanovenou minimální podporou p p a vyloučíme ty, které ji nedosahují. (Získáme tak L 1.) 3. Provedeme L 1 L 1 a získáme tak C 2. Průchodem databází zjistíme četnosti množin c 2 i C 2 v datech a z nich opět vyloučíme ty, které nedosahují stanovené podpory p p. (Získáme tak L 2.) 4. Nastíněným postupem pokračujeme tak dlouho, dokud nám vychází neprázdná množina L k. Obecně C k získáme provedením L k 1 L k 1. L k z C k obdržíme zjištěním četností všech množin položek z C k a porovnáním s p p. 5. Zbývá určit, které frekventované množiny položek zároveň splňují i požadavek minimální spolehlivosti s p. Pro každou frekventovanou množinu položek l j i L j (j = 1, 2,..., k a i = 1, 2,..., card(l j )) vygenerujeme všechny neprázdné podmnožiny s r l j i. Pro každou tuto podmnožinu otestujeme nerovnost počet výskytů(lj i ) počet výskytů(s s r) p a pokud platí, vypíšeme na výstup asociační pravidlo tvaru s r (l j i s r). Postup nalezení všech frekventovaných množin položek ukazuje obrázek 1. 2.1.3 Zlepšování efektivity apriori algoritmu Efektivita algoritmu z odstavce 2.1.2 se dá dalšími postupy ještě zvýšit. Několik možných postupů následuje níže. Hashování: Použitím hashovací techniky můžeme redukovat velikost množiny kandidátských množin položek C k (pro k > 1). Například při průchodu databází, když zjišťujeme počet výskytů množin položek z C 1, můžeme z každé transakce (řádku datové tabulky) generovat všechny množiny položek kardinality 2, ukládat je do hash-tabulky 9

(separate chaining) a přitom si pamatovat počet c h množin uložených pod stejnou hodnotou h hashovací funkce. Je jasné, že množiny položek s hash-hodnotami h, pro které c h < p p nemohou být frekventované a proto je při ořezávání C 2 můžeme z C 2 vynechat. Tak například tabulka 3 ukazuje hash-tabulku vzniklou při průchodu daty, kdy se zjišťuje, které množiny z C 1 patří do L 1. Pro každý řádek datové tabulky se vytvořily všechny možné dvojice položek a ty se uložily do této hash-tabulky. Hashovací funkce byla následující: h(x, y) = (10 pořadí(x)+pořadí(y)) mod 7. Kdybychom měli p p = 3, pak v kroku prořezávání C 2 můžeme ještě před průchodem daty z kandidátských množin položek odstranit dvojice {i 1, i 4 }, {i 3, i 5 }, {i 1, i 5 }, {i 2, i 4 } a {i 2, i 5 }, protože počet c h jejich hash-hodnoty h je menší než p p (c h < p p pro h {0, 1, 3, 4}). Redukce prohledávaných transakcí (řádků tabulky): Transakce, která neobsahuje žádnou frekventovanou množinu položek velikosti k, nemůže obsahovat žádnou frekventovanou množinu položek velikosti (k + 1). Taková transakce může být během výpočtu v databázi nějak vhodně označena nebo odstraněna, protože v budoucích průchodech daty, které budou zjišťovat četnosti množin položek velikosti j > k, nebude potřebná. Rozdělení dat: Celá datová tabulka se rozdělí na N částí o velikosti (zhruba) n. Podstatou této metody je, že se volí takové n, aby se všechny potřebné informace vešly do paměti. V jednotlivých částech se pak hledají lokální frekventované množiny položek. Mírou lokální frekventovanosti je upravená prahová hodnota podpory p u = n p p. Lokální frekventovaná množina položek může (ale nemusí) být frekventovaná v pohledu celé datové tabulky. Platí, že každá potenciálně frekventovaná množina položek se musí vyskytnout jako frekventovaná alespoň v jedné části dat. Každá lokálně frekventovaná množina položek je tedy kandidátem na frekventovanou z hlediska celé datové tabulky. Jelikož se každá část vejde celá do paměti, stačí k nalezení všech lokálně frekventovaných množin položek pouze jeden průchod daty. Všechny lokálně frekventované množiny dohromady tvoří kandidáty na globálně frekventované množiny. O jejich skutečné frekventovanosti se rozhodne na závěr dalším průchodem daty. Všechny frekventované množiny se tak naleznou pouhými dvěma průchody daty. Vzorkování: Tento postup se používá zejména v aplikacích, kde je požadavek na rychlost kritický. Myšlenka spočívá v náhodném výběru n transakcí z celé datové tabulky tak, aby se všechny vešly do paměti. Frekventované množiny se potom hledají na této množině transakcí. Veliké zrychlení platíme menší přesností algoritmu a nebezpečím, že se nenajdou všechny frekventované množiny. Ke snížení této hrozby se často volí nižší prahová hodnota podpory. Jedním průchodem celé databáze se dá určit, jsou-li nalezené frekventované množiny frekventované i globálně. 3 Metoda GUHA GUHA (General Unary Hypothesis Automaton automat na obecné unární hypotézy) je původní česká metoda pro systematické vytváření hypotéz na základě empirických dat (viz [2]). Umožňuje automaticky vytvářet především hypotézy (pravidla) implikační, asociační či korelační (viz sekce 4). 10

Metoda pracuje hlavně s dvouhodnotovými daty a velmi těží z faktu, že kategoriální data mohou být dichotomizací převedena na binární, reálněhodnotová data vhodným rozdělením na kategoriální... Výsledkem jsou obecně multidimenzionální pravidla (viz odstavec 4). Např.: věk(31-40) plat(51-100 tis.) 0,8;0,15 koupil(bmw) (2) Zaveďme nejprve několik pojmů, které jsou při popisu metody hojně využívány: Predikát symbolické jméno veličiny, elementární formule (např.: věk, plat, koupil) (Otevřená) formule predikát nebo několik predikátů složených pomocí logických spojek negace ( ), konjunkce ( ) a disjunkce ( ). Např.: predikát1 predikát2 predikát3 nebo konkrétněji věk(31-40) plat(51-100 tis.) Kvantifikátor symbolické jméno zobrazení, které určuje kvantitativní intenzitu souvislosti. Představuje druh zjištěného vztahu v datech a stanovuje, jak silný tento vztah je. (Např. s,p fundovaná implikace viz dále) Formální sentence zápis tvaru formule1 q formule2 (kde q je kvantifikátor) jehož pravdivost v datech se testuje. Pravdivá sentence sentence, pro níž funkce kvantifikátoru vydala hodnotu 1. Sentence pravdivá v datech; výstup metody GUHA. (Např. (2).) Antecedent predikát vyskytující se uvnitř formule na levé straně sentence (před kvantifikátorem). V sentenci (2) je antecedentem formule: věk(31-40) plat(51-100 tis.) Sukcedent predikát vyskytující se uvnitř formule na pravé straně sentence (za kvantifikátorem). V sentenci (2) je sukcedentem formule: koupil(bmw) 3.1 Principy GUHA ze zadaných množin antecedentů a sukcedentů systematicky generuje všechny hypotézy a testuje, zda jsou nějak podporovány zpracovávanými daty. Řekneme-li, že data podporují nějakou hypotézu, znamená to zhruba, že v datech platí něco, co by bylo velmi nepravděpodobné, kdyby hypotéza neplatila. Pro analýzu dat nejsou podstatné hodnoty veličin na jednotlivých objektech, ale charakteristiky veličin v rámci celých dat. Podle hodnot těchto charakteristik a zvoleného kvantifikátoru se usuzuje, jestli je daná sentence pravdivá v datech nebo ne. 11

GUHA pracuje s charakteristikami, kterým se říká frekvence. Omezme se na binární veličiny. Nechť M je tabulka vzniklá pozorováním n dvouhodnotových veličin X 1,..., X n. Pro každou n-tici možných hodnot veličin, tj. e = e 1,..., e n {0, 1} n definujeme frekvenci fr(e, M) jako počet objektů z M, pro které jsme napozorovali hodnoty veličin rovné e = e 1,..., e n. Konkrétně pro n = 2, tj. tabulku se dvěma sloupci X 1 a X 2, definujeme čtyři frekvence a, b, c, d jako: a počet objektů z tabulky, pro které je X 1 = X 2 = 1 b počet objektů z tabulky, pro které je X 1 = X 2 = 1 c počet objektů z tabulky, pro které je X 1 = X 2 = 1 d počet objektů z tabulky, pro které je X 1 = X 2 = 1 Schematicky se frekvence zapisují do formy frekvenční (čtyřpolní) tabulky (pro dané M!): X 2 X 2 X 1 a b r X 1 c d s k l m kde k = a + c, l = b + d, r = a + b, s = c + d a m = a + b + c + d, tedy celkový počet všech objektů (záznamů, řádků datové tabulky). Obecněji pro dvě konečněhodnotové veličiny používáme frekvenční tabulku následujícího tvaru: X 2 (hodn0) X 2 (hodn1)... X 2 (hodnk) X 1 (hodn0) a 00 a 01... a 0k a 0. X 1 (hodn1) a 10 a 11... a 1k a 1......... X 1 (hodnl) a l0 a l1... a lk a l. a.0 a.1... a.k m V následujícím textu se budu zabývat pouze dvouhodnotovými veličinami. 3.2 Kvantifikátory Nad charakteristikami a, b, c a d (viz minulý odstavec) je definována řada kvantifikátorů. Kvantifikátory mohou být podle typu prezentovaného asociačního pravidla implikační, asociační nebo korelační. Každý kvantifikátor se definuje jako funkce frekvencí a, b, c, d. Pokud je výsledkem zobrazení hodnota 1, zkoumané asociační pravidlo je přijato jako zajímavé. 12

3.2.1 Implikační kvantifikátory A (asi, většinou) je příčinou B (A B): 1. s,p fundovaná implikace (pro s (0; 1 a p > 0): s,p (a, b, c, d) = 1, je-li a p a a s(a + b) Tento kvantifikátor v podstatě představuje dříve (viz 2) zmíněný požadavek na splnění minimální podpory (p) a spolehlivosti (s). (Až na to, že zde číslo p nepředstavuje relativní, nýbrž absolutní počet výskytů.) 2.! s,p,α dolní kritická implikace (pro s (0; 1, p > 0 a α 0; 0, 5 ):! s,p,α (a, b, c, d) = 1, je-li r i=a ( ) r s i (1 s) r i α i Je založen na testu nulové hypotézy, že podmíněná pravděpodobnost sukcedentu za podmínky antecedentu je menší nebo rovna s, proti alternativní hypotéze, že je větší než s. Jde o test na hladině významnosti α. Hodnota 1 indikuje přijetí alternativní hypotézy. 3.? s,p,α horní kritická implikace (pro s (0; 1, p > 0 a α 0; 0, 5 ):? s,p,α (a, b, c, d) = 1, je-li a i=0 ( ) r s i (1 s) r i > α i Je založen na testu nulové hypotézy, že podmíněná pravděpodobnost sukcedentu za podmínky antecedentu je větší nebo rovna s, proti alternativní hypotéze, že je menší než s. Jde o test na hladině významnosti α. Hodnota 1 indikuje nezamítnutí nulové hypotézy. Dolní a horní kritickou implikaci vybíráme podle toho, kterou statistickou chybu chceme omezit hodnotou α: dolní kritická implikace nám zaručuje, že pravděpodobnost vygenerování vztahu A B při současné neplatnosti tohoto pravidla je rovna hodnotě α, zatímco horní kritická implikace zajišťuje, že pravděpodobnost nevygenerování vztahu A B při jeho skutečné platnosti je rovna dané hodnotě α. (Původně se v knize [2] ve vzorcích implikačních kvantifikátorů používají symboly p a s v prohozeném významu. Vzhledem ke značení v ostatních částech tohoto článku jsem si dovolil jejich význam takto pozměnit.) Zhodnocení implikačních kvantifikátorů: Všechny zde prezentované kvantifikátory se liší svou citlivostí nechť R M ( ) je množina všech pravdivých sentencí s implikačním kvantifikátorem v datech M; pak platí: R M (! s,p,α) R M ( s,p ) R M (? s,p,α) Jinými slovy, horní kritická implikace dává na výstup nejvíce sentencí, dolní kritická implikace nejméně... 13

3.2.2 Asociační kvantifikátory A (asi, většinou) souvisí s B (A B)... Volně řečeno, kvantifikátor je asociační, když nějakým způsobem říká, že shody převažují nad neshodami. Všechny dále zmíněné asociační kvantifikátory jsou symetrické v tom smyslu, že pro ně platí q(a, b, c, d) = q(a, c, b, d) tj. že predikát1 q predikát2 predikát2 q predikát1 1. δ prosté vychýlení (pro lib. δ 0) (speciálně pro δ = 0 dostáváme ad > bc). δ (a, b, c, d) = 1, je-li ad > e δ bc 2. 1 α Fisherův kvantifikátor (pro lib. α 0; 0, 5 ): 1 α (a, b, c, d) = 1, je-li ad > bc a min(r,k) i=a ( k m k ) i)( r i ( m ) α r Tento kvantifikátor je založen na statistickém testu hypotézy o nezávislosti veličin proti alternativě o jejich kladné závislosti na hladině významnosti α. Hodnota 1 indikuje přijetí alternativní hypotézy. 3. 2 α χ 2 -kvantifikátor (pro α (0; 0, 5 ): 2 α (a, b, c, d) = 1, je-li ad > bc a (ad bc) 2 m χ 2 α rkls kde χ 2 α je (1 2α)-kvantil χ 2 -rozložení s jedním stupněm volnosti. Tento kvantifikátor má stejné statistické pozadí jako Fisherův. Doporučení k používání asociačních kvantifikátorů: Nechť lh je součet nejdelší délky antecedentu a sukcedentu a m počet záznamů (řádků) datové matice. Autoři metody formulovali několik (často heuristických) pravidel pro použití jednotlivých kvantifikátorů: Pro χ 2 -kvantifikátor platí následující hrubý dolní odhad vztahu m k lh: Pro Fisherův kvantifikátor by mělo platit: 5 2 lh m m 2 lh χ 2 -test má větší sílu než Fisherova statistika. Proto je-li min{5 2 lh, 250} m používáme raději kvantifikátor χ 2 místo Fisherova. 14

3.2.3 Korelační kvantifikátory Za podmínky F hodnoty A a B (asi, většinou) korelují (A corr B / F): Všechny korelační kvantifikátory původní metody GUHA jsou založeny na pojmu pořadí. Předpokládejme, že máme data vzniklá pozorováním dvou reálněhodnotových veličin, t 1 a t 2. Navíc předpokládejme, že v datech nemáme žádné dva objekty se stejnými hodnotami t 1 nebo t 2 (situace se dá ošetřit, pokud je tam máme). R(i) definujme jako počet objektů, pro něž hodnota veličiny t 1 je menší než hodnota t 1 pro i-tý objekt. Podobně definujme i Q(i) (vzhledem k veličině t 2 ). 1. s-corr α Spearmanův kvantifikátor (pro α (0; 0, 5 ): s-corr α ( t 1, t 2 ) = 1, je-li m R(i)Q(i) k α i=1 kde k α je vhodná konstanta. Za jistých dodatečných předpokladů jde o statistický test nulové hypotézy nezávislosti proti alternativní hypotéze o kladné závislosti. Hodnota 1 indikuje kladnou závislost na hladině α. 2. k-corr α Kendallův kvantifikátor (pro α (0; 0, 5 ): ( ( ) ( k-corr α ( t 1, t 2 ) = 1, je-li sign R(i) R(j) sign Q(i) Q(j)) ) k α i j kde k α je vhodná konstanta. Statistická interpretace je stejná jako výše. sign(x) znamená funkci signum (kladného čísla je 1, záporného 1). 3. e-corr pořadově ekvivalenční kvantifikátor: e-corr( t 1, t 2 ) = 1, je-li R(i) = Q(i) pro i = 1,..., m 3.3 Dedukční pravidla Při hledání asociací se dá využít různých dedukčních pravidel. Lze jimi např. urychlit algoritmy hledání, protože nemusíme testovat sentence, které jdou odvodit z ostatních hypotéz. 1. Pravidlo záměny ekvivalentních formulí. V každé sentenci S(F ) obsahující formuli F a pravdivé v datech M lze nahradit formuli F jinou formulí F, která je v datech M ekvivalentní formuli F. Vzniklá sentence je opět pravdivá v datech M. Speciálním případem jsou formule logicky ekvivalentní, tj. formule ekvivalentní v každých datech. (Např.: p 1 p 2 a p 2 p 1 jsou logicky ekvivalentní.) 2. Pravidlo úprav elementární implikace. V elementární implikaci K D pravdivé v datech M můžeme: (a) Převést některé členy z antecedentu do sukcedentu za současné změny znamení (prostý/negace). 15

(b) Přidat do sukcedentu nové členy. Vzniklá sentence je opět pravdivá v datech M. Elementární implikace je sentence tvaru K D, kde K je elementární konjunkce, nějaký implikační kvantifikátor, D elementární disjunkce a K, D nemají žádný společný predikát. Např. je-li sentence p 1 p 2 0,8 p 3 v datech pravdivá, jsou pravdivé i tyto sentence: p 1 0,8 p 2 p 3 (převod p 2 ) p 2 0,8 p 1 p 3 (převod p 1 ) p 2 0,8 p 1 p 3 p 4 p 5 (přidání členů) 3. Pravidlo symetrie. Je-li symetrický kvantifikátor a je-li sentence F 1 F 2 pravdivá v datech M, pak i sentence F 2 F 1 je pravdivá v datech M. 4. Pravidlo konzervativního zlepšování. V sentenci pravdivé v datech a obsahující elementární konjunkci K lze ke K přidat do konjunkce libovolný počet predikátů a negovaných predikátů, které K konzervativně zlepšují. Výsledná sentence je opět pravdivá v datech M. Řekneme, že predikát p i (resp. jeho negovaná varianta p i ) konzervativně zlepšuje elementární konjunkci K v datech M, jestliže predikát p i se nevyskytuje v K a formule K p i (resp. K p i ) je ekvivalentní formuli K v datech M. 5. Pravidlo ostrého zlepšování pro konjunktivní asociace. V konjunktivní asociaci K 1 K 2 pravdivé v datech M lze k antecedentu přidat do konjunkce libovolný počet predikátů či negovaných predikátů tento antecedent ostře zlepšujících a podobně pro sukcedent. Výsledná sentence je opět pravdivá v datech M. Predikát F ostře zlepšuje antecedent K 1 konjunktivní asociace K 1 K 2, jestliže se tento predikát nevyskytuje v K 1 a formule K 1 K 2 je v datech ekvivalentní formuli K 1 K 2 F. Podobně F ostře zlepšuje sukcedent K 2 této asociace, jestliže se tento predikát nevyskytuje v K 2 a formule K 1 K 2 je v datech ekvivalentní formuli K 1 K 2 F. Platí, že jestliže predikát (negovaný predikát) konzervativně zlepšuje antecedent (sukcedent) konjunktivní asociace, pak jej zlepšuje i ostře. 3.4 Neúplná informace Uvedenou teorii lze rozšířit o schopnost pracovat s neúplnou informací. V následujícím výkladu se omezím pouze na dvouhodnotová data s neúplnou informací (tedy na trojhodnotová data s hodnotami 0, X, 1). Mějme nyní takovou trojhodnotovou tabulku dat M. Dvouhodnotové doplnění tabulky M je každá tabulka M, která vznikne z M tak, že nějakým způsobem nahradíme všechny křížky (chybějící hodnoty) nulami a jedničkami. Jedno jediné dvouhodnotové doplnění je správné; 16

totiž to, kde jsou chybějící hodnoty správně doplněny. Protože však tyto hodnoty neznáme, musíme brát v úvahu všechna doplnění. Vyhodnocování formulí složených z predikátů s chybějícími hodnotami se odehrává podle následujících pravidel: 1 jestliže p = 0 p = 0 jestliže p = 1 X jestliže p = X 1 jestliže p 1 =... = p n = 1 (p 1... p n ) = 0 jestliže některé p = 0 X jindy 1 jestliže některé p = 1 (p 1... p n ) = 0 jestliže p 1 =... = p n = 0 X jindy Pro elementární konjunkce a elementární disjunkce tedy platí princip zabezpečení: Každá taková formule F má pro libovolný objekt dvouhodnotových dat M s neúplnou informací hodnotu X, právě když existuje dvouhodnotové doplnění M dat M, v němž F = 1 a jiné dvouhodnotové doplnění M dat M, v němž F = 0. Funkce kvantifikátorů pracující s neúplnou informací se definuje takto: 1 jestliže q(m ) = 1, doplnění M tabulky M q(m) = 0 jestliže q(m ) = 0, doplnění M tabulky M X jindy I pro kvantifikátory tedy platí výše zmiňovaný princip zabezpečení. Pro práci s neúplnou informací se místo čtyřpolní tabulky používá zcela analogicky devítipolní tabulka: 1 X 0 1 a i b r X o n p 0 c j d s k l m Přechod k některému dvouhodnotovému doplnění se projeví tak, že i bude dílem přičteno k a, dílem k b; o k a a c,... a n dílem k a, b, c a d: a i b o n p c j d Příklad. Máme následující frekvenční tabulku (sloupce se týkají, jako obvykle, antecedentu a řádky sukcedentu): 17

1 X 0 1 3 0 0 X 2 0 0 0 1 0 9 které odpovídají tři možná doplnění: 1 0 1 5 0 0 1 9 1 0 1 4 0 0 2 9 1 0 1 3 0 0 3 9 Snadno se přesvědčíme, že ve všech doplněních je pravdivá sentence Naproti tomu sentence reprezentovaná frekvenční tabulkou jejíž všechny tři možná doplnění jsou: antecedent 0,9 sukcedent antecedent 0,9 sukcedent 1 X 0 0 9 0 1 X 0 0 2 1 0 0 3 1 0 1 9 1 0 0 5 1 0 1 9 2 0 0 4 1 0 1 9 3 0 0 3 je pravdivá v prvním doplnění, ale nepravdivá ve druhém i třetím. Bude tedy mít v našich datech hodnotu X (nelze rozhodnout, jestli je pravdivá nebo ne). 3.5 Procedury metody GUHA Samotná metoda GUHA se skládá z řady procedur. Mnohé z nich se zabývají i předzpracováním. K hlavním procedurám, které jsou v tomto textu popsány, patří: ASSOC vyhledávání sentencí s asociačními kvantifikátory IMPL vyhledávání implikací CORREL vyhledávání vysokých podmíněných korelací 18

3.5.1 ASSOC ASSOC je metoda, která hledá v datech sentence s asociačními kvantifikátory. Antecedent i sukcedent jsou formule ve tvaru elementární konjunkce. Jako vstup této metody vytěžování je třeba specifikovat, o jaký tvar výsledných sentencí máme zájem. Musí se určit kvantifikátor, jeho parametry a povolený tvar antecedentu a sukcedentu. Povolený tvar antecedentu a sukcedentu určuje řešitel tak, že zadá čtyři množiny predikátů: 1. BA důležité antecedentové predikáty, 2. CA ostatní vyšetřované antecedentové predikáty, 3. BS důležité sukcedentové predikáty, 4. CS ostatní vyšetřované sukcedentové predikáty. V každé z těchto čtyř množin určí ke každému predikátu povolený tvar (pozitivní, negativní nebo oba). Navíc ještě stanoví maximální povolenou délku antecedentu a maximální povolenou délku sukcedentu. Generovat se budou jen sentence, které mají v antecedentu i sukcedentu alespoň jeden důležitý predikát a volitelně několik dalších predikátů podle zadání (všechny v povolených tvarech). Výstupem jsou všechny sentence pravdivé v datech a vyhovující tvaru zadanému na vstupu. Samotný algoritmus probíhá zhruba takto: 1. Začíná se od sentencí tvořených jedním predikátem v antecedentu a jedním v sukcedentu. Postupně se testuje pravdivost všech přípustných kombinací počítáním čtyřpolních tabulek a vyhodnocováním funkce kvantifikátoru. 2. Následuje prodlužování antecedentu i sukcedentu. Obě formule jsou tvořeny jako elementární konjunkce. Opět se testuje pravdivost všech přípustných kombinací. 3. Délka sentence se zvětšuje až do maximální stanovené velikosti. Pro zmenšení objemu výstupních sentencí se dá využít dedukčních pravidel (viz sekce 3.3) a vypisovat pouze ty sentence, které nelze odvodit z ostatních. 3.5.2 IMPL Procedura IMPL slouží k vyhledávání vysokých podmíněných pravděpodobností v dvouhodnotových datech. Jinými slovy, generuje pravdivé sentence s implikačními kvantifikátory. Antecedent je ve tvaru elementární konjunkce a sukcedent ve tvaru elementární disjunkce. Vstupy jsou stejné jako u procedury ASSOC (viz sekce 3.5.1). Také algoritmus výpočtu je podobný proceduře ASSOC. 19

3.5.3 CORREL Procedura CORREL generuje a vydává elementární konjunkce, pro které je podmíněná korelace dvou vybraných reálných veličin v datech vysoká. Jinými slovy, vydává sentence tvaru (p 1 corr p 2 )/f kde p 1 a p 2 jsou zvolené reálněhodnotové veličiny a f je elementární konjunkce, kterou nazýváme podmínka. V jednotlivých bězích procedury CORREL jsou p 1, p 2 a korelační kvantifikátor corr pevné, mění se jen podmínka f. Procedura CORREL není uzpůsobená pro práci s neúplnou informací, proto se záznamy s neúplnou informací ze zpracování vylučují. Vstupy: 1. reálněhodnotové veličiny p 1 a p 2, které chceme zkoumat, 2. užitý korelační kvantifikátor 3. povolený tvar podmínky: (a) B důležité predikáty, (b) C ostatní vyšetřované predikáty U každé z těchto množin se ještě určí povolený tvar predikátu (pozitivní, negativní nebo obojí). 4. maximální povolená délka podmínky Procedura bude generovat pouze takové podmínky, které jsou elementární konjunkcí predikátů z B nebo C v povolených tvarech, přičemž obsahují alespoň jeden predikát z B. Výstupem jsou tedy všechny pravdivé sentence zadaného tvaru a následujícího formátu: (p 1 corr p 2 )/f Algoritmus hledání pravdivých sentencí spočívá v postupném generování podmínek povoleného tvaru, jejich postupným prodlužováním až do zadané maximální velikosti a testováním pravdivosti vzniklých sentencí. 4 Rozdělení asociací Získávání asociačních pravidel z dat je dnes rozsáhlé odvětví Data Miningu. Nebylo proto možné se v tomto textu zabývat všemi druhy získaných pravidel a všemi známými způsoby, jak je z dat vytěžit. Dovolím si ale alespoň na závěr stručné shrnutí různých druhů pravidel, která se dají z dat získávat. 1 Asociační pravidla můžeme rozdělovat mnoha způsoby (viz [3], [6]; každý druh se obvykle získává více či méně odlišnými metodami): 1 Obávám se, že ani tento souhrn není kompletní... 20

Podle typu asociačních pravidel: implikační (A B) asociační pravidla, jak byla prezentována v předchozím odstavci. (A (asi, většinou) je příčinou B.); asociační (A B) pravidla zachycující souvislost mezi daty. (A (asi, většinou) souvisí s B.); korelační (A corr B / F ) posuzují kladné závislosti dvou (spojitých) veličin. (Za podmínky F veličiny A, B (asi, většinou) korelují.) Podle typu hodnot použitých v pravidlech: booleovská (dvouhodnotová) pravidla charakterizující vztahy mezi přítomností a absencí znaků o datech; vícehodnotová pravidla kvantitativní asociační pravidla pracující se spojitými hodnotami. Podle dimenzí obsažených v pravidlu: jednodimenzionální pravidla (transakční asociace) zachycující vztahy uvnitř jedné dimenze dat (jinými slovy, v asociačním pravidlu se vyskytuje pouze jeden druh predikátu p i ). Např.: koupil(x, chipsy) koupil(x, křupky) koupil(x, pivo) multidimenzionální pravidla (klasické asociace) kombinují obecně více dimenzí. Např.: věk(x, 31-40) plat(x, 51-100 tis.) koupil(x, BMW) (atributy jedné množiny se nazývají antecedenty (předpoklady) a druhé sukcedenty (závěry, závisle proměnné)) agregovaná mezi podmnožinou atributů a charakteristikami jiných atributů (testy významnosti rozdílů středních hodnot různých ukazatelů počítaných z agregovaných údajů daných skupin záznamů, rozptylů... ) Podle úrovně abstrakce použité v množině pravidel: Někdy je vhodné testovat asociační pravidla na různých úrovních abstrakce. Například můžeme testovat závislost věku na koupi konkrétní značky vozu nebo jen typu vozu (sedan, limuzína atd.). První případ je konkrétnější než druhý. Podle různých vylepšení: hledání asociací může být obohaceno např. o korelační analýzu, zajímavost asociací se určuje navíc dalšími statistickými testy atd., hledání asociačních pravidel v textových dokumentech. 5 Statistický pohled Jak jsme viděli, v procesu získávání asociačních pravidel z dat se pro rozhodnutí o zajímavosti pravidla často používají různé statistické testy. Statistika pracuje s pravděpodobností 21

a veškeré výsledky dává na základě skutečnosti, že existuje jistá (byť malá) pravděpodobnost nepravdivosti statistických závěrů. Existuje-li tedy určitá (malá) pravděpodobnost α i, že konkrétní získané pravidlo F i není pravdivé, celková pravděpodobnost skutečnosti, že do množiny M vytěžených pravidel F i se vloudí alespoň jedno, které neodpovídá realitě, je nutně menší rovno M α i. Jevu se říká simultánní statistická inference. Při větší mohutnosti množiny M tento práh rychle roste k 1 pravděpodobnost, že mezi získanými asociačními pravidly je alespoň jedno nepravdivé, se blíží k jistotě. Co z toho vyplývá a má tedy získávání asociačních pravidel vůbec smysl? Samozřejmě ano. Na vytěžené znalosti ovšem nemůžeme pohlížet jako na jisté pravdy. Nelze je prohlásit za zákony zkoumané oblasti. Asociační pravidla nám pouze dávají přehled o charakteru dat. Ukazují, které hypotézy jsou daty podporovány, jaké vztahy jsou možná pravdivé a které směry dalšího bádání v datech jsou nadějné. (Více viz např. [2], [4] (str. 158 183) nebo [1] (str. 106).) Reference [1] Anděl J.: Statistické metody. MATFYZPRESS Praha 1998, ISBN 80-85863-27-8 [2] Hájek P., Havránek T., Chytil M.K.: Metoda GUHA automatická tvorba hypotéz. Academia Praha 1983 [3] Han J., Kamber M.: Data Mining: Concepts and Techniques. Academic Press 2001, ISBN 1-55860-489-8 [4] Havránek T.: Statistika pro biologické a lékařské vědy. Academia Praha 1993 [5] Šarmanová J.: Metody dolování znalostí z dat. Datakon Brno 2002 [6] Šarmanová J.: Metody analýzy dat. [učební text stejnojmenného předmětu], VŠB-TU Ostrava 2002 22