Lokální a globální analytické zprávy o výsledcích DZD

Rozměr: px
Začít zobrazení ze stránky:

Download "Lokální a globální analytické zprávy o výsledcích DZD"

Transkript

1 Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Zdeněk Reischig Lokální a globální analytické zprávy o výsledcích DZD KATEDRA SOFTWAROVÉHO INŽENÝRSTVÍ Vedoucí diplomové práce: doc. RNDr. Jan Rauch, CSc. Studijní program: Informatika, Teoretická informatika

2

3 Prohlašuji, že jsem svou diplomovou práci napsal samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce. V Praze dne... Zdeněk Reischig...

4

5 1.Obsah Abstrakt...3 Použité termíny a zkratky...4 Úvod Metodika CRISP-DM Fáze procesu Globální analytické otázky a metodika CRISP-DM ft Miner Procedura ASSOC Atributy a kategorie Tvorba hypotéz Omezující podmínky Výstupy 4ft Mineru Lokální analytické zprávy Projekt SEWEBAR Lokální Analytické Reporty a Globální analýzy Globální analytické otázky Fundovaná implikace Podobnost závislostí První úroveň podobnosti Druhá úroveň podobnosti Souhlasnost, kategoriální ekvivalence Negace a souhlasnost Další úrovně podobnosti Třetí úroveň podobnosti Čtvrtá úroveň podobnosti Pátá úroveň podobnosti Protichůdné závislosti První úrovně protichůdnosti Druhá úroveň protichůdnosti Omezující podmínky Soubory závislostí Využití úrovní podobností a protichůdností při řešení GAQ GAQ GAQ GAQ Další 4-ft kvantifikátory Vyhledávání v závislostech SEWEBAR Plnotextové vyhledávání na bázi Apache Lucerne XQuery Sémantické vyhledávání Tolog Shrnutí Background knowledge Metaatributy Požadavky BKEF FML Navrhovaný koncept Znalosti o datových maticích

6 5.3 Znalosti o vztazích mezi atributy Lisp-Miner Knowledge Base BKEF editor Navrhovaný přístup Globální analytické reporty Požadavky na strukturu pro uchovávání výsledků GAQ XMLGAR Vyjádření pravidel a znalostí Zdroje Oblast výzkum (scope) Úlohy (Tasks) Elementy query, resultsets, operators Celková struktura dokumentu Tvorba RGAR Praktické provedení analýz Zvolená LAQ Příprava dat Čáslav Řešení lokální analytické otázky Čáslav Vysoký systolický krevní tlak Vysoký diastolický krevní tlak Normální tlak (systolický i diastolický) Příprava dat Praha Řešení lokální analytické otázky Praha Vysoký systolický krevní tlak Vysoký diastolický krevní tlak Normální tlak (systolický i diastolický) Tvorba pravých lokálních analytických reportů Globální analytické otázky Porovnání nalezených závislostí napříč datovými maticemi Vliv obezity Vliv stresu Vliv kouření Vliv věku Vliv cvičení Shrnutí výzkumu o platnosti znalostí Závěr Literatura Příloha 1: Čáslav systolická hypertenze Příloha 2: Čáslav diastolická hypertenze Příloha 3: Čáslav normální tlak Příloha 4: Praha systolická hypertenze Příloha 5: Praha diastolická hypertenze Příloha 6: Praha normální tlak

7 Abstrakt Název práce: Autor: Katedra: Vedoucí diplomové práce: vedoucího: Lokální a globální analytické zprávy o výsledcích DZD Zdeněk Reischig Katedra softwarového inženýrství doc. RNDr. Jan Rauch, CSc. rauch@vse.cz Abstrakt: Tématem práce je automatická podpora tvorby lokálních analytických reportů, využití těchto reportů jako zdroje dat pro řešení globálních analytických otázek a tvorba globálních analytických reportů. V práci jsou navrženy metody pro porovnávání pravidel. Tyto metody slouží pro řešení globálních analytických otázek, ale mohou být využity i pro usnadnění tvorby lokálních analytických reportů. Pozornost je také věnována různým typům doménových znalostí. Některé z nich lze použít k odfiltrování nezajímavých pravidel, nebo k nalezení datových matic s neobvyklými vlastnostmi. Další jsou nezbytné pro řešení globálních analýz nad datovými maticemi využívajícími k popisu stejných vlastností různých metrik atd. Součástí práce je také návrh XML struktury pro zaznamenání výsledků globálních analýz. Tato struktura může být využita i pro automatické generování globálních reportů. Pro demonstraci uplatnění navržených postupů byla pomocí aplikace 4ft Miner řešena lokální analytická otázka nad medicínskými daty ADAMEK. Výsledky data miningu byly uloženy do systému SEWEBAR a jsou využity k zodpovězení několika globálních analytických otázek. Klíčová slova: data mining, lokální analytické reporty, globální analytické reporty Abstract Title: Author: Department: Supervisor: Supervisor's address: Local and global analytical reports on results of data mining Zdeněk Reischig Department of Software Engineering doc. RNDr. Jan Rauch, CSc. rauch@vse.cz Abstract: Thesis focuses on automatized support of local analytical reports creation, utilization of these reports as data sources for global analytical questions and creation of global analytical reports. In the thesis are suggested methods for comparison of rules. These methods are suitable for solving global analytical questions and can also help with composing of local analytical reports. Thesis also describes different kinds of background knowledge. One of them can be used for elimination of uninteresting rules or for finding data matrices with unusual relations. Other is necessary for solving global analytical questions, when rules are created over data matrices describing the same properties with different measures etc. Another important part of the thesis lies on providing a XML structure template for saving outputs of global analysis. It is also possible to use this XML structure for automatized generation of global analytical reports. Last part of the thesis is based on case study which shows how to use the guidelines and methods suggested in previous chapters. Case study solves local analytical question from medical field, using application 4ft Miner and data set ADAMEK. Results of data mining are stored in system SEWEBAR and are used for resolving a few global analytical questions. Keywords: data mining, local analytical reports, global analytical reports 3

8 Použité termíny a zkratky Analytik Osoba řešící globální analytické otázky. Předpokládá se, že to bude spíše doménový expert než data miner. Atribut Datový atribut transformovaný do formy použitelné pro data miningový nástroj. Hodnoty datového atributu jsou převedeny do kategorií atributu. GAQ Global analytical query globální analytická otázka. Analytická otázka, k jejíž zodpovězení se využívá více lokálních analytických reportů (resp. výsledků lokálního data miningu). GAQs Global analytical queries globální analytické otázky. GAR Global Analytical Report globální analytický report. Souhrnná zpráva o výsledcích globální analytické otázky. GARs Global Analytical Reports globální analytické reporty. Data miner Osoba provádějící klasický data mining. Datová matice Datový soubor, nad nímž je prováděn data mining zodpovídány lokální analytické otázky. Datový atribut Sloupec v datové matici. Doménový expert Expert v oblasti, které se týká úloha data miningu. Hodnota literálu Jedna nebo více kategorií, pomocí nichž je literál vyjádřen. Kategorie Jedna z hodnot, jichž může nabývat atribut. Vzniká transformací (převodem) hodnot datového atributu, viz. kapitola Atributy a kategorie. Klauzule Disjunkce literálů. KNF Konjunktivní normálová forma konjunkce klauzulí. LAR Local analytical report lokální analytický report. Souhrnná zpráva o výsledcích lokální analytické otázky. LARs Lokální analytické reporty. Literál Za literál považujeme základní booleovský atribut, nebo jeho negaci. Pravidlo Viz. závislost. Sémanticky shodné datové atributy Datové atributy, které popisují to samé. Popisují stejnou vlastnost objektu, i když k tomu využívají různé měrné jednotky, sloupce se jmenují jinak atd. Souhlasné literály Literály, které považujeme za stejné - pravidla se v nich neliší. Souhlasnost je definována v kapitole Souhlasnost, kategoriální ekvivalence. Základní boolovský atribut Základní boolovský atribut má tvar φ(ω), kde φ je označení atributu a ω je množina kategorií. Přesnější definice je uvedena v kapitole Procedura ASSOC. Závislost Objevený vztah mezi atributy. V této práci používáme také pojem pravidlo jako synonymum. 4

9 Úvod Dobývání znalostí z databází (data mining) je oblast informatiky, jejíž počátky sahají do šedesátých let minulého století, hlavní rozvoj tohoto odvětví však nastal počátkem devadesátých let. Po dlouhou dobu byla pozornost věnována metodám, které umožňují v datech najít zajímavé vztahy, jejich typizaci, efektivnosti a způsobu využití. V posledních letech se výzkum v této oblasti začíná věnovat také využití znalostí o dané problematice (doménových znalostí), sdílením a znovuvyužitím výsledků data miningu a také usnadněním tvorby souhrnných zpráv. Tato práce se věnuje tvorbě analytických zpráv ( lokálních analytických zpráv) z výsledků, jichž bylo dosaženo při zpracování úlohy data miningu a hlavně jejich následnému využití pro hledání nových zajímavých faktů řešení globálních analytických otázek. Vycházíme z toho, že při řešení klasické dataminingové úlohy jsou vyhledávány zajímavé závislosti nad jednou datovou strukturou. Výsledky data miningu jsou následně uloženy v centrálním systému v podobě lokálních analytických zpráv, odkud mohou být získány (zobrazeny) oprávněnými uživateli. Stejná či podobná analytická otázka 1 může být řešena i nad jinou datovou strukturou a její výsledky opět uloženy do centrálního systému. To umožňuje analytikovi zjišťovat co platí pro obě datové struktury, v čem jsou naopak specifické, zda nějaká znalost platí pro všechny datové struktury a podobně. V těchto případech mluvíme o globálních analytických otázkách otázkách, které se týkají více datových struktur a jsou zodpovězeny na základě výsledků lokálních dataminingových úloh. Cílem této diplomové práce bylo zmapovat problémy spojené s automatizací podpory vytváření systému smysluplných lokálních a globálních analytických zpráv z datových souborů, zmapovat problémy spojené s touto automatickou podporou a zformulovat několik lokálních a globálních analytických otázek týkajících se experimentálních kardiologických dat ADAMEK, vytvořit s využitím systému LISp-Miner odpovídající analytické zprávy a prezentovat je v rámci systému SEWEBAR-ADAMEK vytvářeného na VŠE Praha. Důraz měl být kladen na využití formalizovaných doménových znalostí. Práce je zaměřena na globální analytické otázky, které se dají zodpovědět porovnáváním závislostí nalezených při řešení lokálních analytických otázek. Vzhledem k velkému množství různých způsobů data miningu jsme také omezili své zaměření na asociační pravidla (resp. závislosti 1 Mluvíme o lokálních analytických otázkách zadáních data miningu, které je řešeno nad jednou datovou strukturou datovou maticí. 5

10 objevené pomocí kvantifikátoru fundované implikace), což je jeden z populárních způsobů dobývání znalostí. Navržené postupy se dají využít nejen k řešení globálních analytických otázek, ale také při tvorbě lokálních analytických reportů. Klíčovou roli při řešení globálních analytických otázek hrají znalosti. V práci se věnujeme různým druhům těchto znalostí a možnostem jejich využití. Stranou nezůstává ani potřeba prezentovat výsledky globální analýzy koncovým uživatelům. Představen bude koncept globálního analytického reportu jako výsledku zpracování globální analytické otázky. Struktura práce je následující: Kapitola 1 - Metodika CRISP-DM představuje uznávaný model procesu dobývání znalostí. Krom stručného popisu metodiky je v této kapitole diskutováno postavení globálních analýz v rámci tohoto procesu. V kapitole 2-4ft Miner se seznámíme s nástrojem pro dobývání znalostí, který je vyvíjen na Vysoké Škole Ekonomické. Cílem kapitoly je představit jeden ze způsobů data miningu a vysvětlit základní pojmy, se kterými bude pracováno v kapitolách následujících. Kapitola 3 - Lokální analytické zprávy se zabývá prezentací výsledků lokálního data miningu v podobě souhrnných zpráv lokálních analytických reportů. Čtenáři v této kapitole představíme projekt SEWEBAR, jehož cílem je vytvořit platformu pro sdílení výsledků data miningu a prezentaci těchto výsledků v podobě lokálních analytických zpráv, které mohou sloužit nejen jako zdroj informací pro konečné uživatele, ale také jako zdroj dat pro další analýzy. Čtvrtá kapitola se věnuje globálním analytickým otázkám, které lze řešit prostřednictvím porovnávání nalezených závislostí a znalostí, a metodám, které lze k jejich řešení použít. Při porovnávání objevených závislostí (vztahů) je důležité stanovit, kdy lze považovat závislosti za podobné. V podkapitole Podobnost závislostí budou diskutovány různé způsoby určení této podobnosti, metody, pomocí nichž může analytik podobné závislosti nalézt a problémy, na které při porovnávání závislostí narážíme. Krom podobných závislostí jsou pro analytika zajímavé i objevené závislosti, které se navzájem vyvracejí. Hledání tohoto typu závislostí se věnuje podkapitola Protichůdné závislosti. Podkapitola 4.6 obsahuje několik příkladů globálních analytických otázek a jejich řešení pomocí navržených metod. Podkapitola 4.7 seznamuje s metodami vyhledávání v závislostech, které jsou v současné době vyvíjeny v rámci projektu SEWEBAR. Pátá kapitola se zabývá znalostmi. Lokální analytické otázky jsou řešeny nad různými datovými 6

11 soubory, v kterých může být stejná vlastnost objektu vyjádřená různým způsobem a v různých měrných jednotkách. Při porovnávání závislostí však potřebujeme vědět, že např. vlastnost Výška(vysoký) říká to samé, jako vlastnost Height(>= 190cm). Tímto problémem, který lze řešit pomocí znalostí, se zabývá podkapitola Metaatributy. Pro globální analýzy jsou důležité také znalosti, týkající se datových matic (datových souborů). Díky tomu, že analytik ví, že jeden z datových souborů se týká pacientů z Jižní Ameriky a druhý evropských pacientů, nemusí pro něj být překvapující neplatnost závislosti v jednom z nich. V podkapitole 5.2 se zabýváme znalostmi, které se týkají datových matic - jako je země či město, z kterého datová matice pochází atd. Podkapitola Znalosti o vztazích mezi atributy se zabývá taktéž velmi důležitým typem znalostí znalostmi o vztazích mezi vlastnostmi objektů. Příkladem takové znalosti může být: Pacienti, kteří pijí hodně piva, mají tendenci být obézní. Stejně jako o výsledcích lokálních analýz, i o výsledcích analýz globálních je potřeba vytvořit souhrnné zprávy globální analytické reporty. Možnosti tvorby globálních analytických reportů se práce věnuje v kapitole šest. V sedmé kapitole vytvoříme několik lokálních analytických zpráv, nad nimiž budeme s pomocí navrhovaných postupů řešit globální analytické otázky. 7

12 1 Metodika CRISP-DM CRISP-DM (Cross Industry Standard Process for Data Mining) je procesní model pro na nástrojích a odvětví nezávislý datamining. Domovské stránky projektu, ze kterých jsou také čerpány informace uvedené v této kapitole lze nalézt na [17]. Důvod pro využívání této metodiky při řešení dataminingových úloh je na těchto stránkách výstižně uveden: Využití této metodiky by mělo pro větší data miningové projekty znamenat, že budou rychlejší, levnější a spolehlivější 2. Jednotlivé fáze procesu dobývání znalostí a jejich vzájemná posloupnost je vyobrazena na obrázku obr. 1. obr. 1: Proces data miningu dle CRISP-DM Převzato z [4] Projekt data miningu se skládá z šesti fází. Pořadí fází přitom není zcela striktní, neboť výsledky z jedné fáze mohou vyvolat potřebu vrátit se do fáze předchozí. Na obrázku jsou vyobrazeny pouze nejčastější přechody mezi fázemi. Může se tak stát, že data miner se například na základě výsledků z fáze Vyhodnocení výsledků bude muset vrátit do fáze Modelování a provést potřebné úpravy. Vnější kruh na schématu vyjadřuje, že data mining obvykle probíhá v iteracích. Výsledky z jednoho cyklu (projektu) data miningu rozšíří poznání o dané problematice, což vyvolá potřebu dalšího data miningového projektu, zaměřeného na některý detailnější problém. V následujících podkapitolách 2 [CrispDM] 8

13 budou stručně popsány jednotlivé fáze data miningového procesu a diskutována pozice globálních analýz z hlediska metodiky CRISP-DM. 1.1 Fáze procesu V této části práce bude stručně popsán obsah jednotlivých fází data miningu. Tento popis je převzat z [17], přeložen a mírně upraven. Porozumění problematice (Business Understanding) Tato úvodní fáze je zaměřena na porozumění cílům zadavatele. Tyto cíle by následně měly být převedeny na zadání pro data mining, měly by být stanoveny jednotlivé dílčí úkoly a sestaven předběžný plán projektu. Porozumění datům (Data Understanding) V této fázi by se měl data miner seznámit s obsahem datového souboru. Měly by být identifikovány problémy s kvalitou dat, zjištěny základní vlastnosti a vztahy mezi daty, případně i nalezeny zajímavé podmnožiny dat pro tvorbu hypotéz. V průběhu této fáze by měl také data miner porozumět významu dat. Příprava dat (Data Preparation) Tato fáze pokrývá všechny aktivity vedoucí k přípravě finální datové matice (dat, která budou zdrojem pro vybraný dataminingový nástroj) z původních dat. V rámci této činnosti musí být vybrány data (tabulky, sloupce...), která budou při data miningu použita, provedeny datové transformace, čištění dat a další činnosti, které vyžaduje dataminingový nástroj. (Např. pro využití 4-ft Mineru je potřeba převést sloupce tabulky na atributy, pro každý atribut vytvořit kategorie a určit, jaké hodnoty budou do kategorií spadat viz kapitola Atributy a kategorie.) Modelování (Modeling) V této fázi probíhá data mining v nejužším smyslu toho slova - jsou využívány různé techniky a nastavení pro vyhledání zajímavých závislostí. Protože některé z těchto technik potřebují specifický formát dat, je běžné, že se data miner musí v průběhu modelování vrátit do fáze přípravy dat. Vyhodnocení výsledků (Evaluation) Výsledkem fáze modelování jsou informace o vztazích mezi daty (jsou nalezeny zajímavé závislosti). V rámci této fáze je nutno vyhodnotit, zda tyto závislosti jsou zajímavé také z hlediska zadavatele, zda splňují zadání projektu a přinášejí nějaké nové informace. Je ověřováno, zda získané poznatky mohou být využity a hledají se důvody které by mohly výsledky data miningu zpochybnit. 9

14 Výstupem této fáze by mělo být rozhodnutí, zda je možné výsledky využít, nebo je nutné vrátit se do některé z předchozích fází. Každé takovéto rozhodnutí by mělo být zdůvodněno. Zodpovědnost za tuto fázi leží z velké části na doménovém expertovi, tedy člověku znalém dané oblasti a schopném určit, zda nějaké závěry jsou a nebo nejsou zajímavé. Využití výsledků (Deployment) Vytvořením modelu většinou projekt nekončí. Nové poznatky musí být předloženy zákazníkovi ve formě, které bude rozumět. Zákazník by následně měl těchto výsledků využít k úpravě svého chování, které mu přinese konkurenční výhodu apod. Výstupy této fáze se mohou značně lišit, mohou být jednoduché jako zpráva o nově objevených poznatcích, která rozšíří znalost dané oblasti nebo komplexní jako změny v provozní činnosti zákazníka. Často to bude právě zákazník, na kom bude ležet zodpovědnost za provedení této fáze. Očekává se však součinnost s řešiteli data miningového projektu. 1.2 Globální analytické otázky a metodika CRISP-DM Koncept globálních analytických otázek vychází z toho, že nad různými datovými soubory byly řešeny dataminingové úlohy, jejichž výsledky jsou uchovávány v centrálním úložišti v podobě zpráv (lokálních analytických reportů). Řešení globálních analytických otázek má pak podobu využívání těchto výsledků k získávání dalších poznatků. Na proces řešení globálních analytických otázek se potom můžeme dívat jako na proces dobývání znalostí, obecně popsaný metodologií CRISP-DM. Daty jsou v tomto případě lokální analytické reporty, výstupem analýzy může být zpráva globální analytický report, který bude popisovat nově nabyté znalosti. Při řešení globálních analytických otázek také vznikají nové poznatky o zkoumané oblasti. Důsledkem těchto nových poznatků může být jak požadavek na nový globální datamining, tak i požadavek na datamining nad konkrétními datovými maticemi nová lokální analytická otázka. V této práci se zabýváme jedním typem globálních analytických otázek, jehož specifikem je, že pro řešení otázky využívá závislosti nalezené při zpracování dílčích dataminingových úloh a tyto závislosti porovnává. Postupy, které jsou pro řešení tohoto typu otázek navrženy v kapitole 4 - Globální analytické otázky je přitom možné použít i ve fázi vyhodnocení výsledků lokálního data miningu a při tvorbě lokálních analytických zpráv. Pomocí navržených postupů bude moci analytik například zjistit, které z nalezených závislostí lze odvodit ze známých znalostí a odfiltrovat je jako nezajímavé. 10

15 2 4ft Miner 4ft Miner je nástroj pro dolování znalostí vyvíjený na VŠE v Praze. Cílem této kapitoly není seznámit čtenáře detailně se všemi jeho možnostmi, ale ukázat s jeho pomocí způsob, jakým jsou získávány zajímavé závislosti při řešení lokálních analytických otázek a objasnit terminologii, kterou používáme v dalších kapitolách této práce. 2.1 Procedura ASSOC 4ft Miner využívá pro hledání zajímavých závislostí v datech proceduru ASSOC. ASSOC je jednou z procedur metody GUHA (General Unary Hypotheses Automation), která byla popsána v šedesátých letech kolektivem českých vědců (více o metodě GUHA v [3] či [10]). Princip fungování ASSOC procedury je vyobrazen na obrázku obr. 2. Jedním ze vstupů procedury ASSOC je matice s daty, nad kterými hledáme zajímavé vztahy. Řádky matice reprezentují objekty, sloupce matice pak vlastnosti těchto objektů. Druhým vstupem procedury je popis vztahů (potenciálně zajímavých hypotéz), jejichž platnost má procedura ověřit. Metoda ASSOC pracuje s potenciálně zajímavými hypotézami resp závislostmi ve tvaru: antecedent succedent obr. 2: Princip ASSOC (resp.guha) procedury převzato z [si rydzi.pdf] kde antecedent a succedent jsou booleovské atributy odvozené od sloupců vstupní matice dat. Booleovský atribut je konjunkce nebo disjunkce booleovských atributů, nebo literál. Literál je buď 11

16 základní boolovský atribut, nebo jeho negace. Základní boolovský atribut má tvar φ(ω), kde φ je označení atributu či řekněme sloupce datové matice (bude upřesněno později) a ω je množina kategorií resp. hodnot (vztah mezi kategoriemi a hodnotami bude také vysvětlen dále v textu). Příkladem základního boolovského atributu může být: BMI(vysoké) Tento základní boolovský atribut bude pravdivý, pokud objekt (řádek z matice dat) bude mít vysokou hodnotu ve sloupci BMI. Příkladem celé závislosti (potenciálně zajímavé hypotézy) je: BMI(Vysoké) Pohyb(Málo;Vůbec) Výskyt_Infarktu(Ano) Antecedent této hypotézy bude platit pro objekty, které mají ve sloupci BMI hodnotu Vysoká a ve sloupci Pohyb hodnotu Málo, nebo Vůbec. Succedent bude platit pro objekty, které mají ve sloupci Výskyt_Infarktu hodnotu Ano. Procedura ASSOC vyhodnocuje takto zadanou hypotézu nad maticí dat. Pro každý řádek matice zjistí, zda v něm platí antecedent a zda v něm platí succedent. Na základě těchto zjištění sestaví tzv. čtyřpolní tabulku: M Succedent Not Succedent Antecedent a b Not Antecedent c d tab. 1: Čtyřpolní tabulka V této tabulce: a označuje počet objektů (řádek z matice M), pro které platí antecedent i succedent b označuje počet objektů, pro které platí antecedent, ale neplatí pro ně succedent c označuje počet objektů, pro které neplatí antecedent, ale platí pro ně succedent d označuje počet objektů, pro které neplatí ani antecedent, ani succedent. Tabulka slouží ASSOC proceduře k vyhodnocení 4-ft kvantifikátorů. 4-ft kvantifikátory Symbolu v hypotéze se říká 4-ft kvantifikátor. Procedura ASSOC může využívat různé 4-ft kvantifikátory. Každý z nich vyjadřuje nějakou podmínku definovanou pomocí čtyřpolní tabulky. Pokud je tato podmínka pro hypotézu α a matici M splněna, řekneme, že hypotéza α je pravdivá v 12

17 matici M, resp. že v matici byla objevena závislost α 3. Pro každý ze; 4-ft kvantifikátorů je potřeba nastavit parametry, které určují, jak silná musí být závislost, aby byla nalezena. Nyní uvedeme několik 4-ft kvantifikátorů, jejich význam a parametry. Fundovaná implikace Kvantifikátor fundované implikace je asi nejpoužívanějším 4-ft kvantifikátorem. Obvykle se značí p, Base. Parametr p se nazývá konfidence, parametr Support podpora a jsou definovány takto 4 : konfidence (p) = a a b podpora (Support) = a a b c d Místo podpory bývá někdy použit parametr Base, který udává minimální počet objektů, které musí splňovat antecedent i succedent (a). Při hledání zajímavých závislostí data miner stanoví minimální hodnoty konfidence a podpory. Budou potom nalezeny jen ty závislosti (potvrzeny ty hypotézy), jejichž konfidence a podpora je větší nebo rovna takto zadaným parametrům. Kvantifikátor fundované implikace lze slovně vyjádřit následovně: Nejméně 100*p procent objektů splňujících antecedent splňuje také succedent, přičemž nejméně 100* Support procent objektů (resp. alespoň Base objektů) splňuje antecedent i succedent. Kvantifikátor fundované implikace odpovídá klasickým asociačním pravidlům, vyjadřuje tedy snadno srozumitelný vztah Platí-li antecedent, je velká šance, že platí i succedent Above Average Dalším často používaným kvantifikátorem je Above Average. Jeho obvyklé značení je Parametr p má nyní jiný význam: a a c p a b a b c d význam Supportu je zachován. Kvantifikátor fundované implikace lze slovně vyjádřit takto: + p, Base. Mezi objekty, které splňují antecedent je alespoň o 100*p procent více objektů splňujících succedent, než mezi všemi objekty, přičemž nejméně 100*Support procent objektů (resp. alespoň Base objektů) splňuje antecedent i succedent. 3 V Práci používáme termíny závislost a pravidlo, které považujeme za synonima. 4 Písmena ve vzorcích reprezentují odpovídající sekce v čtyřpolní tabulce, viz tab

18 Dvojitá fundovaná implikace Dalším kvantifikátorem, jehož definici si ukážeme, je fundovaná implikace ( Supportu je opět stejný, význam parametru p je tentokráte: a a b c p + p, Base ). Význam Tento kvantifikátor lze slovně vyjádřit: 100*p procent objektů splňujících antecedent nebo succedent splňuje jak antecedent, tak i succedent. Je zřejmé, že na rozdíl od kvantifikátoru fundované implikace nebo above average, tento kvantifikátor bude pro koncové uživatele méně intuitivní. 2.2 Atributy a kategorie V předchozí kapitole bylo uvedeno, že jedním ze vstupů procedury ASSOC je matice s daty, nad kterými hledáme zajímavé vztahy. Řádky matice reprezentují objekty, sloupce matice vlastnosti těchto objektů. Tato matice však musí mít speciální formát, aby jí mohl 4ft Miner použít. Je tedy nutné data před použitím předzpracovat (Provést fázi příprava dat metodiky CRISP-DM). Dále budeme předpokládat, že originální data mají podobu jedné databázové tabulky, ve které řádky odpovídají sledovaným objektům a sloupce jejich vlastnostem. Sloupce v originálních datech budeme v této práci nazývat datové atributy. Datové atributy mohou být numerické nebo kategoriální binární, nominální a ordinální. U nominálních atributů, jako je barva, nebo typ účtu není stanovené uspořádání nemůžeme říct, že jedna hodnota je víc (lepší, horší apod.) než hodnota jiná. Binární atributy (např. pohlaví) jsou zvláštním případem atributů nominálních. Binární atributy nabývají jedné ze dvou hodnot a ani u nich nemá uspořádání význam. Ordinální atributy nabývají jedné z konečného počtu navzájem uspořádaných hodnot, příkladem ordinálního datového atributu může být Stres_Prace, který bude nabývat jedné z hodnot Žádný, Malý, Střední, Velký. Numerické atributy (např. Výška) jsou reprezentovány číslem a jejich hodnoty se tedy dají uspořádat. Aby mohl data miner s daty pracovat, musí vytvořit takzvané atributy (mluvíme o tom, že nějaký atribut je vytvořen nad datovým atributem). Atributy mohou nabývat jedné z konečného počtu hodnot, kterým říkáme kategorie. Při tvorbě atributu data miner vytvoří také jeho kategorie a stanoví mapování mezi hodnotami datového atributu a kategoriemi. 14

19 Při tvorbě kategorií nad nominálními datovými atributy obvykle vznikne jedna kategorie pro každou hodnotu 5, které datový atribut nabývá. Při mapování numerických datových atributů na kategorie se obvykle používají intervaly. Každá kategorie je tedy vyjádřena jako interval a hodnota datového atributu spadá do dané kategorie, pokud je v tomto intervalu. Příklad: V originálních datech jsou sloupce (datové atributy) Vyska, Pohlavi, Vzdelani. Data miner vytvoří nad sloupcem Vyska atribut Výška_Pacienta, nad sloupcem Pohlavi atribut Pohlaví_Pacienta a nad sloupcem Vzdelani atribut Vzdělání_Pacienta. Pro nově vzniklý atribut Výška_Pacienta vytvoří kategorie: Malý, kterou nadefinuje jako interval <0;150) Normální, kterou nadefinuje jako interval <150;190) Vysoký, kterou nadefinuje jako interval <190; nekonečno) Pro atribut Pohlaví_Pacienta vytvoří kategorie: Muž - pro hodnoty datového atributu M Žena - pro hodnoty datového atributu Z Pro Vzdělání_Pacienta vytvoří kategorie Základní pro hodnotu Zakladni datového sloupce. Střední pro hodnoty Gymnazium a OdborneUciliste Vysoké pro hodnoty VysokaSkola a VyssiOdbornaSkola Tvorba atributů a kategorií je značně kreativní částí data minerovy práce. Pro některé atributy existují standardizované či řekněme doporučované kategorie, u jiných však volba kategorií záleží čistě na úsudku a znalostech data minera. Příkladem standardizovaného atributu je BMI (Body Mass Index), u kterého jsou známé stupně obezity. Naopak u atributu popisujícího výšku člověka žádná široce uznávaná kategorizace není a data miner se musí rozhodnout, zda udělá např. kategorie z intervalů délky pět či deset centimetrů. Tato volnost přináší problémy s řešením globálních analytických otázek, viz kapitoly Souhlasnost, kategoriální ekvivalence či Metaatributy. Při volbě kategorizace se obvykle doporučuje konzultace s doménovým expertem, tedy člověkem, který se vyzná ve zkoumané oblasti. Jisté návody na volbu kategorií, vycházející hlavně z praktických zkušeností, lze nalézt také v [4]. 5 Data Miner se ovšem může rozhodnout, že do jedné kategorie bude patřit více hodnot datových atributů) 15

20 Nad jedním datovým atributem (sloupcem v původních datech) lze vytvořit více atributů. Data miner tak může nad sloupcem Vyska v původní matici vytvořit atribut Výška_Pacienta_5cm, jehož kategorie budou intervaly délky pět centimetrů, současně ale může vytvořit i atribut Výška_Pacienta_20cm, s kategoriemi v podobě intervalů o délce 20cm. 2.3 Tvorba hypotéz Vstupem procedury ASSOC (viz obr. 2) je matice dat a množina asociačních pravidel - hypotéz. O množině dat a jejím formátu bylo pojednáno v předchozím textu, v této kapitole se zaměříme na způsob, jakým lze v 4ft Mineru vytvořit zmiňovanou množinu asociačních pravidel (hypotéz). Na obrázku obr. 3 je vidět obrazovka 4ft mineru, pomocí níž je možné požadovanou množinu vytvořit. Sekce 1 slouží pro tvorbu antecedentu hypotéz, sekce 3 pro tvorbu succedentu hypotéz. V sekci 2 se zadávají 4-ft kvantifikátory a jejich parametry, proti kterým se hypotézy ověřují. Do sekce 4 může data miner zadat omezující podmínky, jejichž význam bude popsán v části 2.4- Omezující podmínky. obr. 3: Tvorba množiny asociačních pravidel (hypotéz) 16

21 Při tvorbě antecedentu či succedentu hypotéz volíme atributy, které mají hypotézy obsahovat. Pro každý z atributů následně určíme, jaké má obsahovat kategorie. Data miner má mnoho možností, jak navolit kategorie, kterých může atribut nabývat. Uveďme si některé z nich: Výběr konkrétní kategorie tato možnost byla zvolena na obr. 3 v succedentu pro atribut Systolický tlak - byla vybrána kategorie Normální Výběr kategorií pomocí intervalu. Tato možnost má význam u numerických a ordinálních atributů. Generují se hypotézy+ obsahující literál s hodnotou v podobě několika po sobě jdoucích kategorií. Při výběru kategorií pomocí intervalu je nutno ještě nastavit minimální a maximální délku tohoto intervalu. Pokud např. pro atribut Věk nastavíme výběr kategorií jako interval o minimální i maximální délce 2, budou tvořeny hypotézy obsahující literály Věk(<20,25);<25,30)), Věk(<45,50);<50,55)) apod. Výběr kategorií jako podmnožiny (subset). Tato možnost je podobná výběru kategorií pomocí intervalu, ale nyní hodnoty literálu nemusí tvořit posloupnost. Tedy pokud bychom místo intervalu na atribut Věk použili stejně nastavený subset, dostali bychom navíc literály jako Věk(<20,25);<70,75)), Věk(<20,25);<50,55)) apod. Výraz Antecedent Conj,0-3 na obrázku obr. 3 znamená, že generované hypotézy mají v antecedentu obsahovat 0-3 literály vytvořené ze specifikovaných atributů a kategorií a tyto literály mají být spojeny logickým operátorem AND ( ). Lze také požadovat, aby byly literály spojeny logickou spojkou OR (v). Pomocí přidávání skupin lze v 4ft Mineru sestavit antecedent i succedent tak, že literály v nich jsou v konjunktivní normálové formě. Prostředí 4ft mineru pro tvorbu hypotéz nabízí mnohem více nastavení, než bylo ukázáno v této kapitole. Jejich detailní popis však přesahuje rámec této práce a čtenář jej může nalézt například na stránkách projektu [20]. Pro potřeby této práce je potřeba vysvětlit již jen fungování omezujících podmínek. 2.4 Omezující podmínky Omezující podmínky (viz. sekce 4 na obr. 3) jsou poslední pro nás důležitou funkcionalitou 4ft Mineru. Pomocí omezujících podmínek říkáme, že hledáme závislosti jen v určité podmnožině dat z datové matice. Omezující podmínky se, stejně jako antecedent a succedent, tvoří pomocí atributů a kategorií. Omezující podmínky využijeme v případě, že chceme objevit závislosti týkající se jen určité podmnožiny dat, například bychom chtěli objevit závislosti mezi věkem a hodnotami 17

22 systolického tlaku, které se týkají mužů. Toto omezení by se zadalo přidáním atributu Pohlaví(Muž) do sekce 4. Při zadání omezujících podmínek se čtyřpolní tabulka tvoří jen z řádků datové matice, které splňují dané omezení. Závislosti (hypotézy), využívající omezujících podmínek, bývají zapisovány následovně: antecedent succedent / restriction 2.5 Výstupy 4ft Mineru Hledání zajímavých závislostí v prostředí 4ft Mineru probíhá tak, že se vygenerují hypotézy nadefinované pomocí nastavení z obr. 3. Pro každou hypotézu se následně zjistí její hodnoty v čtyřpolní tabulce a vypočte se hodnota 4-ft kvantifikátoru, zadaném v sekci 2. Pokud hodnota tohoto kvantifikátoru splňuje požadavky stanovené parametry kvantifikátoru (také sekce 2), je hypotéza označena za zajímavou a stane se součástí výstupu data miningu. 4ft Miner navíc zobrazuje pouze primární (prime) závislosti 6. Závislost je primární, pokud splňuje podmínky 4-ft kvantifikátoru v dané datové matici a nevyplývá z jiné závislosti, která tyto podmínky splňuje také. Koncept primárních závislostí byl představen v [9], nebo také v [14]. Poznamenejme, že primární závislosti nevyjadřují to samé, jako odvozené závislosti zavedené v kapitole Fundovaná implikace. Při zjišťování primárních závislostí se využívá logického kalkulu a vlastností 4-ft kvantifikátorů vzhledem ke čtyřpolní tabulce, u odvozených závislostí využíváme jiného principu. V současné době také probíhá rozšíření 4ft Mineru o schopnost odfiltrování závislostí, které vyplývají ze známých znalostí. O principu tohoto přístupu je pojednáno v [14]. Výsledkem běhu 4ft Mineru je soubor nalezených zajímavých závislostí. Tyto závislosti si může data miner zobrazit přímo v tomto nástroji nebo je může vyexportovat v rozličných formátech do souboru. Velkou výhodou softwaru je možnost exportování výsledků na web projektu SEWEBAR, viz Projekt SEWEBAR. Krom exportování výsledků je možné objevené závislosti filtrovat podle různých kritérií, zjistit hodnoty jejich 4-ft kvantifikátorů, podívat se na čtyřpolní tabulku dané závislosti apod. 6 Lze ovšem nastavit zobrazování všech závislostí. 18

23 3 Lokální analytické zprávy Jak bylo uvedeno v kapitole 1 - Metodika CRISP-DM, výsledky data miningu je potřeba vyhodnotit, a následně prezentovat zákazníkům. Přitom zákazníkem data miningového projektu bývají zpravidla lidé z jiného oboru (lékaři, manažeři), kteří nebývají vzděláni v informačních technologiích. Při tvorbě souhrnných zpráv (lokálních analytických reportů) je potřeba součinnosti data minera, který pomocí svých znalostí prováděl data mining, rozumí významu kvantifikátorů a hodnotám v kontingenčních tabulkách a doménového experta, který musí vyhodnotit výsledky data miningu (nalezené závislosti) z Business pohledu. Právě doménový expert musí určit, které z nalezených závislostí jsou zajímavé, mohly by být předmětem dalšího studia apod. a které naopak ničím překvapivé nejsou. K tomu doménový expert využívá znalosti z oboru, které data miner nemá. Výsledkem takové součinnosti by měl být lokální analytický report přehledná zpráva, ve které budou zajímavé vztahy z provedeného data miningu, komentáře doménového experta k těmto vztahům a jeho další doporučení a závěry. Princip lokálních analytických reportů byl představen např. v [11], kde byla také navržena kostra struktury reportu pro potřeby konkrétní analytické otázky. Tato struktura vypadá následovně 7 : 1. Úvod Cíl analýzy neformální formulace analytické otázky, např. Jaké kombinace charakteristik pacienta implikují výrazně vyšší relativní četnosti některých hodnot krevního tlaku. Dále by v této části měly být principy řešení otázky a popis struktury reportu. 2. Analyzovaná data Názvy a základní statistické charakteristiky atributů datové matice. 3. Analytická otázka a množina hypotéz Detailní popis a vysvětlení množiny hypotéz, které byly ověřovány v rámci řešení dataminingové úlohy (viz kapitola Tvorba hypotéz). 4. Přehled výsledků Seznam všech nalezených závislostí, včetně vhodných statistik týkajících se výskytu atributů v závislostech. Také v této části mohou být zjištění druhého stupně, jako nebyl objeven žádný vztah týkající se pití kávy. 7 Přeloženo a upraveno. 19

24 5. Vybrané závislosti Detailní popis vybraných závislostí. 5. Závěr Doporučení pro další analýzy, porovnání výsledků se známými fakty apod. V současné době probíhá výzkum možnosti tvorbu takovýchto reportů co nejvíce automatizovat. V této snaze lze spatřovat dva základní problémy. První z nich vyplývá z našich zkušeností z Business světa, ve kterém má forma často stejný význam jako obsah. Z velké části automatizovaně vytvořená zpráva může být managerem odmítnuta jen pro to, že bude obsahovat příliš mnoho nebo naopak příliš málo podrobností. Druhý problém spočívá v tom, že při tvorbě analytických reportů je do výsledné zprávy vkládána znalost doménového experta. Ačkoli probíhají různé pokusy s formalizací těchto znalostí a jejich automatickým používáním, zkušenosti z expertních systémů vypovídají o tom, že možnosti získat a následně vhodně využít tyto znalosti automatizovaně jsou zatím velmi omezené. 3.1 Projekt SEWEBAR Projekt SEWEBAR (Semantic WEB and Analytical Reports) je výzkumný projekt, probíhající na katedře informačního a znalostního inženýrství, fakultě informatiky a statistiky, VŠE Praha. Jeho hlavním zaměřením je zkoumat možnosti využití sémantického webu pro sdílení a tvorbu analytických zpráv. Základním nástrojem se stal CMS systém Joomla!, pro nějž bylo vytvořeno (a stále je vytvářeno) několik rozšíření umožňujících pracovat s výsledky data miningu. Analytické zprávy mají v systému podobu článků. V současnosti lze mluvit o dvou typech analytických zpráv. PMML Reportech a pravých lokálních analytických zprávách 8. PMML Reporty PMML Reporty jsou automaticky vytvořené zprávy z výsledků běhu data miningového nástroje (4ft Miner umožňuje výsledky data miningu publikovat přímo v SEWEBARU). Pro sdílení výsledků data miningu je používán XML soubor (v rámci projektu SEWEBAR byl navržen GUHA AR PMML formát, který je rozšířením standardního PMML formátu). Tento XML soubor je zaslán do CMS systému, kde je uložen. Pomocí XSLT transformace je možno jej převést do HTML stránky, která je lidsky čitelná a má formu lokálního analytického reportu (PMML Reportu). 8 Nejsme si vědomi žádného standardního označování těchto reportů. 20

25 PMML Reporty mají pět sekcí: Metadata úlohy obsahující jméno řešené úlohy, použitý software pro její řešení a další. Obsah Popis datového souboru v této sekci jsou informace o jednotlivých sloupcích (datových atributech) matice, nad níž byl data mining prováděn a které byly při řešení úlohy použity. Konkrétně jsou tam průměrné hodnoty sloupce a tabulka, která pro každou hodnotu datového atributu uvádí počet objektů (řádek matice), které do dané kategorie spadají. Vytvořené atributy atributy, které byly vytvořeny z výše popsaných datových atributů, s kategoriemi, které byly pro atribut nadefinovány a jejich frekvencemi (také je zde interaktivní graf, který umožňuje zobrazit frekvence hodnot v rámci kategorií) Zadání úlohy zde je popsáno zadání úlohy, která byla zpracována. Seznam pravidel Výpis nalezených asociačních pravidel, včetně jejich čtyřpolních tabulek a hodnot různých kvantifikátorů. Report obsahuje také automaticky vytvořené texty popisující obsah výše zmíněných sekcí. Vzhledem k tomu, že tento typ zpráv vzniká XSLT transformací XML souboru 9, popisujícího výsledky běhu data miningové úlohy, jsou všechny informace v něm dobře strukturovány a dají se nad nimi provádět další analýzy (resp. tyto analýzy mohou být provedeny nad původním XML souborem). Pravé analytické reporty Tyto reporty jsou psány v přirozeném jazyce a tedy v základu nemají strukturovanou podobu. Při tvorbě analytické zprávy autor většinou potřebuje některé části výsledků data miningových úloh, kterými dokládá (podporuje) svá tvrzení. V rámci projektu SEWEBAR byla vyvinuta komponenta ginclude ( viz. [16]), která umožňuje do tvořeného reportu vkládat části PMML reportů. Je možné vložit celé sekce popsané výše nebo jednotlivé jejich fragmenty (např. jednotlivá pravidla). Díky tomu může autor tvořit report rychleji, navíc i částečně strukturovaně (do reportu jsou přidávány strukturované části). Krom částí PMML reportů je možno pomocí komponenty ginclude vkládat informace z BKEF formátu, který obsahuje znalosti - background knowledge (více viz kapitola 5 - Background 9 Toto zajišťuje komponenta XML2XSLT, taktéž vyvynuta v rámci projektu SEWEBAR. 21

26 knowledge). Uvažuje se i nad dalšími zdroji, které by bylo možné vložit. Analytikovi by při tvorbě pravých lokálních analytických reportů mohly pomoci také principy (úrovně podobností a neshod) navržené v kapitole 4 - Globální analytické otázky pro potřeby globálních analýz. Pokud tvoří lokální analytický report, který shrnuje výsledky několika málo dílčích data miningových otázek (PMML reportů), nemusí pro něj být problém pročíst si příslušné dílčí reporty, udělat si názor na jejich výsledky a do sestavovaného souhrnného reportu vložit pomocí komponenty ginclude požadované závislosti (a další informace). Pokud však souhrnná zpráva bude vznikat nad mnoha desítkami dílčích úloh, může pro něj být obtížné a časově náročné z jednotlivých PMML reportů vybrat a analyzovat potřebné informace. Použití postupů popsaných v kapitole 4 - Globální analytické otázky na danou datovou matici by mu mělo tuto práci výrazně usnadnit a zrychlit (mohl by např. najít jen ta pravidla, která nejsou odvozená ze znalostí ani z jiných nalezených pravidel, pravidla vyjadřující závislost BMI na výšce a pasu apod.). Do tvořené lokální analytické zprávy by potom mohl vložit části z automaticky generované zprávy globální, viz kapitola 6 - Globální analytické reporty. Uspořádání reportů Vzhledem k tomu, že reporty mají na serveru podobu článků, je pro jejich uspořádání možné využít standardních nástrojů CMS systému pro organizaci článků. Lze tedy například pro každou řešenou analytickou otázku vytvořit složku, která bude mít podsložku pro automaticky vytvářené PMML reporty a podsložku pro tvorbu pravých analytických reportů. CMS systémy také obsahují komponenty pro správu uživatelů a přidělování různých úrovní práv těmto uživatelům. Tyto komponenty je možné využít pro flexibilní zabezpečení informačního obsahu reportů. Do budoucna je možné zvážit možnost automatické podpory zařazování PMML reportů do struktury článků. PMML XML soubory s výsledky dataminingu obsahují informaci o tom, nad jakou datovou maticí byly vytvářeny (identifikace matice je však možná pouze skrze název tabulky, což není zcela ideální, viz následující kapitola 3.2 a kapitola Znalosti o datových maticích) a také informaci o zpracovávané analytické otázce. Tyto informace je možné využít k (semi)automatickému zařazení reportu do struktury článků. V současné době data miner musí při exportování výsledků na server zvolit článek do nějž bude report uložen. 3.2 Lokální Analytické Reporty a Globální analýzy Lokální analytické reporty jsou zdrojem dat pro řešení globálních analytických otázek. Pro potřeby GAQs, kterými se zabýváme v této práci, jsou vhodné automaticky vygenerované PMML Reporty, 22

27 resp. jejich zdroje XML soubory. Aby bylo tyto možné správně používat, je potřeba vyřešit problém s jejich přiřazením k datové matici. V současné době obsahuje PMML Report pouze informaci o názvu datové tabulky, nad níž byla analýza prováděna. Tento identifikátor je dle našeho názoru nedostatečný, neboť nelze vyloučit, že se dvě rozdílné datové matice budou jmenovat stejně, ani to, že analytik při řešení jiné analytické otázky datovou matici nepřejmenuje. Tento problém je ještě markantnější u pravých lokálních analytických reportů, kde informace o tom, které datové matice se report týká, zcela chybí. Pokud do tohoto reportu analytik vkládá fragmenty z PMML Reportů, je možné tuto informaci získat z nich, nicméně tento přístup je z našeho pohledu dosti komplikovaný. Informace o datové matici by bylo možno také uchovávat v rámci CMS systému prostřednictvím uspořádání článků (reportů). Na nejvyšší úrovni by mohla každé datové matici odpovídat jedna složka, obsahující podsložku pro každou řešenou úlohu, s dalšími podsložkami popsanými v předchozím textu. Pravé analytické reporty jsou pro využití v globálních analýzách problematické kvůli své strojové nečitelnosti nestrukturovanosti. Požadavek na strukturované reporty byl vznesen již v [11], kde byla diskutována vhodnost rozdělení reportu na sekce, jako například typ analytické otázky, background knowledge, nalezené závislosti a další. V článku [5] je představena možnost využít Topic Mapy pro přidávání strukturované informace k volnému textu. Ve zmiňovaném článku byl tento přístup demonstrován na přidání strukturované informace o zajímavosti závislostí. Topic Mapy se ovšem zdají vhodné také k označení jednotlivých sekcí dokumentu viz [15]. Při takovémto strukturovaní reportů by bylo možné nad nimi provádět vyhledávání, které by se dalo označit za řešení globálních analytických otázek. Jsou li reporty strukturovány, je třeba možné vyhledat závěry všech reportů, týkajících se analytické otázky Pacient(X) =>+ Cholesterol(X), resp. všech pravidel v těchto reportech. V této práci se však zaměřujeme na jiný typ globálních analytických otázek, spočívající ve vyhledávání podobných pravidel (viz kapitola 4 - Globální analytické otázky). 23

28 4 Globální analytické otázky Při zpracovávání lokálních analytických otázek ověřuje data miner hypotézy, resp. hledá nové vztahy nad konkrétními daty (datovou maticí). Objevené závislosti jsou následně publikovány v podobě lokálních analytických reportů (LARs) a zpřístupněny koncovým uživatelům. V rámci projektu SEWEBAR byl vytvořen systém, který umožňuje centralizované ukládání reportů v podobě, která je nejen srozumitelná pro koncové uživatele, ale v případě PMML reportů také strojově čitelná (viz. kapitola Projekt SEWEBAR). Díky tomu lze využít tyto reporty pro další analýzy. Koncept globálních analytických reportů byl představen v rámci [13]. Základní myšlenka tohoto konceptu je znázorněna na obrázku obr. 4. obr. 4: Koncept globálních analytických reportů. Převzato z [13] Pomocí dotazů do systému, ve kterém jsou uloženy lokální analytické reporty vytvořené nad různými datovými maticemi, se analytik snaží vyřešit některou globální analytickou otázku jako například: Je objevená závislost podporovaná závislostmi nalezenými nad jinými datovými maticemi, nebo je specifická pro danou datovou matici? (Nakolik je tato závislost specifická pro danou matici?) Lze objevenou závislost odvodit z jiné? Které ze závislostí můžeme odvodit z některé 24

29 znalosti? ( Pojem odvozená závislost je vysvětlen v kapitole Fundovaná implikace) Víme, že určité vlastnosti ovlivňují jiné vlastnosti. Jaké vztahy mezi těmito vlastnostmi existují? (Např. bankovní analytik ví, že z věku zákazníka, jeho průměrného příjmu a velikosti požadované půjčky lze odhadnout, zda půjčka bude řádně splácena. Bude chtít znát nalezené závislosti popisující tento vztah, případně také bude chtít vědět, jak se tyto závislosti liší pro různé regiony, jaké další závislosti tento vztah ovlivní apod.) Předpokládá se přitom, že analytik zpracovávající tyto otázky nemá přístup k původním datům (datovým maticím) a k zodpovězení otázek využívá vytvořené a publikované lokální analytické zprávy 10. Tato práce se zaměřuje na typ globálních analytických otázek, které lze řešit porovnáváním závislostí nalezených nad různými datovými maticemi, případně porovnáváním závislostí a znalostí (které mohou být vyjádřeny v obdobné formě, jako objevené závislosti, viz kapitola Znalosti o vztazích mezi atributy). Při zkoumání, zda závislosti odpovídá jiná závislost narážíme na problém se stanovením, kdy můžeme tyto dvě objevené závislosti prohlásit za stejné resp. podobné a kdy nikoli. Jsou-li například objeveny ve dvou LARs následující závislosti: : Výška( <= <165;170)) impl Pas( 83;98)) 0.7;50 Cholesterol( 4;5,5)) impl : Výška( <= 170;175) ) 1.43 ;40 Cholesterol( 4;5,5)) budou tyto závislosti vyhodnoceny jako stejné, pokud se budeme zabývat globální analytickou otázkou V jakých závislostech týkajících se vztahu Výšky a Cholesterolu se liší dva různé LARs? Obě zachycují vztah mezi výškou člověka a obsahem cholesterolu v jeho krvi. První z nich však v antecedentu obsahuje krom výšky také atribut udávající obvod pasu člověka. U atributu výška jsou navíc použita jiná rozmezí hodnot. V části Podobnost závislostí je navrženo několik úrovní podobnosti, které mají pomoci analytikovi tento problém řešit. V kapitole Protichůdné závislosti následně jsou navrženy postupy, které je možné využít při řešení obdobného problému hledání protichůdných závislostí. Závislosti mohou být objeveny pomocí různých kvantifikátorů (4-ft kvantifikátorů). Tato práce se zaměřuje převážně na klasická asociační pravidla, tedy pravidla objevená pomocí kvantifikátoru fundované implikace. Tento kvantifikátor byl zvolen z několika důvodů. Jedná se o nejčastěji používaný kvantifikátor, je snadno pochopitelný pro doménové experty, je vhodný pro vyjádření 10 Uvažuje se o tom, že k zodpovězení těchto otázek by se využívaly i reporty globální, v této práci se však zaměříme na zpracovávání dat z lokálních analytických zpráv. 25

30 většiny doménových znalostí majících podobu závislostí a má vlastnosti dobře využitelné pro porovnávání pravidel. Přestože jsou postupy navržené v této kapitole určeny pro práci se závislostmi nalezenými pomocí fundované implikace, dají se částečně využít i pro ostatní 4-ft kvantifikátory. Tím se zabývá kapitola Další 4-ft kvantifikátory. Další komplikace pramení z toho, že při řešení globálních analytických otázek pracujeme se závislostmi nalezenými nad různými datovými maticemi, navíc často i jinými data minery. Musíme se umět vypořádat se situací, kdy se dva sémanticky shodné datové atributy jmenují jinak, jejich hodnoty jsou v jiných měrných jednotkách nebo používají jinak nadefinované kategorie 11. Tímto problémem se zabývá kapitola Metaatributy a částečně také kapitola Souhlasnost, kategoriální ekvivalence. V současné době neexistuje nástroj pro automatické řešení GAQ či tvorbu globálních analytických reportů. V rámci projektu SEWEBAR jsou vyvíjeny nástroje, které umožní analytikovi vyhledávání v závislostech z lokálních reportů, vývoj je však z pohledu potřeb globálních analýz v počátku. Blíže o nástrojích vyvíjených v rámci tohoto projektu je pojednáno v kapitole Vyhledávání v závislostech SEWEBAR. 4.1 Fundovaná implikace Fundovaná implikace je asi nejčastěji používaný kvantifikátor pro hledání závislostí. Tento kvantifikátor odpovídá klasickým asociačním pravidlům. Jeho nespornou výhodou je snadná pochopitelnost pro doménového experta, u nějž se předpokládá nižší znalost matematických principů, které umožňují správně interpretovat význam ostatních kvantifikátorů (často se ještě využívá kvantifikátor above average, který je také poměrně snadno pochopitelný). Velmi volně lze vyjádřit vztah reprezentovaný fundovanou implikací takto 12 : Jsou li splněny u daného objektu podmínky dané antecedentem, pak u tohoto objektu budou často splněny i podmínky dané succedentem. Formát pokud platí něco, pak platí něco jiného je také obvyklým způsobem, kterým doménoví experti vyjadřují své znalosti. Z těchto důvodů byla fundovaná implikace zvolena jako primární kvantifikátor, kterým se tato práce zabývá. Pokud nebude uvedeno jinak, bude v této práci pod pojmem závislost míněna závislost vyjádřená jako fundovaná implikace. Následující kapitoly 11 Např. atribut popisující výšku pacienta se může v jedné závislosti jmenovat Výška v jiné Výška_Člověka, může používat jiné rozmezí hodnot (například intervaly po dvou centimetrech namísto pěti), nebo dokonce být v jiné měrné jednotce (palce namísto centimetrů) 12 Přesnější popis tohoto kvantifikátoru je uveden v kapitole Procedura ASSOC. 26

31 zabývající se podobností či protichůdností závislostí jsou také vytvořeny pro potřeby fundované implikace. Rozšířením na některé další kvantifikátory se zabývá kapitola Další 4-ft kvantifikátory. Relace odvození Mezi závislostmi objevenými pomocí fundované implikace můžeme nalézt určité vztahy, které jsou zajímavé z hlediska řešení globálních analytických otázek. Mějme dvě objevené závislosti: : A B S : A B C S Díky tomu, že víme o platnosti pravidla α, pro nás není platnost pravidla β překvapující. Množina objektů, splňujících Antecc( β ), je podmnožinou objektů, splňujících Antecc( α ). Tedy platnost pravidla β je důsledkem 13 platnosti pravidla α. V něm přidaná podmínka ( C ) může platnost závislosti α oslabovat, zesilovat nebo na ní nemusí mít žádný vliv. Řekneme, že pravidlo β je odvozeno z pravidla α. Překvapující, či řekněme zajímavé, by pro doménového experta naopak mohlo být pravidlo : A B D impl not(s) které by říkalo, že pro podmnožinu objektů splňujících (A vlastnost D. B) je chování jiné, pokud splňují Popsaná relace odvození je podobná tomu, jak uvažují doménoví experti. Pokud mají nějakou znalost, kterou jsou schopni vyjádřit jako závislost pomocí fundované implikace, pak pravidla z této znalosti odvozená je již nebudou příliš zajímat, neboť pro ně nejsou překvapující. Naopak pravidla podobná pravidlu : v uvedeném příkladu je zajímat pravděpodobně budou, neboť popisují situace, ve kterých jejich znalost neplatí (resp. tuto znalost zpřesňují). Rozvedeme ještě nyní relaci odvození na další typy pravidel: : A B C impl S1 S2 : A B C impl S1 I tentokrát je pravidlo β odvozeno od pravidla α. Víme-li, že objekty, které splňují ( A B C) mají tendenci splňovat také S1 i S2, pak logickým důsledkem je, že tyto objekty mají tendenci splňovat S1. 13 Nejedná se o důsledek logický, ale spíše důsledek v očekávání. 27

32 β je také odvozeno od pravidla α v případě: : A B impl S1 S2 : A B C impl S1 stejně tak v případě: : A : A B impl S1 B impl (S1 v S2) či : A B (C v D) impl S1 : A B C impl (S1 v S2) Uvedené příklady lze shrnout do definice (předpokládáme, že antecedenty i succedenty pravidel jsou v konjunktivní normálové formě): β je odvozeno od α, jestliže pro každou klauzuli K1, K1 Antec, existuje klauzule K2, K2 Antec, tak, že pro každý literál L2, L2 K2 existuje literál L1, L1 K1 tak, že L1 = L2 a zároveň pro každou klauzuli K3, K3 Succ, existuje klauzule K4, K4 Succ, tak, že K4 K3 (Přičemž vztah = L2). K4 K3 znamená, že pro každý literál L1 z K4 existuje literál L2 z K3 tak, že L1 Je nutné si uvědomit, že takto nadefinovaná relace odvození není to samé, jako hledání důsledků pravidel, popsané např. v [14]. V tam uvedeném hledání důsledků se používají vztahy mezi jednotlivými sekcemi čtyřpolních tabulek a matematicky přesně definované vztahy k tomu, aby se určilo zda jedno pravidlo je důsledkem jiného nebo nikoli. U relace odvozování využíváme známých (nalezených) znalostí / závislostí a pomocí pravidel logiky určujeme, zda by jedna z těchto znalostí mohla být vysvětlena pomocí znalosti druhé, resp. zda je jedna znalost pro nás překvapivá, známe li znalost druhou. 4.2 Podobnost závislostí Při řešení globálních analytických otázek našeho typu porovnáváme dva nebo více lokálních 28

33 analytických reportů (resp. závislostí objevených nad různými datovými maticemi), zjišťujeme v čem se lokální reporty (datové matice) liší a snažíme se tyto odlišnosti vysvětlit. Tato kapitola se zaměřuje na problém s určením, zda při řešení globální analytické otázky je možno dvě závislosti považovat za shodné resp. podobné, nebo nikoli. Mějme následující dvě závislosti: : Výška( <= < 150;165)) Pas( >= 85;100)) impl Cholesterol(velký) : Výška( <= 150;165) ) impl Cholesterol(velký) mají být tyto závislosti vyhodnoceny jako podobné? Odpověď na tuto otázku závisí na tom, jaký problém se analytik snaží řešit. Pokud například závislost beta reprezentuje jeho doménovou znalost a analytik bude chtít najít všechny závislosti z této znalosti odvozené, bude závislost tento požadavek splňovat. Při řešení jiného problému bude chtít analytik zjistit, zda závislost je vhodným kandidátem na doménovou znalost (což by platilo, byla-li by tato znalost nalezena nad všemi relevantními datovými maticemi). Bude tedy hledat závislosti podobné závislosti. Ze znalosti platnosti však automaticky nevyplývá, že platí také. V tomto případě tedy pro analytika znalosti dostatečně podobné nebudou. Výraz podobnost závislostí resp. závislosti jsou si podobné je používán ve smyslu závislosti splňují nějaké podmínky na ně kladené, přičemž tyto podmínky specifikují, nakolik si dané závislosti mají odpovídat. V této kapitole je zavedeno několik úrovní podobnosti, pomocí nichž je možné tyto omezující podmínky definovat 14. Příklady využití úrovní podobnosti jsou uvedeny v rámci každé části pojednávající o příslušné třídě, dále pak v kapitole Využití úrovní podobností a protichůdností při řešení GAQ, kde je několik příkladů GAQs s popisem jejich řešení s využitím úrovní podobnosti. Motivace pro definování úrovní podobností je následující: Pokud pro analytika vytvoříme nástroj, pomocí nějž bude schopen vyhledávat nad centrálním úložištěm LARs, můžeme tento nástroj podporovat i vyhledávání podobných pravidel určité úrovně. Analytik by tak mohl zadat chci vyhledat všechna pravidla podobná k tomuto pravidlu na třetí úrovni 15 a software by mu tato pravidla nalezl. Analytik by tedy mohl tvořit dotazy bez potřeby znalosti konkrétního dotazovacího jazyka (jako je např. tolog) a byla také urychlena jeho práce. 14 I dotazy v rámci jedné úrovně podobnosti se dají dále parametrizovat, aby umožnily analytikovi vyhledávat přesně ty závislosti, které potřebuje. 15 Zadal by i nějaké potřebné parametry. 29

34 4.2.1 První úroveň podobnosti 1 Při určování podobnosti pravidel pomocí této úrovně nás nezajímají hodnoty jednotlivých literálů. Uveďme si nejprve definici ve které předpokládáme, že antecedent i succedent všech pravidel je v podobě konjunkce literálů. Stranou také ponecháme možnost parametrizace dotazu, kterou rozebereme dále v kapitole. Řekneme, že 1 pokud X1, X2,Y1,Y2, X1 Antec,Y1 Succ, X2 Antec,Y2 Succ kde X1 je literál nad sémanticky stejným datovým atributem jako X2 a Y1 je literál nad sémanticky stejným datovým atributem jako Y2. Obsahuje-li tedy lokální report LAR 1 závislost mající literál A v antecedentu a literál S v succedentu, je každé pravidlo z LAR 2 obsahující v antecedentu literál nad stejným datovým atributem jako A a v succedentu literál nad stejným datovým atributem jako S, označeno jako pravidlo shodné na první úrovni podobnosti. Při porovnávání závislostí tímto vztahem zůstávají stranou hodnoty (koeficienty) jednotlivých literálů. Nedokonalostí této relace tedy je, že pravidla budou označena jako podobná, i když se budou významem popírat. (Např. jedno z nich bude popisovat vztah mezi velkou výškou člověka a vysokou hladinou cholesterolu a druhé bude popisovat závislost mezi velkou výškou a průměrnou hladinou cholesterolu). Rozšíření pomocí parametrů Úroveň podobnosti tak, jak byla nadefinována, neumožňuje žádné nastavení, které by analytik mohl využít k tomu, aby nalezl přesně ta pravidla, která potřebuje. Je vhodné zavést parametry, pomocí nichž budeme schopni nalezená pravidla dále profiltrovat. Navrhovanými parametry jsou: Minimální počet atributů antecedentu, ve kterých se pravidla shodují. Minimální počet atributů succedentu, ve kterých se pravidla shodují. Počet atributů, ve kterých se antecedenty pravidel liší: Minimum/maximum počtu atributů, které obsahuje pravidlo a které neobsahuje 30

35 pravidlo Minimum/maximum počtu atributů, které obsahuje pravidlo a které neobsahuje pravidlo Počet atributů, ve kterých se succedenty pravidel liší. ( Podbody by byly stejné, jako u počtu atributů, ve kterých se liší antecedenty) Atributy se shodují, pokud jsou vytvořeny nad sémanticky shodnými datovými atributy. Počet atributů, ve kterých se obě pravidla shodují (např. v antecedentu) je rovný mohutnosti množiny atributů z Antec ke kterým existují shodující se atributy v Antec (Tento počet by měl být stejný, i když jej nadefinujeme jako mohutnost množiny literálů z Antec ke kterým existují shodující se literály v Antec ) Podobně počet atributů antecedentu, které obsahuje pravidlo a které neobsahuje pravidlo lze nadefinovat jako mohutnost množiny atributů z Antec, pro které neexistuje v Antec shodný atribut. Pozor, zde neplatí symetrie, takže počet atributů, ve kterých se liší pravidlo od pravidla může být jiný, než počet atributů ve kterých se liší pravidlo od pravidla. Příklady Mějme následující antecedenty závislostí ( velká písmena reprezentují literál, stejná písmena označují literály nad sémanticky shodnými datovými atributy): 1. A B C D 2. A B C E 3. A B G Antecedenty 1. a 2. se shodují ve třech atributech, liší se v jednom atributu. Antecedenty 1. a 3. se shodují ve dvou atributech, antecedent 1. se liší od antecedentu 3. ve dvou atributech, antecedent 3. se liší od antecedentu 1. v jednom atributu. Negace a disjunkce U podobnosti této úrovně nemáme problém s negacemi, neboť základní boolovský atribut i jeho negace jsou stále literálem nad stejným datovým atributem. Problém nastává u pravidel, která obsahují disjunkce. Předpokládejme dále, že závislosti mají antecedent i succedent vyjádřeny v konjunktivní normálové formě - KNF (jedná se o konjunkci 31

36 klauzulí, kde klauzule je literál nebo disjunkce literálů). Zdálo by se, že s klauzulemi můžeme zacházet stejně jako s literály. Otázky, které si však musíme položit jsou: Kdy jsou klauzule shodné? Jak určit počet klauzulí, ve kterých se závislosti shodují/liší? Demonstrujme si problém na několika antecedentech: 1. A 2. (A v B) (A v C) (A v D) 3. (B v C) 4. (A v C V D) První možný přístup minimální shody : Řekneme, že Antec se shoduje s Antec v klauzuli X1 Antec, pokud v Antec existuje klauzule, jejíž některý literál je nad sémanticky shodným datovým atributem jako některý z literálů klauzule X1. Podobně Antec se liší od Antec v klauzuli X, pokud v Antec neexistuje klauzule, jejíž některý literál by byl nad sémanticky shodným datovým atributem jako některý z literálů klauzule X. Dle této definice by antecedent 1. byl shodný s antecedenty 2. a 4. v klauzuli A, antecedent 2. by byl schodný s antecedenty 1. i 4. ve všech třech klauzulích, antecedent 3. by nebyl shodný v žádné klauzuli s 1., ale byl by shodný v jedné klauzuli s 2. i 3. Je vidět, že počet shodných klauzulí v antecedentu nyní může být jiný pro 1, než pro 1. Relace 1 tedy nebude symetrická při použití požadavku na shodu > 1. Pokud jsou však shodné klauzule K1 a K2, jsou shodné i klauzule K2 a K1 shoda mezi klauzulemi je symetrická. Druhý možný přístup maximální shoda Řekneme, že Antec se shoduje s Antec v klauzuli X1 Antec, pokud v Antec existuje klauzule X2, jejíž každý literál je nad sémanticky shodným datovým atributem jako některý z literálů klauzule X1 a zároveň každý z literálů klauzule X2 by byl nad sémanticky shodným datovým atributem jako některý z literálů klauzule X2. Obdobně by se opět nadefinovala neshoda. Dle této definice by se ve výše uvedeném příkladu neshodoval žádný z antecedentů v žádné klauzuli. Shoda mezi klauzulemi je i v tomto případě symetrická. 32

37 Třetí možný přístup jednostranná maximální shoda Řekneme, že Antec se shoduje s Antec v klauzuli X1 Antec, pokud v Antec existuje klauzule X2 pro kterou platí, že každý literál z klauzule X1 je nad sémanticky shodným datovým atributem jako některý z literálů klauzule X2. Obdobně by se opět nadefinovala neshoda. Dle této definice by se například shodoval antecedent 1. s antecedenty 2. a 4. v klauzuli A, antecedent 2 by se neshodoval v žádné klauzuli s antecedentem 1, ale shodoval by se ve 2 klauzulích s antecedentem 4. Shoda mezi klauzulemi není symetrická, takže není symetrický ani vztah nastavení parametrů. 1 pro jakékoli Čtvrtý možný přístup volná kombinace Řekneme, že Antec se shoduje s Antec v klauzuli X1 Antec, pokud pro každý literál z X1 existuje literál v Antec nad sémanticky shodným datovým atributem. Dle této definice by se například shodoval antecedent 1 s antecedenty 2 a 4 v klauzuli A, antecedent 2 by se neshodoval v žádné klauzuli s antecedentem 1, ale shodoval by se ve 2 klauzulích s antecedentem 4. Shoda mezi klauzulemi není symetrická, takže není symetrický ani vztah nastavení parametrů. 1 pro jakékoli Navržení parametrů pro vztah 1 při uvažování disjunkcí Následující parametry by měl mít analytik možnost nastavit pro antecedent i succedent: Způsob řešení shody klauzulí jedna z možností minimální shoda, maximální shoda, jednostranná maximální shoda, volná kombinace. Jako defaultní hodnotu doporučujeme absolutní shodu, při níž odpovídá definice 1 definici ze začátku této kapitoly. Minimální počet klauzulí, ve kterých se pravidlo shoduje s pravidlem. Nebudeme zavádět požadavek na opačnou shodu, takže tento požadavek budeme nadále označovat jako minimální shoda 16. Defaultní hodnotu navrhujeme jako 1, ze stejného důvodu jako výše Minimum/maximum počtu klauzulí, které obsahuje pravidlo a které se neshodují s 16 Kvůli tomuto předpokladu je vztah 1 nesymetrický při požadavku na minimální shodu > 1. 33

38 žádnou z klauzulí pravidla - Neshoda α-β. Defaultně tyto podmínky doporučujeme nepoužívat. Minimum/maximum počtu klauzulí, které obsahuje pravidlo a které se neshodují s žádnou z klauzulí pravidla - Neshoda β-α Defaultně tyto podmínky doporučujeme nepoužívat. U jednostranné maximální shody budeme klauzule X1, X2 X1 Antec, X2 Antec považovat za shodné, pokud pro každý literál z X1 bude v X2 existovat literál vytvořený nad sémanticky shodným datovým atributem. Tento vztah bude analytik většinou využívat při hledání závislostí Z, splňujících 1 Z. U volné kombinace budeme za shodné považovat ty klauzule z Antec, které lze vyjádřit jako kombinace literálů vyskytujících se v Antec. Tento vztah bude analytik většinou využívat při hledání závislostí Z, splňujících Z 1. Pro tento způsob volby shody klauzulí nemá význam parametr Neshoda β-α. Příklady využití Analytik z bankovního sektoru ví, že kvalita poskytnutého úvěru (atribut Kvalita) může být ovlivněna atributy Věk, Příjem, Výška úvěru, Rodinný stav a Majetek. Chce nalézt všechny objevené závislosti, které se této znalosti týkají. Vyjádří si tuto znalost následovně 17 : : Věk Příjem Výška úvěru Rod. stav Majetek => Kvalita Pokud bude chtít najít jen ta pravidla, která jsou vyjádřena jako kombinace atributů v antecedentu (aniž by obsahovaly disjunkce) a v succedentu mají pouze atribut Kvalita, nastaví parametry následovně: Způsob vypořádání se s disjunkcemi naprostá shoda (pro antecedent i succedent) (Defaultní hodnoty nemusí nastavovat) Maximální neshoda β-α: 0 pro antecedent i succedent Minimální shoda v antecedentu: 1; Minimální shoda v succedentu: 1 (Defaultní hodnoty) a bude hledat závislosti splňující O formě, ve které je možné uchovávat znalosti či výchozí pravidla pro vyhledávání je pojednáno v kapitole Navrhovaný přístup. 34

39 Pokud bude chtít najít jen ta pravidla, která jsou vyjádřena jako kombinace atributů v antecedentu (která však mohou být i v disjunkci) a v succedentu mají pouze atribut Kvalita, nastaví parametry následovně: Způsob vypořádání se s disjunkcemi volná kombinace (pro antecedent i succedent) Maximální neshoda α-β: 0 pro antecedent i succedent Minimální shoda v antecedentu: 1; Minimální shoda v succedentu: 1 (Defaultní hodnoty) a bude hledat závislosti splňující 1. Tímto způsobem se objeví např. i tato závislost, která by nebyla objevena při předchozím nastavení: ( Příjem(>= (30000;35000)) v Majetek( >= <1 mil,1.5 mil)) ) Výška úvěru (<= <500000;600000) => Kvalita(dobrá) Shrnutí Od poměrně jednoduché definice podobnosti závislostí jsme se dostali k dosti komplexnímu vyjádření podobnosti, které využívá mnoha parametrů. Bylo by možno přidávat i další parametry, které by umožňovaly analytikovi vyhledávat ještě přesněji. Nesmíme však zapomínat, že základním východiskem pro definování úrovní podobnosti bylo usnadnit analytikovi práci při řešení globálních analytických otázek. Předpokládáme, že většina analytických otázek půjde řešit pomocí uvedených nastavení. Přidáváním dalších by se zvyšovalo riziko, že analytik (doménový expert) nebude rozumět jejich významu a bude pokládat dotazy, které nebudou dávat očekávané výsledky. Také s rostoucím počtem nastavení roste čas nutný k tomu, aby analytik vytvořil dotaz. Přesnějších výsledků může analytik dosáhnout řetězením dotazů (položí dotaz, který mu vrátí nějakou množinu závislostí a nad touto množinou může položit další dotaz viz kapitola Soubory závislostí.) Druhá úroveň podobnosti 2 V kapitole Fundovaná implikace bylo popsáno, co jsou to odvozené závislosti. Hledání odvozených závislostí bude velmi častým problémem, který bude chtít analytik řešit. Pomoci mu s tím má tato úroveň podobnosti ( a ještě více úroveň čtvrtá, viz kapitola Čtvrtá úroveň podobnosti.) Zatím stále nebudeme pracovat s hodnotami literálů, jen s tím, jsou li atributy vytvořeny nad sémanticky shodnými sloupci. 35

40 Řekneme, že 2 pokud pro každou klauzuli K1, K1 Antec existuje klauzule K2, K2 Antec tak, že pro každý literál L1, L1 K1 existuje literál L2, L2 K2, který je vytvořen nad sémanticky shodným datovým atributem a zároveň pro každou klauzuli K3, K3 Succ, existuje klauzule K4, K4 Succ, tak, že pro každý literál L4 z K4 existuje literál L3 z K3, který je vytvořen nad sémanticky shodným datovým atributem. Výraz 2 tedy znamená, že β je odvozeno od α, pokud za rovnost literálů bereme jejich vytvoření nad sémanticky shodným datovým atributem. Příklady Ve všech uvedených příkladech jsou stejnými písmeny označeny atributy nad sémanticky shodnými sloupci. A B (C v D) => S 2 A B C => S A B (C v D) => S1 S2 2 A B (C v D) => S1 B (C v D v E) => S1 S2 2 B C D => (S1 v S3) (S2 v S3) Parametry na rozdíl od první úrovně podobnosti se nezdá, že by existovaly parametry, které by analytikovi nějak výrazně ulehčily práci. Analytik by mohl chtít zvolit, že se mají hledat odvozené závislosti jen pomocí změn v antecedentu, succedentu nebo v obojím. Pokud by analytik zvolil hledání odvozených pravidel jen změnami v antecedentu, nalezl by např.: A (B v C) => S 2 A B A (B v C) => S 2 A B ale již ne A (B v C) => S 2 A B C => S D E => S C => S v S2 Příklad využití Má-li analytik k dispozici znalost, že kombinace několika faktorů ovlivňuje jiný faktor (např. že způsob stravování a množství pohybu ovlivňuje průměrnou délku života člověka) a přitom neví 36

41 jakým způsobem, může chtít zjistit, jaké nalezené závislosti jsou důsledkem tohoto vztahu. Vyjádřil by tedy tuto znalost jako (Stravování Pohyb => Délka života) a hledal všechny závislosti splňující 2. (S využitím závislostí vyšších úrovní by se potom nalezené závislosti daly roztřídit dle různosti jejich významu.) Souhlasnost, kategoriální ekvivalence V dříve popsaných úrovních podobnosti jsme se nezabývali hodnotami jednotlivých literálů, zajímalo nás pouze, zda jsou literály vytvořeny nad sémanticky shodným datovým atributem. Důsledkem tohoto zjednodušení je, že např. závislosti: impl Výška(<= <165;170)) Pas( 85;100)) 0.7;50 Cholesterol( 5;6)) Výška(<195;200)) impl Pas( 85;100)) 0.7;50 Cholesterol( 3;4)) budou označeny jako podobné, i když každá z nich popisuje něco jiného. Dalším logickým krokem při zjišťování podobností mezi pravidly je tedy pracovat s hodnotami literálů. Tato kapitola se budem zabývat typy atributů a možnostmi porovnávání jejich hodnot. Zavedeme pojem souhlasnost, který vyjadřuje, že dva literály považujeme za stejné z hlediska jejich významu a pojem kategoriální ekvivalence, který vyjadřuje, že dvě kategorie můžeme považovat za stejné. V kapitole Atributy a kategorie bylo uvedeno, že datové atributy mohou být numerické, nominální, binární nebo ordinální. Také zde byl popsán způsob, jakým se tyto datové atributy převádí na atributy, nad kterými je prováděn data mining. Dále v textu budeme používat označení nominální atributy pro atributy, které vznikly nad nominálním datovým atributem, numerické atributy pro atributy, které vznikly nad numerickými daty apod. Je však nutno podotknout, že ASSOC procedura se všemi atributy pracuje jako s kategoriálními, u kterých se rozeznává uspořádání, pokud existuje. Souhlasnost atributů nad nominálními (binárními) daty Jsou-li porovnávány závislosti, vyjadřující vztah mezi nominálním či binárním atributem, existují v podstatě dvě možnosti. První z nich je ignorovat hodnotu, kterou příslušný literál reprezentuje. Tak jsme to dělali při definici první a druhé úrovně podobnosti. Zajímali jsme se, zda jsou v objevených závislostech literály nad sémanticky stejným datovým atributem (např. nad barvou), ale hodnota těchto literálů ( konkrétní barva, které se závislost týká) nás již nezajímala. Druhou možností je požadovat shodu literálů i v jejich hodnotě. Tedy pokud je v jedné z objevených 37

42 závislostí literál barva(červená), v závislosti shodné musí být opět literál barva (červená). V této kapitole se nebudeme zabývat tím, že atributy vyjadřující to samé se mohou jmenovat v různých reportech jinak (např. v jednom reportu může být atribut barva, v druhém to samé říkající atribut color). Také budeme předpokládat, že nominální atributy využívají stejné kategorie. Oba tyto problémy rozebereme později v kapitole Metaatributy. U nominálních atributů se může stát, že hodnotou literálu je více než jedna kategorie. Uveďme si dva příklady takových literálů: a) Barva( červená, modrá, zelená) b) Barva( modrá, bílá, hnědá, fialová, zelená, oranžová) Jak v takovémto případě rozhodnout, můžeme-li tyto literály považovat za souhlasné? Máme tyto možnosti: Vyžadovat absolutní shodu hodnot, tedy každá kategorie v jednom ze základních boolovských atributů se musí vyskytovat i v druhém. Vyžadovat, aby byly oba literály shodné alespoň v N kategoriích (tyto literály by byly považovány za souhlasné pro N<=2). Vyžadovat, aby se literály lišily maximálně v M kategoriích (tyto literály by byly souhlasné pro M >= 4). Kombinace předchozích dvou možností tedy požadavek na shodu alespoň v N kategoriích a rozdílnost v maximálně M kategoriích. Vyžadovat, aby množina kategorií, které jsou hodnotou jednoho literálu, byla podmnožinou kategorií, které jsou hodnotou literálu druhého. Požadavek na počet kategorií, které musí mít oba literály společné (resp. ve kterých se mohou lišit), abychom je považovali za souhlasné by mohl chtít analytik zadat jako procento. Řekněme, že by vyžadoval shodu v 50% kategorií. Literál a) obsahuje 3 atributy. Vyžadujeme tedy shodu ve dvou kategoriích 18. Literály a) a b) se ve dvou kategoriích shodují, bylo by je tedy možné označit jako souhlasné. Pokud by však těchto 50% bylo počítáno z kategorií literálu b), požadovali bychom shodu ve třech kategoriích. Literály a) a b) se shodují pouze ve dvou kategoriích tedy v tomto případě bychom je za souhlasné považovat nemohli. Při vyjádření souhlasnosti jako procenta kategorií, ve 18 Zdá se vhodnější zaokrouhlovat na celá čísla nahoru, v tomto případě jde však i o klasické zaokrouhlení. 38

43 kterých se musí literály shodovat tedy vztah souhlasnosti není symetrický. Pro potřeby této práce omezíme možnosti, kterými bude moci analytik zadefinovat souhlasnost literálů na: Absolutní shodu tedy dva základní boolovské atributy 19 budou označeny za souhlasné, pokud pro každou kategorii z hodnot prvního atributu existuje ekvivalentní 20 kategorie z hodnot druhého atributu a naopak pro každou kategorii z hodnot druhého atributu existuje ekvivalentní kategorie v hodnotách prvního atributu. Průnik - dva základní boolovské atributy budou označeny za souhlasné, pokud pro alespoň jednu kategorii z hodnot prvního atributu existuje ekvivalentní kategorie z hodnot druhého atributu. Podmnožinu- dva základní boolovské atributy budou označeny za souhlasné, pokud pro každou kategorii z hodnot prvního atributu existuje ekvivalentní kategorie z hodnot druhého atributu, nebo pokud pro každou kategorii z hodnot druhého atributu existuje ekvivalentní kategorie z hodnot prvního atributu. Jednostrannou podmnožinu - dva základní boolovské atributy budou označeny za souhlasné, pokud pro každou kategorii z hodnot prvního atributu existuje ekvivalentní kategorie z hodnot druhého atributu. Tento vztah jako jediný není symetrický a bude tedy nutno stanovit, které literály mají být podmnožinou a které nadmnožinou. Pro binární atributy má význam pouze definice souhlasnosti jako absolutní shoda. Souhlasnost numerických atributů Numerické atributy jsou atributy s kategoriemi vzniklými nad nějakými racionálními hodnotami. Tyto kategorie mají podobu intervalů nad původním datovým atributem. Jak již bylo zmíněno, volba těchto intervalů je jednou z kreativních prací data minera, který vytváří lokální analytický report, obzvláště, pokud neexistuje standardní kategorizace, jako u hodnot BMI. V takovém případě lze očekávat, že rozsah těchto intervalů, stejně jako jejich počet, se bude v jednotlivých LARs lišit. Máme-li například datový atribut popisující výšku pacienta, je možné, že v jednom z lokálních analytických reportů bude atribut výška rozdělen na intervaly po deseti centimetrech, např. 19 O porovnávání negací bude pojednáno později. 20 Standardně jsou kategorie ekvivalentní, pokud to jsou stejné hodnoty nad stejným datovým sloupcem. Problémem stejných kategorií, které jsou vytvořeny nad různými datovými atributy se zabývá kapitola Metaatributy. 39

44 výška(<150;160) ), výška(<160;170) ), zatímco v jiném bude rozdělen na intervaly po pěti centimetrech, navíc s jinou počáteční hodnotou, tedy kupříkladu výška(<152;157)), výška(<157;162)) atd 21. Problémem může být také to, že hodnoty numerických datových atributů mohou být vyjádřeny v jiné měrné jednotce (např. v centimetrech a palcích). Tímto problémem se budeme zabývat v kapitole Metaatributy. Pro potřeby této kapitoly budeme předpokládat, že datové atributy používají stejnou měrnou jednotku. Uvažujme nejprve literály, jejichž hodnotou je pouze jedna kategorie. Musíme se rozhodnout, kdy dané kategorie budeme považovat za ekvivalentní. Máme tři základní možnosti: Shoda krajních bodů kategorie budeme považovat za ekvivalentní, pokud jejich vyjádření pomocí intervalů bude identické. (Tedy nějaký objekt spadá do jedné kategorie právě tehdy, když spadá i do kategorie druhé). Průnik intervalů další z možností je považovat dvě kategorie za ekvivalentní, pokud mají společný průnik. Pokud by tedy jeden literál obsahoval kategorii (<160;170)) a druhý <158;164), dají se tyto kategorie považovat za ekvivalentní a literály za souhlasné 22. Podintervaly další možností je požadovat, aby průnikem dvou intervalů, mají-li být označeny za souhlasné, byl jeden z těchto intervalů. Jinak řečeno, aby jeden z intervalů obsahoval interval druhý. K tomuto vztahu můžeme zavést i jeho nesymetrickou variantu jednostranný podinterval. Při použití průniku intervalů se může stát, že průnikem bude velmi úzký interval, nebo dokonce jen jedna hodnota např. při porovnávání literálů výška(<160;170)) a výška(<151;161)). Pro odstranění tohoto chování je možné zavést požadavek na minimální překryv. Takové omezení by mohlo znít např. takto: Dva literály považuj za souhlasné, pokud mají nenulový průnik a tento průnik má délku alespoň poloviny délky kratšího z intervalů. Uvažovat by se dalo i o procentu z délky součtu obou intervalů apod. Z opačného konce by bylo možné chtít za souhlasné prohlásit i intervaly, které nemají sice společný průnik, ale které leží blízko sebe, obzvláště, pokud jsou krátké. Příkladem může být výška(<164;165)) a výška(<165;166)). 21 Navíc nelze vyloučit ani to, že datové atributy budou vyjádřeny v jiné měrné jednotce. Tímto problémem se zabývá kapitola Metaatributy, zde předpokládejme že kategorie jsou vytvořeny jako intervaly využívající stejnou měrnou jednotku. 22 Ještě jednou připomeňme, že kategorie musí být vytvořeny nad sémanticky shodnými datovými atributy a navíc musí být vytvořeny pomocí stejné měrné jednotky. Nemůžeme tedy mluvit o ekvivalentních kategoriích ani souhlasných literálech, pokud jeden z nich popisuje výšku člověka a druhý věk. 40

45 Těmito rozšířeními se dále v práci nebudeme zabývat, neboť analýza řešení globálních analytických otázek je teprve na počátku a případné rozšíření tímto směrem by mělo vyplynout z potřeb analytiků. V závislostech objevených v rámci nějaké lokální analytické zprávy se často nebudou vyskytovat literály obsahující pouze jednu kategorii. Pokud literál obsahuje více než jednu kategorii, je potřeba odlišit dva případy: 1. Hodnota literálu je intervalem. V tomto případě sjednocením kategorií (intervalů), které jsou hodnotou literálu vznikne opět interval. Takovéto literály se do závislostí dostanou použitím funkcí jako je rcut nebo interval. Příkladem může být literál Výška(<166;168),<168;170),<170;172)), nebo Výška( <= <166;168)). 2. Sjednocením kategorií, které jsou hodnotou literálu, není jeden interval. Takovéto literály se do závislostí dostanou použitím funkce subset 23 případně negací. Příkladem může být literál Výška(<166;168),<170;172)). Zavedeme pojem superkategorie. Superkategorie vznikne sjednocením všech kategorií (z hodnot literálu), které dohromady tvoří interval. Např literál Výška(<166;168),<168;170),<173;175)), jehož hodnotou jsou tři kategorie by se změnil na literál Výška(<166;170),<173;175)), jehož hodnotou by byly dvě superkategorie. Jak nyní určit, zda jsou souhlasné následující literály (obsahují superkategorie)? Výška(<= <163;167)) Výška(<150;167),<170;172)) Je možno využít stejných požadavků, jaké byly popsány u nominálních atributů s tím, že bude potřeba také stanovit, kdy kategorie (resp superkategorie) považujeme za ekvivalentní. Analytik bude tedy při provádění analýzy muset nastavit ekvivalenci v kategoriích (superkategoriích) jako: Shoda krajních bodů Průnik intervalů Podintervaly symetrická nebo nesymetrická varianta. Souhlasnost mezi literály jako: Absolutní shodu Průnik Podmnožina symetrická nebo nesymetrická varianta. 23 Nebo např negací literálu, obsahujícího jednu kategorii. 41

46 Literály Výška(<= <163;167)) Výška(<150;167),<170;172)) Bychom mohli považovat za souhlasné při zadefinování ekvivalence kategorií jako průniku intervalů nebo podintervalů a souhlasnosti jako průniku nebo podmnožiny. Ordinální atributy U ordinálních atributů, stejně jako u atributů numerických, mohou být kategorie atributu vytvořeny jako intervaly hodnot. Často však budou kategorie vytvořeny tak, že jedné možné hodnotě datového atributu bude odpovídat jedna kategorie. Stejně jako u atributů numerických můžeme zavést pro ordinální atributy superkategorie a pro ekvivalenci superkategorií použít opět: Shodu krajních bodů Průnik intervalů Podintervaly symetrická nebo nesymetrická varianta. Pro určení souhlasnosti je možno použít (stejně jako pro ostatní typy atributů): Absolutní shodu Průnik Podmnožinu symetrickou nebo nesymetrická variantu. U ordinálních atributů však můžeme mnohem častěji očekávat, že v různých datových maticích budou sémanticky shodné ordinální datové atributy vyjádřeny pomocí různých stupnic. Je tedy možné, že při porovnávání ordinálních atributů někdy nebudeme moci použít kategoriální ekvivalenci zavedenou v této kapitole, ale budeme nuceni použít některý z přístupů uvedených v části Metaatributy a s ordinálními atributy zacházet stejně, jako s atributy nominálními Negace a souhlasnost Zatím jsme se zabývali případy, kdy literály jsou ve formě základních boolovských atributů (např. Výška(<= <163;167)) a Výška(<150;167),<170;172)) ). Co ale v případě, že jeden nebo oba literály budou vyjádřeny jako negace? (Např. budeme chtít porovnat literály not(výška(<= <163;167))) a Výška( >=,<170;172)) ). Hodnotou atributu může být jedna nebo více kategorií, přičemž množina všech kategorií, je konečná. 42

47 Negaci základního boolovského atributu tak můžeme vyjádřit jako základní booleovský atribut, jehož hodnotou jsou všechny kategorie, které neobsahuje původní boolovský atribut. Vytvoříme si teď příklad, s jehož pomocí budeme demonstrovat chování jednotlivých definic souhlasnosti pro nominální atributy. Označme si ω kategorie, které jsou hodnotou literálu L, Ш všechny kategorie, kterých může nabývat atribut nad nímž je L vytvořen a 'ω jako Ш / ω. Pak by mělo platit následující: L( ω ) = not (L( 'ω ) ) L( ω ) = L2( э) <=> L( 'ω ) = L2('э) L( ω ) = L2( э ) => L( ω ) L2('э) L( ω ) = L2( э ) => L( 'ω ) L2(э) Jak si ukážeme v dalším textu, tyto závislosti neplatí pro všechny definice souhlasnosti a kategoriální ekvivalence. Problém si demonstrujeme na příkladu. Budeme pracovat s nominálním atributem Barva, který má kategorie Mod (modrá), Zel (zelená), Or (Oranžová), Bíl (bílá), Fial (Fialová), Ost (ostatní). Nad tímto atributem jsou vytvořeny následující literály: Označení Vyjádření literálu Negace literálu Lit1 Barva(Or,Bíl) Barva(Mod,Zel,Fial,Ost) Lit2 Barva(Mod,Zel,Or) Barva(Bíl,Fial,Ost) Lit3 Barva(Mod,Zel) Barva(Or,Bíl,Fial,Ost) Lit4 Barva(Mod,Zel,Fial,Ost) Barva(Or,Bíl) tab. 2: Příklad Souhlasnost jako průnik V uvedeném příkladě jsou souhlasné třeba literály Lit1 a Lit2 (mají společnou kategorii Or). Souhlasné jsou také jejich negace (Mají společné kategorie Fial a Ost). Lit1 je ale také souhlasný s negací Lit2 a negace Lit2 je souhlasná s Lit1 i s negací Lit1. Mezi literály Lit2 a Lit3 je souhlasnost v jejich základních formách i v jejich negacích, nicméně Lit3 není souhlasný s negací Lit2, ale Lit2 je souhlasný s negací Lit3. Je to díky tomu, že hodnota Lit3 je podmnožinou hodnoty Lit2. Jde vyvodit: neplatí L( ω ) = L2( э ) <=> L( 'ω ) = L2('э) (viz. Lit1 a Lit3) 43

48 neplatí L( ω ) = L2( э ) => L( ω ) L2('э) (viz. Lit12 a Lit3) neplatí L( ω ) = L2( э ) => L( 'ω ) L2(э) Důsledkem tohoto chování je, že k závislosti A B => C může být podobná závislost A B2 => C i závislost A not(b2) => C, kde B a B2 jsou souhlasné literály (souhlasnost = průnik). Dalším důsledkem je, že literály B1( ω ) a B2( э ) mohou být souhlasné, ale not(b1('ω)) a not(b2( 'э )) už souhlasné nebudou. Souhlasnost jako podmnožina Jsou-li hodnoty literálu L1 podmnožinou hodnot literálu L2, pak hodnoty negace literálu L2 jsou podmnožinou hodnot literálu negace L1. To demonstrují literály Lit2 a Lit3 z tabulky tab. 2. Platí tedy: L( ω ) = L2( э ) <=> L( 'ω ) = L2('э) Vzhledem k tomu, že u hodnot literálů nepředpokládáme výskyt všech možných kategorií atributu, platí i následovné: L( ω ) = L2( э ) => L( ω ) L2('э) L( ω ) = L2( э ) => L( 'ω ) L2(э) Toto chování odpovídá vlastnostem literálů ve výrokové logice a s takto definovanou souhlasností nebudou problémy. Souhlasnost jako jednostranná podmnožina Pokud bude chtít analytik využít jednostrannou definici souhlasnosti pomocí podmnožiny např. (L1 je shodný s L2, pokud množina kategorií z L1 je podmnožinou množiny kategorií z L2), pak platí: L( ω ) = L2( э ) => L( 'ω ) L2('э), pokud ω э Současně tedy nemůže platit L( ω ) = L2( э ) <=> L( 'ω ) = L2('э) Platí ale vztah L( ω ) = L2( э ) <=> L2('э) = L( 'ω ) Zachována zůstává platnost L( ω ) = L2( э ) => L( ω ) L2('э) L( ω ) = L2( э ) => L( 'ω ) L2(э) 44

49 Důsledek : Hledá-li analytik souhlasný literál k L( ω ) a za souhlasný považuje literál L( э ), kde э je podmnožinou ω, pak k literálu not(l( ω )) bude za souhlasný považovat literál L( э ), kde э je nadmnožinou ω. Souhlasnost jako absolutní shoda Pokud nadefinujeme souhlasnost jako absolutní shodu, pak platí všechny požadované vztahy. L( ω ) = L2( э) <=> L( 'ω ) = L2('э) L( ω ) = L2( э ) => L( ω ) L2('э) L( ω ) = L2( э ) => L( 'ω ) L2(э) Souhlasnost u numerických atributů U numerických atributů může být důležité také to, jak je definovaná ekvivalence mezi kategoriemi. Pokud je ekvivalence nadefinována jako shoda krajních bodů, platí to samé, co pro nominální atributy. Pokud je však ekvivalence nadefinovaná jako průnik intervalů nebo podintervaly, mohou se vlastnosti souhlasnosti změnit. Označení Vyjádření literálu Negace literálu Lit1 Výška(<150, 190)) Výška( <= <145,150); >=<190,195)) Lit2 Výška(<150,160); <165,170); <175,190)) Výška( <= <145,150);<160,165);<170,175); >= <190;195) ) Lit3 Výška( <= <140,145) ) Výška( >= <145,150) ) tab. 3: Příklad V tabulce tab. 3 jsou uvedeny příklady tří literálů. Pokud jako ekvivalenci zvolíme průnik intervalů nebo podintervaly, pak všechny kategorie z Lit2 jsou ekvivalentní s kategorií <150,190) z Lit1. Ať potom zvolíme jakoukoli definici souhlasnosti (podmnožina, absolutní shoda průnik), tak literály Lit1 a Lit2 budou souhlasné. Negace těchto literálů nejsou souhlasné pro absolutní shodu (nezáleží na definici ekvivalence). Pro souhlasnost, coby podmnožinu, shodné jsou. Ovšem pro ni jsou souhlasné i literály Lit1 a not(lit2). Následující tabulka popisuje jednotlivé kombinace definice souhlasnosti a ekvivalence ve vztahu k tomu, zda platí L( ω ) = L2( э) <=> L( 'ω ) = L2('э). 45

50 Ekvivalence Souhlasnost L(ω) = L2(э) <=> L('ω) = L2('э) Shoda krajních bodů Absolutní shoda, Podmnožina Platí (viz. popis u nominál. atributů) Shoda krajních bodů Průnik Neplatí (viz. popis u nominál. atributů) Podintervaly Absolutní shoda Neplatí (viz Lit1, Lit2) Podintervaly Podmnožina Neplatí (viz. Lit1, Lit3) Platí po určité modifikaci, viz dále v textu Podintervaly Průnik Neplatí (viz Lit1, Lit3) Průnik intervalů Cokoli Neplatí (Podinterval je specifickým případem průniku intervalů) tab. 4: Platnost L(ω) = L2( э) <=> L('ω) =L2('э) Podmnožina a podinterval Pokud nadefinujeme pro literály L1(ω), L2( э) kategoriální ekvivalenci jako K1 ω K2 э pak K1 je ekvivalentní s K2, pokud K1 je podintervalem K2 (jednostranná ekvivalence) a Souhlasnost jako L1(ω) je souhlasné s L2( э), pokud ω э L(ω) = L2(э) <=> L2('э) = L('ω) (jednostranná podmnožina), pak platí: Pro toto tvrzení uvedeme i neformalizovaný důkaz. Nadefinujme si množiny X1, X2, X3 takto: X1 = { x, x L ω, x L2 э } X2 = { x, x L ω, x L2 э } X3 = { x, x L ω, x L2 э } L je nadmnožina L1, pro kategorie z э jsou podintervaly kategorií z ω, tedy L(ω) = L2(э). Platí, že pokud x L y potom x L ' y, tedy X1 = { x, x L ' ω, x L2 ' э } X2 = { x, x L ' ω, x L2 ' э } X3 = { x, x L ' ω, x L2 ' э } a tedy L2('э) = L('ω). Důsledky Zásadním problémem je neplatnost vztahu L(ω) = L2(э) <=> L('ω) = L2('э) 46

51 Při určování, zda jsou dva literály shodné, je nezbytné oba převést na stejné vyjádření oba musí mít podobu základního boolovského atributu, nebo jeho negace. Z neplatnosti tohoto vztahu vyplývá, že forma, na kterou literály převedeme může mít vliv na to, zda budou označeny jako souhlasné. Pokud platí alespoň vztah L(ω) = L2(э) <=> L2('э) = L('ω) jsme schopni definici souhlasnosti a případně kategoriální ekvivalence upravit tak, aby souhlasnost fungovala dle očekávání. Toho využijeme v kapitole Čtvrtá úroveň podobnosti při hledání odvozených závislostí. (Princip spočívá v tom, že u literálů odvozeného pravidla předpokládáme menší rozsah hodnot. To lze vyjádřit jako podmnožinu, resp. podinterval. Pokud budeme literály porovnávat ve formě negace, užší rozsah hodnot naopak představuje nadmnožinu nebo nadinterval). Pokud analytik použije definici souhlasnosti, pro kterou neplatí jedno z výše uvedených pravidel, je několik možností, jak řešit porovnávání literálů: 1. Zjistit, zda jsou souhlasné literály ve formě základních booleovských atributů i negací. Pokud ano, považovat je za souhlasné, pokud ne, nepovažovat je za souhlasné. 2. Převádět vždy literály do podoby základních boolovských atributů a porovnávat je v této formě. 3. Použít bazickou závislost. Při hledání podobných pravidel k nějaké závislosti by se tato považovala za bazickou a literály v porovnávaných závislostech by se při porovnávání transformovaly do formy, ve které jsou v bazické závislosti. Zda je některá z těchto možností ideální pro určité typy definic souhlasností a ekvivalencí, nebo zda by se dala nalézt ještě lepší řešení, by mohlo být předmětem dalšího výzkumu. V této práci budeme dále pracovat s variantou 2, která se zdá jako vhodná pro definici ekvivalence coby podintervalu či průniku intervalů. Dvojice literálů jako Výška(<150;170)), Výška(<155;175)) totiž určí správně jako souhlasné (při průniku). Dvojice jako Výška(<150;170)), not(výška(>=<140,145)) = Výška( <= <135;140)) zas určí správně jako nesouhlasné. Na základě výše uvedeného bychom doporučili analytikům nepoužívat definici souhlasnosti jako průniku, resp. jim tuto možnost vůbec nedávat. U nominálních atributů lze doporučit definici 47

52 souhlasnosti jako podmnožiny nebo absolutní shody. U numerických atributů je vhodné kategoriální ekvivalence souhlasnosti v krajních bodech, případně jednostranného podintervalu v kombinaci s jednostrannou podmnožinou (pro odvozování). Ekvivalence jako průnik intervalů však může být v některých případech potřebná Další úrovně podobnosti První dvě úrovně podobnosti se zabývaly podobností coby výskytem literálů nad stejným datovým atributem v závislostech. Jaké hodnoty atributu literál reprezentuje bylo přitom ponecháno stranou. Kvůli tomu se mohlo stát, že za podobné byly označeny závislosti, které mají naopak spíše antagonistický význam, například: Výška( <= < 165;170)) Alkohol(hodně) 0.62;20 Tlak(Vysoký) Výška(<168;175)) 0.58 ;15 Tlak(Nízký) Cílem následujících úrovní podobnosti je nalézt ta pravidla, která jsou si podobná i v hodnotách literálů. Podobnost v hodnotách literálů označujeme jako souhlasnost literálů a různé způsoby jejího zavedení byly popsány v kapitolách Souhlasnost, kategoriální ekvivalence a Negace a souhlasnost Třetí úroveň podobnosti Třetí úroveň podobnosti je obdobou úrovně první, ovšem bere v potaz hodnoty literálů. Místo požadavku na to, aby byly dva literály vytvořeny nad sémanticky shodným datovým atributem nyní budeme požadovat, aby byly souhlasné. K přizpůsobení podobnosti můžeme použít ty samé parametry, jaké jsme navrhli u podobnosti první úrovně. Jsou to pro antecedent i succedent: Způsob řešení shody klauzulí jedna z možností minimální shoda, maximální shoda, jednostranná maximální shoda a volná kombinace. Minimální počet klauzulí, ve kterých se pravidlo shoduje s pravidlem. Tedy minimální shoda Minimum/maximum počtu klauzulí, které obsahuje pravidlo a které se neshodují s žádnou z klauzulí pravidla - Neshoda α-β. Minimum/maximum počtu klauzulí, které obsahuje pravidlo a které se neshodují s 48

53 žádnou z klauzulí pravidla - Neshoda β-α Definice způsobů řešení shody klauzulí se mění také jen v tom, že místo požadavku, aby byly dva literály vytvořeny nad sémanticky shodným datovým atributem požadujeme, aby byly souhlasné. Souhlasnost Dalším parametrem, který analytik bude muset zadat při hledání podobných pravidel s využitím této úrovně podobnosti bude, jaká definice souhlasnosti se má při hledání použít (absolutní shoda, podmnožina, případně průnik). Pokud závislost, ke které vyhledáváme podobné závislosti, bude obsahovat numerické nebo ordinální atributy, bude potřeba také zadat ekvivalenci kategorií (shoda v krajních bodech, podinterval, průnik intervalů). Analytik by měl mít možnost zadávat definici souhlasnosti (ekvivalence) pro celou klauzuli, succedent a antecedent zvlášť nebo dokonce zvlášť pro každý literál. Příklad využití Tuto úroveň podobnosti můžeme využít například pro hledání komplementárních atributů v závislostech. Máme li pravidlo 24 Hmotnost(< 60,80)) Pas( 65;85)) Kmoc( 200;300)) pak použitím hledání pravidel podobných na třetí úrovni, při zadání požadavku na minimální shodu v antecedentu i succedentu 1 (default), maximální neshodu v antecedentu 1 (Neshoda β-α i α-β), maximální neshodu v succedentu 0, způsob řešení shody klauzulí: maximální shoda dostaneme pravidlo 25 Hmotnost(< 60,80)) Whr( 0.75;0.9)) Kmoc( 200;300)) nebo také BMI(< 20,25)) Pas( 70;85)) Kmoc( 200;300)) což může ukazovat na určitý vztah mezi dvojicemi atributů (pas,bmi) a (hmotnost, Whr). Další možný případ použití je tento: Máme nějakou závislost a chceme zjistit, zda neexistuje jiná závislost, která se liší v hodnotách 24 Pravidla převzata z [4] str Navíc by bylo nutné zadat, že souhlasnost literálů je definována jako absolutní shoda, ekvivalence kategorií v antecedentu jako průnik, v succedentu jako shoda v krajních bodech. 49

54 jednoho z literálů, přičemž ostatní literály zůstanou zachovány. Například máme závislost 26 : Výška(<= < 160,175)) Pas( 85;95)) Kmoc( 200;300)) Pomocí podobnosti první úrovně s parametry minimální shoda = 2 (antecedent) = 1 (succedent), maximální neshoda(antecedent i succedent) = 0, najdeme všechna pravidla, která mají v antecedentu atributy Výška a Pas a v Succedentu atribut Kmoc. Nad tímto souborem pravidel použijeme shodu třetí úrovně s naším pravidlem, s parametry min. shoda = 1 (antecedent i succedent), s tím že nastavíme souhlasnost jako absolutní shodu (kategoriální ekvivalenci jako shodu v krajních bodech). Dostaneme například pravidlo 27 : Výška(<= < 160,175)) Pas( 95;105)) Kmoc( 200;300)) které společně s výchozím pravidlem Výška(<= < 160,175)) Pas( 85;95)) Kmoc( 200;300)) implikuje platnost obecnější závislosti Výška(<= < 160,175)) Pas( 85;105)) Kmoc( 200;300)) Čtvrtá úroveň podobnosti Data miner tvořící lokální analytické reporty často stojí před volbou, zda do zprávy zahrne pravidlo, které má v antecedentu menší množství literálů, nebo pravidlo se stejným succedentem, ale větším množstvím literálů, nižší hodnotou Supportu a větší hodnotou kvantifikátoru 28. Tato úroveň podobnosti nám pomůže nalézt takováto pravidla (resp. jakákoli odvozená pravidla viz. Kapitola 4.1- Fundovaná implikace). Je to obdoba úrovně druhé, která však bere v potaz hodnoty literálů. Řekneme, že 4 (beta je odvozeno od alfa) pokud pro každou klauzuli K1, K1 Antec existuje klauzule K2, K2 Antec tak, že pro každý literál L2, L2 K2 existuje literál L1, L1 K1, tak že L1 a L2 jsou souhlasné a zároveň pro každou klauzuli K3, K3 Succ, existuje klauzule K4, K4 Succ, tak, že pro každý literál L4 z K4 existuje literál L3 z K3, takž že L3 a L4 jsou souhlasné. Souhlasnost Nyní se podíváme, jaké definice souhlasnosti a případně ekvivalence mezi (super)kategoriemi jsou 26 Pravidla převzata z [4] str Kdyby v datech existovalo pravidlo s literálem např. Pas(<110,115)), dostali bychom i toto. 28 Může se také rozhodnout vložit obě pravidla. 50

55 vhodné pro tuto úroveň podobnosti. První možností je použít pro definici souhlasnosti absolutní shodu a pro ekvivalenci shodu v krajních bodech. Při takovémto nastavení však nebude platit: 4 impl : Výška(<= < 160,175)) Pas( 80,100)) X ;Y impl : Výška(<= < 150,160)) Pas( 80,100)) X ;Y Kmoc( 200, 300) ) Kmoc( <150,200) ; 200,300) ) Přitom pravidlo β není pro analytika překvapující při znalosti α. (Množina objektů splňujících antec(β) je podmnožinou objektů, splňujících antec(α), a objekty, které splňují succ(α) určitě splňují i succ(β). Jako ekvivalence se tedy krom shody v krajních bodech nabízí použít také jednostranný podinterval, přičemž budeme požadovat, aby kategorie literálů z antec(β) byly podintervaly kategorií z antec(α) a naopak aby kategorie literálů z succ(α) byly podintervaly kategorií z succ(β). Souhlasnost můžeme krom absolutní shody nadefinovat jako jednostrannou podmnožinu, přičemž budeme vyžadovat, aby hodnoty literálů z antec(β) byly podmnožinou hodnot literálů z antec(α) a naopak aby hodnoty literálů z succ(α) byly podmnožinou hodnot literálů z succ(β). V kapitole Negace a souhlasnost bylo uvedeno, že pro jednostrannou podmnožinu a jednostranný podinterval neplatí vztah L(ω) = L2(э) <=> L2('э) = L('ω) zato platí vztah L( ω ) = L2( э) <=> L( 'ω ) = L2('э) Náš požadavek aby kategorie literálů z antec(β) byly podintervaly kategorií z antec(α) a naopak aby kategorie literálů z succ(α) byly podintervaly kategorií z succ(β) platí pro literály, které porovnáváme ve formě základních boolovských atributů. Pokud bychom porovnávali literály ve formě negací, platí požadavek opačný, tedy aby kategorie literálu z antec(α) byly podintervaly kategorií z antec(β) a naopak aby kategorie literálů z succ(β) byly podintervaly kategorií z succ(α). Ta samá změna platí i pro jednostrannou podmnožinu. Ve specifických případech bude analytik potřebovat použít definici kategoriální ekvivalence jako 51

56 průnik intervalů. Např pokud nad jednou datovou maticí bude vytvořen atribut Výška, jehož kategoriemi budou intervaly délky 7 cm, s počáteční hodnotou 151 cm (tedy budou vytvořeny kategorie Výška(<151,158)), Výška(<158,165)) atd.), nad druhou maticí bude také vytvořen atribut Výška, ale tentokráte s kategoriemi délky 5cm a počáteční hodnotou 150 cm. V takovém případě by totiž mnoho závislostí, říkajících z pohledu analytika to samé, nebylo při kategoriální ekvivalenci podinterval nalezeno. Při použití průniku intervalů se ovšem ve specifických případech může stát, že budou jako odvozená označena i ta pravidla, která by analytik za odvozená nepovažoval, viz kapitola Negace a souhlasnost. Parametry Hledání odvozených podobností pomocí této úrovně se dá parametrizovat již popsanou volbou definice souhlasnosti a kategoriální ekvivalence. Dalším parametrem, který může analytik použít, je určení, zda se mají hledat odvozená pravidla pomocí změn v antecedentu, succedentu nebo obojím. V případě, že analytik bude chtít hledat odvozené závislosti jen změnami v antecedentu, neznamená to nutně, že u všech nalezených závislostí bude succedent stejný. Je tím myšleno, že v succedentu se budou vyskytovat pouze souhlasné literály se succedentem původním. Tedy byl-li původní succedent např. Barva(Oranžová) Výška( <150;170),najdou se i závislosti s succedentem Barva(Oranžová) Výška( <155;160), pokud byla kategoriální ekvivalence nadefinovaná jako průnik intervalů. Chce-li analytik nalézt jen závislosti s opravdu totožným succedentem, musí nastavit pro succedent souhlasnost jako absolutní shodu a kategoriální ekvivalenci jako souhlasnost v krajních bodech. U této úrovně podobnosti má význam zabývat se také hodnotami parametrů fundované implikace (Konfidence, Support). Analytik totiž může považovat za odvozené jen ty závislosti, které se od výchozí znalosti neliší v hodnotě konfidence o např. více než 0,1. Při takovémto požadavku může být důležitý nejen rozdíl v určitém parametru fundované implikace, ale také rozdíl v počtu klauzulí v antecedentu a succedentu u více specifických pravidel (pravidla s větším počtem klauzulí v succedentu) můžeme čekat větší míru konfidence a zároveň nižší hodnotu supportu než u pravidel obecnějších. Tohoto parametru využíváme v kapitole 7 - Praktické provedení analýz, kde za odvozená pravidla 52

57 považujeme pravidla: Která mají v antecedentu stejně klauzulí jako pravidlo z kterého jsou odvozené a přitom nemají hodnotu konfidence větší o více než 0,05. Která mají v antecedentu o N klauzulí více než pravidlo z kterého jsou odvozené a přitom nemají hodnotu konfidence větší o více než 0,05 x N. Příklad využití V rámci řešení LAQ byla nalezena závislost: : Denně_Pivo(>= <8,12)) Denně_Cigarety(<= 1;5)) obezita(ano) Analytik chce zjistit, jestli tato závislost není odvozená z nějaké známé znalosti 29. Bude hledat závislosti (znalosti) X v databázi znalostí, které splňují X 4 Parametry nastaví takto: Definice souhlasnosti podmnožina (použijí se jednostranné podmnožiny, různé pro antecedent a succedent) Definice kategoriální ekvivalence podinterval (mohl by použít shodu v krajních bodech, pokud by nic nenašel, podmnožinu, pokud by opět nic nenašel, tak průnik) Pomocí tohoto dotazu by nalezl například tuto znalost: Pivo(hodně) => obezita(ano) Pátá úroveň podobnosti Pátá úroveň podobnosti se zabývá závislostmi, které mají shodný antecedent i succedent. Tedy: 5 pokud platí všechny následující podmínky: 1. Pro každou klauzuli K1, K1 Antec existuje právě jedna klauzule K2, K2 Antec tak, že klauzule K1 a K2 si odpovídají 29 O možnostech vyjádření znalostí jako závislostí je pojednáno v kapiole Znalosti o vztazích mezi atributy. 30 Kategorie hodně by byla nadefinována jak >= 4 piva denně 53

58 2. Pro každou klauzuli K3, K3 Antec existuje právě jedna klauzule K4, K4 Antec tak, že klauzule K3 a K4 si odpovídají a zároveň pokud podmínky 1. a 2. platí i pro klauzule v succedentu. Klauzule K1 a K2 si odpovídají, pokud pro každý literál v K1 existuje souhlasný literál v K2 a pokud pro každý literál v K2 existuje souhlasný literál v K1. Souhlasnost Pro tuto úroveň podobnosti by se měla jako souhlasnost používat absolutní shoda. Kategoriální ekvivalence by měla být shoda v krajních bodech. Pokud však analytik potřebuje porovnávat závislosti, jejichž numerické literály jsou vytvořeny pomocí rozdílných intervalů, bude muset použít průnik. Příklady Závislosti Výška( <150,160)) Pas( >= <90,100)) Výška( <=<153,163)) Pas( >= <85,100)) obezita(ano) obezita(ano) jsou si podobné na páté úrovni při definici kategoriální ekvivalence coby podintervalů. Výška( <150,160)) ( Pas( >= <90,100)) v WHR(<3.5,4.0)) obezita(ano) (Pas( >= <80,100)) v WHR(<3.3,3.8)) Výška( <145,160)) obezita(ano) jsou si podobné na páté úrovni při definici kategoriální ekvivalence coby průniku intervalů (Výška( <150,160)) v WHR(<3.5,4.0)) (Pas( >= <90,100)) v Výška( <160,170))) impl obezita(ano) Výška( <150,180)) (Pas( >= <90,100)) v WHR(<3.5,4.0)) ) impl obezita(ano) nejsou podobné na páté úrovni při definici souhlasnosti coby průniku intervalů. Využití a parametry U závislostí podobných na této úrovni má již význam sledovat hodnotu kvantifikátoru. Můžeme s její pomocí vyhledávat závislosti, které se významně liší v hodnotách kvantifikátoru a pokusit se tyto odlišnosti vysvětlit. 54

59 Prvním z parametrů, který by mohl být využit, je typ kvantifikátoru (pro různé kvantifikátory mají jejich hodnoty rozdílný význam). Druhým parametrem by pak mohl být rozdíl mezi hodnotami kvantifikátorů (maximální, minimální). S využitím těchto parametrů by analytik mohl vyhledat například datové matice, v nichž je určitá závislost výrazně silnější/slabší, než ve výchozí matici. 4.3 Protichůdné závislosti V předcházejícím textu jsme se zabývali hledáním závislostí, které jsou si navzájem podobné. Pro tvorbu globálních analytických reportů bude také důležité zjistit, které objevené závislosti se navzájem vyvracejí. Příkladem takovýchto závislostí může být: impl α: Práce(manuální) Věk( 45;60)) 0.7;50 impl β: Práce(manuální) Věk( 45;60)) 0.7;50 Zdravotní_stav(dobrý) Zdravotní_stav(zhoršený) Důvodem takovéto nekonzistence může být například to, že LAR, z nějž pochází pravidlo β byl vytvořen nad daty obyvatel z kraje s velkým počtem obyvatel pracujících v hornictví, zatímco pravidlo pochází z LAR nad daty obyvatel ze zemědělské oblasti. Práce v dolech se pak negativně projevuje na zdraví horníků. V uvedeném případě mají obě závislosti stejný antecedent a liší se ve svém závěru succedentu. Pro analytika mají význam ale i taková zjištění, která se významně liší v závěru a také částečně v antecedentu. Uveďme si další možný příklad: abbavg α: Kouří_denně(<0;3)) 1.4;90 Výskyt_rakoviny_plic(nízký) abbavg β: Kouří_denně(<0;3)) exkuřák(ano) 1.1;11 Výskyt_rakoviny_plic(zvýšený) To, že nebyla závislost β zjištěna v prvním LAR a naopak závislost α nebyla zjištěna v druhém reportu může být například kvůli rozdílnému počtu bývalých kuřáků v podkladových datech pro jednotlivé reporty. I takovéto rozdíly v závislostech jsou při tvorbě GAR důležité a analytik by o nich měl vědět. Pro to, aby bylo možné takovéto protichůdné závislosti automaticky identifikovat, je nutné nejprve nadefinovat, kdy se dvě závislosti liší (resp. významně liší) v succedentech. Uvažujme nyní závislosti s jedním literálem v succedentu. U literálů s binárním atributem je situace jednoduchá, succedent se liší, pokud se liší hodnota literálu. V případě nominálních atributů se bude postupovat stejně (nulový průnik). 55

60 Ordinální atributy U atributů ordinálních známe jejich uspořádání a tedy i jejich řekněme relativní blízkost. Máme-li například atribut Výskyt_rakoviny_plic, který může nabývat hodnot nízký, zvýšený, vyšší a velmi vysoký, budou se více lišit literály s hodnotami nízký a velmi vysoký, než literály, jejichž hodnota je nízký a zvýšený. Pro potřeby tvorby GAR by většinou mělo stačit ohodnotit rozdílnost mezi dvěma hodnotami jako vzdálenost mezi jejich pořadím na stupnici možných hodnot, tedy v uvedeném příkladu by byla rozdílnost hodnot nízký a zvýšený rovna jedné, rozdílnost hodnot vyšší a velmi vysoký rovná dvěma atd. Data miner by při hledání protichůdných závislostí mohl mít možnost nastavit, jak vysoká má být rozdílnost mezi hodnotami literálů v succedentu, aby tyto byly považovány za rozdílné 31. Ne vždy musí být rozdílnost vypočítaná přes vzdálenost hodnot optimální. U atributu, který bude mít dvě hodnoty pro extrémy a pět hodnot pro různé stupně normálního stavu bychom mohli chtít, aby za rozdílné nebyly považovány literály s normálními hodnotami. K řešení podobných situací by mohlo posloužit rozdělení hodnot do tříd. Hodnoty v rámci jedné třídy by nebyly považovány za rozdílné, hodnoty z různých tříd by za rozdílné považovány byly. Ještě větší volnost by přinesla funkcionalita, která by doménovému expertovi umožnila nadefinovat rozdílnost mezi každými dvěma hodnotami atributu (vyjádřená jako racionální číslo). Tento způsob by však vyžadoval časově náročné definování rozdílností (přibližně n 2 /2 kde n je počet hodnot atributu). Pokud by však rozdílnost byla aditivní (tedy platilo by, že je-li rozdílnost mezi A a B rovna 2 a rozdílnost mezi B a C je rovna 3, pak rozdílnost mezi A a C je rovna pěti), pak by stačilo nadefinovat n-1 hodnot (n - opět počet všech možných hodnot atributu). Numerické atributy V kapitolách Souhlasnost, kategoriální ekvivalence a Negace a souhlasnost bylo rozebíráno, kdy lze dva literály nad numerickým atributem označit za souhlasné. Navržena zde byla absolutní shoda, podinterval, průnik a několik možných rozšíření. První možností, jak nadefinovat rozdílnost hodnot atributů je přes negaci jejich souhlasnosti. Mohli bychom potom říci, že literály se liší, pokud například průnik intervalů jejich hodnot je prázdný. To ovšem nemusí naplňovat představu analytika o protichůdných závislostech. Například závislosti: 31 Tuto rozdílnost by měl být schopen nastavit pro každý ordinální atribut, neboť se dá předpokládat, že pro atributy s menším počtem možných hodnot bude chtít mít tuto hodnotu jinou, než pro atributy s velkým počtem hodnot. 56

61 impl Výška(< 165)) Pas( 85;100)) 0.7;50 impl Výška(< 165)) Pas( 85;100)) 0.7;50 Cholesterol( 4;4.1)) Cholesterol( 4.1;4.2)) Analytik nemusí považovat za dostatečně protichůdné. Numerické atributy mají podobu intervalů vytyčených pomocí reálných (resp. racionálních) čísel. Vzhledem k tomu, že jsme schopni snadno určit vzdálenost mezi dvěma intervaly, nabízí se možnost využít této vzdálenosti pro určení rozdílnosti literálů. Dva literály budou označeny jako rozdílné, pokud vzdálenost mezi jejich hodnotami (intervaly) bude větší, než analytikem stanovená míra. Demonstrujme si tento přístup na příkladu. Máme 3 LARs, které obsahující v succedentu tyto literály: a) Cholesterol( 4;4.1)) b) Cholesterol( 4.9;5.1)) c) Cholesterol(>= 5.8;6)) Pokud analytik stanoví hranici vzdálenosti jedna, budou za rozdílné považovány literály a) a c). Pokud hranici stanoví na 0.7, budou za rozdílné považovány dvojice literálů a) a b), a) a c). Při nižší hranici budou za rozdílné považovány všechny literály. Požadavek na vzdálenost intervalů, resp. na některé určení vzdálenosti uvedené u ordinálních atributů by se mohlo stát součástí znalostní báze (bylo by napojeno na formát či na metaatribut, viz. Kapitola Metaatributy). Dále v této práci však budeme pro zjednodušení pracovat s předpokladem, že jediný způsob, jak vyjádřit tuto výraznou odlišnost bude prázdný průnik kategorií, resp. prázdný byl průnik intervalů u numerických atributů. Ostatní způsoby vyjádření výrazné odlišnosti hodnot literálů uvažovat nebudeme. Abychom se vyhnuli problémům popsaným v kapitole Negace a souhlasnost, budeme předpokládat, že pokud bude mít jeden nebo oba literály podobu negace základního boolovského atributu, pak před porovnáním budou literály převedeny do formy základního boolovského atributu. 57

62 4.3.1 První úrovně protichůdnosti 1 První úroveň protichůdnosti můžeme zavést obdobně, jako byla zavedena třetí úroveň podobnosti. Opět můžeme pro antecedent zavést parametry: Způsob řešení shody klauzulí jedna z možností minimální shoda, maximální shoda, jednostranná maximální shoda. Minimální počet klauzulí, ve kterých se pravidlo shoduje s pravidlem. Tedy minimální shoda Minimum/maximum počtu klauzulí, které obsahuje pravidlo a které se neshodují s žádnou z klauzulí pravidla - Neshoda α-β. Defaultně se neaplikuje. Minimum/maximum počtu klauzulí, které obsahuje pravidlo a které se neshodují s žádnou z klauzulí pravidla - Neshoda β-α. Defaultně se neaplikuje Parametry pro succedent budou následující: Způsob řešení protichůdných klauzulí minimální protichůdnost, maximální protichůdnost (viz. dále). Defaultní hodnota: minimální protichůdnost. Způsob řešení shody klauzulí jedna z možností minimální shoda, maximální shoda, jednostranná maximální shoda. (Stejné jako pro antecedent) Minimální počet protichůdných klauzulí minimální počet klauzulí, ve kterých se závislosti musí v succedentu výrazně lišit, aby byly prohlášeny za protichůdné. Defaultní hodnota 1. Minimální/maximální Neshoda α-β - počet klauzulí, které obsahuje pravidlo a které se neshodují s žádnou z klauzulí pravidla, ale ani se výrazně neliší (nejsou protichůdné) od některé klauzule z. Neshoda β-α - jako předchozí bod, jen se jedná o počet klauzulí z Protichůdnost klauzulí Pro určení, zda jsou dvě klauzule protichůdné (výrazně odlišné) zavedeme dvě definice: 1. Minimální protichůdnost klauzule budou protichůdné, pokud budou obsahovat alespoň jednu dvojici výrazně se lišících literálů. 58

63 2. Maximální protichůdnost klauzule budou protichůdné, pokud pro jednu z klauzulí bude platit, že každý literál z této klauzule se výrazně liší od nějakého literálu v druhé klauzuli. Příklad využití Analytik ví o závislosti: : Výška( <150,160)) Pas( >= <90,100)) Obezita(ano) a chce zjistit, zda byly objeveny nějaké závislosti, ve kterých by v důsledku změny jednoho z literálů antecedentu došlo ke změně succedentu. Bude hledat pravidla β, pro která platí 1. Parametry nastaví takto (u neuvedených parametrů se předpokládají defaultní hodnoty). Antecedent: Maximální neshoda β-α :1 Antecedent: Maximální neshoda α-β :1 Způsob řešení shody: maximální shoda (antecedent i succedent) Minimální počet protichůdných klauzulí : 1 (succedent) Souhlasnost a kategoriální ekvivalence: absolutní shoda, průnik intervalů Mohl by tímto dotazem získat např. závislosti: Výška( <150,160)) Pas( <= <60,70)) Obezita(ne) Výška( >= <190;200)) ) Pas( >= <90,100)) Obezita(ne) Výška( <150,160)) WHR( <= <1.7,2.0)) Cigarety(hodně) Obezita(ne) Druhá úroveň protichůdnosti 2 β je protichůdně odvozené z α 2, jestliže pro každou klauzuli K1, K1 Antec, existuje klauzule K2, K2 Antec, tak, že pro každý literál L1, L1 K1 existuje literál L2, L2 K2 tak, že L1 je souhlasný s L2 a zároveň pro každou klauzuli K3, K3 Succ, platí jedna z následujících možností: existuje klauzule K4, K4 Succ, tak, že pro každý literál L1 z K4 existuje literál L2 z K3 tak, že L1 a L2 jsou souhlasné. Pro každý literál L1 z K3 existuje klauzule K4, K4 Succ a klauzule K4 obsahuje 59

64 jediný literál L2, který se významně liší od literálu L1. Přičemž v Succ existuje alespoň jedna klauzule, pro kterou platí druhá možnost. Příklady U příkladů budeme používat velká písmena pro reprezentaci základních boolovských atributů. Souhlasné atributy budou označeny stejným písmenem, významně se lišící atributy budou odlišeny apostrofem (např. A, 'A se výrazně liší). 1) A B => S T U 2) A B C => S (T v U) 3) A B => 'S 4) A B (C v D) => S ('T v 'U) Pro tyto závislosti platí následující vztahy: 1 4 2, 1 2 3, 1 2 4, neexistuje žádný vztah odvození mezi 2 a 3, 2 a 4 ani 3 a 4. Příklad využití Analytik má znalost, jako například Lidé středního věku s příjmy alespoň Kč, nemají problémy splácet půjčky do výše Kč Chce vědět, jestli tato znalost platí nad všemi datovými maticemi, případně jestli existují nějaké další faktory, které tento vztah ovlivňují. Tuto znalost může vyjádřit ve formě závislosti: : Věk(<30,60)) Půjčka(dobrá) Plat( >= <30000,35000)) Půjčka( <= <150000,200000)) a hledat závislosti β pro které platí 2 (Předpokládejme, že souhlasnost zadá jako jednostrannou podmnožinu a kategoriální ekvivalenci jako jednostranný podinterval). Nalézt by mohl například závislost: Věk(<40,50)) Plat(<30000,45000)) Půjčka( <= <150000,200000)) Současné Zadlužení( >= <500000,600000)) Půjčka(špatná) která mu napoví, že na kvalitu půjčky může mít vliv také současné zadlužení klienta. Nad nějakou datovou maticí by mohl nalézt např. pravidlo: Věk(<45,60)) Půjčka(špatná) Plat(<30000,35000)) Půjčka(<150000,200000)) které by mohlo znamenat, že v dané oblasti je horší platební morálka klientů, banka v této oblasti 60

65 méně své klienty prověřuje atd. (Důvod, proč nad touto datovou maticí byla objevena takováto neobvyklá závislost, bude nutno prozkoumat prostředky mimo data mining). 4.4 Omezující podmínky Zatím jsme se zabývali pouze závislostmi ve tvaru Antecedent => Succedent. Závislosti se však mohou vztahovat jen k nějaké podmnožině dat, vyjádřené pomocí omezující podmínky (viz kapitola Omezující podmínky). Příkladem takové závislosti může být: Výška(<=<150;165)) Pas( >= 85;100)) impl Cholester(vysoký) /Pohlaví(muž) Při hledání podobných / protichůdných závislostí v rámci řešení globální analytické otázky může analytik omezující podmínky buď brát do úvahy, nebo je ignorovat. Oba tyto přístupy mají opodstatnění v různých situacích. Pokud například bude chtít analytik zjistit, které z objevených závislostí jsou odvozeny z jeho znalosti, která se týká všech dat, bude chtít podmínku u závislostí ignorovat. Pokud se naopak jeho znalost týká jen určité podmnožiny dat (např. mužů), bude chtít odvozená pravidla hledat jen mezi závislostmi, které se týkají mužů. Při používání omezujících podmínek musíme určit, zda dvě omezující podmínky říkají to samé. Můžeme využít souhlasnosti, která byla zavedena v kapitolách a Při hledání odvozených závislostí můžeme také využít toho, že znalost pro nás není překvapující, pokud tuto znalost máme pro širší množinu dat. Pokud máme například znalost, která platí pro lidi se středoškolským a vyšším vzděláním, pak závislost odpovídající této znalosti, která byla zjištěna při omezující podmínce na vysokoškolsky vzdělané lidi pro nás není překvapivá. Lze tedy použít definici souhlasnosti coby podmnožiny, případně podintervalu jako kategoriální ekvivalence, obdobně, jak jsme je používali u podobností čtvrté úrovně. 4.5 Soubory závislostí Při řešení globálních analytických otázek našeho typu pracuje analytik se závislostmi. V rámci této kapitoly budeme využívat termín soubor závislostí pro označení závislostí, které jsou při řešení GAQ nějakým způsobem důležité. Chce-li analytik například nalézt všechny závislosti v datových maticích M1,M2,M3, ze kterých lze odvodit závislost α, lze považovat všechny závislosti z matic M1,M2,M3 jako soubor závislostí, který si označíme S1. Analytik bude hledat závislosti β, pro které platí S1, 4. Výsledkem tohoto 61

66 hledání je opět soubor závislostí S2. Popsané hledání můžeme vyjádřit jako: S2 = M1 M2 M3 L 4 resp. S2 = S1 L 4 4 Symbol L u L znamená, že hledáme závislosti odvozující, resp. že do S2 se ukládají závislosti z levé (left) strany výrazu. To je poměrně zřejmé u výše uvedeného dotazu, neboť na pravé straně dotazu je jedna závislost. Stejně tak bychom ale mohli mít na pravé straně soubor závislostí (S3). V takovém případě by již bylo potřeba rozlišit, zda hledáme závislosti z datových matic, které odvozují některou ze závislostí v S3 (symbol L 4 závislosti z S1 (použili bychom symbol R 4 ), nebo závislosti z S3, které jsou odvozeny z některé - R jako Right pravo). Pro řešení komplexnějších otázek může analytik potřebovat řetězit dotazy (výsledky jednoho vyhledávání použít jako zdroj pro další vyhledávání), případně provádět se soubory znalostí další operace. Zdá se být vhodné, aby software pro řešení GAQ podporoval následující množinové operace se soubory závislostí: Sjednocení C= A B Do nového souboru závislostí budou umístěny všechny závislosti, vyskytující se v souborech A a B. Průnik C= A B Do nového souboru závislostí (C) budou umístěny všechny závislosti, vyskytující se v souboru A a současně i v souboru B. Rozdíl C= A/ B Do nového souboru závislostí (C) budou umístěny všechny závislosti, vyskytující se v souborech A a nevyskytující se v souboru B. Při realizaci množinových operací (např. rozdílu) je potřeba určit, zda jsou dvě závislosti stejné. V tomto případě však nebudeme používat vztah podobnosti, nýbrž využijeme jednoznačného identifikátoru závislostí. Závislosti se dají identifikovat pomocí lokálního PMML Reportu, ve kterém se vyskytují a identifikací pravidla v rámci tohoto reportu 32. Dvě pravidla se tedy budou lišit, pokud mají naprosto stejný význam, ale vyskytují se ve dvou různých PMML Reportech. V kapitole Znalosti o vztazích mezi atributy bude popsána možnost, jak některé z doménových znalostí vyjádřit ve formě pravidel. V navrhovaných souborech závislostí mohou být i takto vyjádřené znalosti a množinové operace by mělo být možné aplikovat i na ně. 32 Identifikovat pravidlo v rámci reportu je možné např. pomocí elementu <text> v r8mci elementu <associationrule> 62

67 4.6 Využití úrovní podobností a protichůdností při řešení GAQ V této kapitole je uvedeno několik možných globálních analytických otázek a popsáno, jak by se tyto otázky daly řešit pomocí zavedených úrovní podobnosti či protichůdnosti GAQ 1 Je nalezená závislost (α) odvozená z doménových znalostí ( = nepřekvapivá/nezajímavá)? Takovouto otázku si může položit doménový expert, nebo může být řešena automaticky při každém vložení nově objevených závislostí do centrálního systému. Nejedná se o globální analytickou otázku v pravém slova smyslu, neboť k jejímu zodpovězení nevyužíváme výsledků dataminingových úloh provedených nad více datovými maticemi, ale pouze jednu nalezenou závislost a bázi znalostí. Tato otázka spíše demonstruje možnost využití úrovní podobnosti a protichůdnosti při tvorbě lokálního analytického reportu. Na první pohled by se zdálo, že řešení této otázky je s použitím zavedených úrovní podobností triviální. Hledáme znalosti X uložené v centrálním systému, pro něž platí X 4. Tím ovšem naše práce nekončí. Musíme zjistit, zda závislost α není současně protichůdně odvozená od jiné znalosti. Potřebujeme tedy nalézt takové znalosti Y, pro něž platí Y 2. Současné nalezení znalostí X i Y může znamenat: 1. Problém v bázi znalostí jsou tam uloženy znalosti, které jsou navzájem protichůdné (např. Pivo_Denně(hodně) => obezita(ano), Pivo_Denně(hodně)=>obezita(ne) ) 2. Problém s volbou definice souhlasnosti a / nebo kategoriální ekvivalence problémy, kvůli kterým mohla nastat tato situace jsou popsány v kapitole Negace a souhlasnost. Pro odvozování je doporučeno použít jako souhlasnost absolutní shodu, nebo jednostrannou podmnožinu, pro kategoriální ekvivalenci podinterval nebo shodu v krajních bodech. Při použití jiných než doporučených kombinací může v ojedinělých případech dojít k podobným problémům. 3. Závislost α může být odvozena od dvou znalostí, přičemž jedna z nich je více specifická. Tento případ rozebereme dále v textu. 4. Nalezená závislost může být kombinací dvou či více protichůdných závislostí. Příklad: objevená závislost Pivo_Denně(>= <15,20)) Cigaret_Denně( <15,20)) => obezita(ano) je odvozená ze znalosti Pivo_Denně(hodně) => obezita(ano), ale je protichůdná ke znalosti 63

68 Cigaret_Denně(hodně) => obezita(ne). Objevená závislost se týká lidí, kteří vypijí opravdu extrémní množství piva, proto mohl vliv piva překonat vliv cigaret. Případ 3) si demonstrujeme na příkladu. Jednotlivé závislosti/znalosti budeme zapisovat schematicky (velká písmena budou reprezentovat literály, stejná písmena znamenají souhlasné literály). Objevená závislost má podobu : A B C D = > S K ní nalezené znalosti jsou: 1. A B = > not(s) 2. A B C => S α je odvozená od druhé znalosti a protichůdně odvozená od znalosti první. Druhá znalost je však specifičtější, než znalost první (je od ní protichůdně odvozená). Je tedy bližší závislosti α a závislost α tím pádem není pro nás překvapující (kdyby α měla succedent not(s), pak by naopak překvapující byla). Důvod, proč by se mohly znalosti 1 i 2 objevit současně v bázi znalostí je například ten, že pro většinu objektů neznáme hodnotu atributu, nad kterým je vytvořen literál C. První znalost je tak obecná, platí pro všechny objekty, druhou můžeme použít jen u menší skupiny objektů, u kterých známe hodnotu tohoto atributu. Řešení případu tři (specifičtějších znalostí) se můžeme pokusit automatizovat. Pokud X je množina znalostí, z nichž je α odvozená a Y je množina znalostí, z nichž je α protichůdně odvozená, můžeme postupovat v následujících krocích: 1) Pro každou znalost β z X se pokusíme nalézt protichůdně odvozenou znalost v Y. Pokud takovou znalost nalezneme, vyřadíme β z X 33. 2) Pro každou znalost α z Y se pokusíme nalézt protichůdně odvozenou znalost v Y. Pokud takovou znalost nalezneme, vyřadíme α z Y. 3) Pokud zbudou závislosti jen v X, můžeme prohlásit o α, že je odvozena ze známých znalostí (je nezajímavá). Pokud zůstanou závislosti jen v Y, je α protichůdně odvozená ze současných 33 Pokud znalosti využívají jiné kategorie, můžeme mít problém s definováním shodnosti a kategoriální ekvivalence pro hledání odvozených závislostí. Jako vhodné řešení by se nabízelo použití definice shody jako průniku, kdy průnikem hodnot by musela být nadmnožina (nadinterval) hodnoty příslušného literálu v závislosti α. Takováto rozšíření a jejich důsledky jdou však nad rámec této diplomové práce a měly by se stát předmětem dalšího výzkumu. Dále předpokládáme, že závislosti jsme schopni odvozovat pomocí definice souhlasnosti jako absolutní shody nebo jednostranné podmnožiny a kategoriální ekvivalence jako shody v krajních bodech nebo jednostranného podintervalu. 64

69 znalostí a je pro nás potenciálně zajímavá. Pokud zůstanou závislosti v X i v Y, jedná se zřejmě o jeden z případů 1,2,4 a rozhodnout bude muset analytik. V případech 1,3 a 4 (Problém v bázi znalostí, riziková definice souhlasnosti, kombinace více znalostí) bude muset o zajímavosti resp. odvozenosti závislosti α rozhodnout analytik. K dispozici může dostat znalosti, z nichž je α odvozené a znalosti, z nichž je α odvozené protichůdně. Popíšeme si řešení této úlohy pomocí formulí, navržených v kapitole Soubory závislostí. KB budeme značit bázi znalostí, α závislost, u které zjišťujeme, zda je z nějakých znalostí odvozená. S1, S2, S3 budou soubory závislostí(znalostí). Jako první zjistíme, zda je závislost α odvozená z nějakých znalostí (tyto znalosti budou uchovány v souboru S1, či zda je odvozena z nějakých znalostí protichůdně (tyto znalosti budou v souboru S2). Provedeme: S1 = KB 4 L, S2 = KB 2 L Pokud jsou S1 i S2 neprázdné, potřebujeme zjistit, zda některé ze znalostí v S1 nejsou protichůdně odvozené od znalostí S2 a naopak. Znalosti, ke kterým existují znalosti protichůdně odvozené (specifičtější) můžeme odstranit: S3 = S1 2 L S2, S4 = S2 2 L S1, S5 = S1 \ S3, S6 = S2 \ S4 Pokud by byly soubory S5 i S6 neprázdné, měl by je analytik dostat k dispozici (resp. znalosti v těchto souborech), aby se mohl rozhodnout, zda lze považovat závislost α za odvozenou ze znalostní báze, nebo nikoli GAQ 2 Je daná závislost (α) podporovaná závislostmi nalezenými nad jinými datovými maticemi, nebo je specifická pro danou datovou matici? (Nakolik je tato závislost specifická pro danou matici?) Závislosti, které jsou specifické pro jednu datovou matici (nebo malou část datových matic) indikují, že data nad kterými byla závislost nalezena jsou něčím specifická. Toto poznání následně může vést k dalšímu výzkumu, který by měl dát odpovědi na otázky jako: V čem spočívá specifičnost dat? Co z této specifičnosti vyplývá? Zodpovězení těchto otázek vede k prohloubení znalostí o sledované oblasti, rozšíření znalostní báze, nebo k objevení nových, dosud neznámých vztahů. 65

70 Naopak závislosti, které byly objeveny nad všemi (velkým počtem) datovými maticemi zřejmě platí obecně. Mohou se tedy stát součástí znalostní báze. Jak při řešení tohoto problému může analytik postupovat: 1) Zjistí, nad kterými datovými maticemi byla objevena stejná závislost (může využít pátou úroveň podobnosti.) 2) Nad zbylými maticemi bude zjišťovat, zda tato závislost (α) není odvozená od jiných, zde nalezených závislostí. Zde by měl použít postup uvedený v předchozí kapitole (4.6.1). Výsledkem této analýzy může být: 1. Bude objevena závislost (závislosti), z níž lze α odvodit. 2. Bude objevena závislost (závislosti), z níž lze α odvodit protichůdně. 3. Nebude objevena ani závislost, z níž by se dala α odvodit, ani závislost, z níž by se dala odvodit protichůdně. 4. Budou objeveny závislosti, z kterých lze α odvodit i závislosti, z nichž lze α odvodit protichůdně. V případě 2.1 bude možné datovou matici považovat za matici, v níž závislost platí. V případě 2.2 bude matice považována nejen za matici, v níž závislost neplatí, ale dokonce za matici, v níž platí závislost protichůdná. V případě 2.3 bude matice považována za matici, v níž závislost neplatí, v případě 2.4 by měly být analytikovi předloženy závislosti, z nichž lze α odvodit i ty, z nichž lze α odvodit protichůdně a analytik by měl rozhodnout, zda lze předpokládat, že α nad danou maticí platí, nebo ne. (Také může zadat požadavek na ověření vytvořit novou LAQ). Uvedený postup lze i (semi)automatizovat. Software může sám provést kroky 1) a 2) pro souhlasnost definovanou jako absolutní shodu (a kategoriální ekvivalenci coby shodu v krajních bodech). Pro matice, nad nimiž nebyly objeveny žádné závislosti pak může provést krok 1) pro kategoriální ekvivalenci podinterval a krok 2) pro souhlasnost definovanou jako jednostrannou podmnožinu a ekvivalenci jako jednostranný podinterval. Analytik následně musí posoudit výsledky typu 2.4 (z obou iterací) a rozhodnout, zda nad těmito maticemi lze považovat závislost za platnou nebo nikoli. U datových matic, nad nimiž nebyla nalezena požadovaná závislost, ani závislosti z nichž by se dala odvodit (či protichůdně odvodit) může analytik použít hledání shody první či třetí úrovně, aby nalezl závislosti méně podobné k α. Na základě takovéhoto vyhledávání může analytik dospět k tomu, 66

71 že závislost nad nějakou datovou maticí platí, toto však již nejsme schopni automatizovat. Analytik také může požádat data minera, aby závislost α ověřil přímo ve zdrojových datech některé matice GAQ 3 Jaké vztahy týkající se závislosti atributu Y na atributech X byly objeveny? K zodpovězení takovéto otázky může analytik využít první nebo druhou úroveň podobnosti. Pokud analytik ví, že atributy A,B a C společně ovlivňují atribut S, může chtít najít všechny závislosti, které jsou odvozené od A B C => S a použije druhou úroveň podobnosti k nalezení příslušných závislostí. Bude hledat závislosti Y splňující A B C => S 2 Y Pokud ví, že atributy A, B i C mají vliv na S (ne nutně v kombinaci), použije první úroveň podobnosti. Ta mu umožňuje pomocí parametrů nalézt přesně ty závislosti, které chce. Vyhledávání se následně spustí nad všemi relevantními datovými maticemi (ty bude muset analytik zadat). Výsledkem bude soubor závislostí, splňujících analytikovy požadavky. Z tohoto souboru by se měly odfiltrovat závislosti, které se v něm vyskytují víckrát (každá závislost by měla být nalezena pouze jednou). K tomuto odfiltrování se může využít podobnosti na páté úrovni. (Pro každou závislost se budou hledat závislosti s ní podobné na páté úrovni a pokud budou nějaké nalezeny, budou odstraněny ze souboru závislostí). Nalezené závislosti by bylo vhodné pro analytika ještě uspořádat. Možné je například následující seskupení závislostí: Nejdetailnější skupiny seskupení závislostí podobných na páté úrovni, při definici souhlasnosti jako absolutní shody a kategoriální ekvivalence jako průniku intervalů. Střední detail - seskupení závislostí podobných na páté úrovni, při definici souhlasnosti jako podmnožiny a kategoriální ekvivalence jako průniku. Nejmenší detail seskupení závislostí podle toho, zda se v jejich antecedentu vyskytují atributy A,B, i C, vyskytuje jen dvojice atributů A a B, vyskytuje jen dvojice atributů A a C, vyskytuje jen atribut A, B, C. 4.7 Další 4-ft kvantifikátory Při definování úrovní podobnosti a protichůdnosti jsme se zaměřili na závislosti, které byly objeveny pomocí kvantifikátoru fundované implikace. První, třetí a pátou úroveň podobnosti však má smysl použít i na vyhledávání závislostí nalezených pomocí jiných 4-ft kvantifikátorů. 67

72 Pomocí první a třetí úrovně podobnosti může analytik vyhledat pravidla, která mají požadovaný tvar antecedentu a succedentu, bez ohledu na jejich kvantifikátor. Pomocí páté úrovně podobnosti může analytik vyhledávat stejná pravidla, která se významně liší v hodnotě libovolného kvantifikátoru. Podobnost páté úrovně tedy můžeme využít pro jakýkoli kvantifikátor. Je však třeba mít na paměti, že u symetrických kvantifikátorů platí: antecedent succedent <=> succedent antecedent což námi nadefinovaná podobnost páté úrovně nereflektuje 34. Pro specifické kvantifikátory by tedy bylo potřeba tuto definici upravit. Druhá a čtvrtá úroveň podobnosti slouží pro hledání odvozených závislostí, které má však význam jen pro fundovanou implikaci. U fundované implikace totiž platí, že víme-li o platnosti závislosti: A B => S lze očekávat také platnost závislosti A B C => S Pokud je však závislost nalezena pomocí symetrického 4-ft kvantifikátoru (použijeme dvojitou fundovanou implikaci), pak platnost: A B + S znamená také platnost S + A B a nelze odvodit S + A B tedy ani C A B C + S. Ze stejného důvodu nelze použít druhou úroveň protichůdnosti pro jiné kvantifikátory, než fundovanou implikaci. První úroveň protichůdnosti opět význam má, nicméně pro symetrické kvantifikátory by bylo potřeba změnit její definici tak, aby kromě neshod v succedentech byla schopna postihnout i neshody v antecedentech. Dvojitá fundovaná implikace Existují zajímavé vztahy mezi fundovanou implikací a dvojitou fundovanou implikací, které si nyní 34 Například pro kvantifikátor fundované implikace + by mělo platit, že pravidla BMI(obezita) + Pivo(hodně) a Pivo(hodně) + BMI(obezita) jsou si podobná na páté úrovni, při naší definici podobnosti toto platit nebude. 68

73 popíšeme. Dvojitá fundovaná implikace má konfidenci vyjádřenou jako (viz kapitola Procedura ASSOC): konfidence= a a b c To znamená, že závislost bude pomocí tohoto kvantifikátoru nalezena, pokud její hodnota a čtyřpolní tabulky je relativně vysoká, zatímco její hodnoty b a c jsou relativně nízké 35. Lze tedy říct, že pokud jsou nalezeny závislosti α =>β a β =>α, pak by bylo možné nalézt i závislost α + β 36. V těchto úvahách lze ještě pokračovat. Pokud nad danou maticí lze předpokládat platnost α =>β (lze ji odvodit z nějaké nalezené závislosti a nelze ji protichůdně odvodit ze závislosti jiné) a lze předpokládat i platnost β =>α, pak lze předpokládat platnost α + β. 4.8 Vyhledávání v závislostech SEWEBAR V předchozích částech kapitoly byly popsány různé metody pro vyhledávání podobných či protichůdných závislostí. V rámci projektu SEWEBAR jsou v současné době také vyvíjeny a testovány různé způsoby vyhledávání v asociačních pravidlech. Pro vyhledávání jsou testovány: Plnotextové vyhledávání na bázi Apache Lucerne strukturované hledání pomocí jazyka XQuery v databázi XML Berkley sémantické vyhledávání pomocí jazyka tolog v bázi Ontopia Knowledge Suite Plnotextové vyhledávání na bázi Apache Lucerne Pro použití tohoto způsobu vyhledávání je potřeba převést XML výsledky data miningu (PMML reporty) do jiné, zjednodušené formy. K tomu již byla navržena potřebná XSLT transformace. Z takto zjednodušeného dokumentu se vyextrahují asociační pravidla, která jsou vložena do databáze 37, nad kterou je možné následně hledat. Vyhledávání je možné nad hodnotami základních booleovských atributů, kvantifikátorů a informacích o nastavení dataminingové úlohy. Napojení pravidel na původní XSL dokument (PMML report) je realizováno pomocí identifikátoru dataminingové úlohy. 35 a ve čtyřpolní tabulce značí počet objektů, pro které platí antecedent i succedent, b je počet objektů, pro které platí antecedent a neplatí pro ně succedent, c je počet objektů, pro které platí succedent ale neplatí pro ně antecedent. 36 Obráceně toto neplatí, z toho že byla nalezena závislost α + β nelze dovodit, že by bylo možno nalézt i závislosti α =>β a β =>α 37 Resp. jsou vložena do specielního indexu, viz [2]. V této kapitole se však pokusíme čtenáře odstínit od technických detailů. 69

74 Je tedy možné k nalezeným pravidlům dohledat PMML report, ze kterého pochází. Zjednodušená struktura databáze vypadá následovně: AR1 Kvantifikátor1=hodnota Kvantifikátor2=hodnota BBA1=hodnota BBA2=hodnota BBA3=hodnota BBA4=hodnota AR2 ARN... AR značí asociační pravidlo, BBA jsou základní boolovské atributy, kvantifikátory by byly např. konfidence a support pro fundovanou implikaci. Možnosti dotazování Při dotazování je možné využívat logické spojky OR, AND a NOT. Je možné dotazovat se na konkrétní hodnotu nebo na rozmezí hodnot. Při dotazu na rozmezí hodnot je možné použít exkluzivní vyhledávání ( vyjádřeno symboly {} ) nalezena budou pravidla s právě zadanými hodnotami atributu nebo podmnožinové vyhledávání ( vyjádřeno symboly [] ) nalezena budou pravidla, jejichž hodnoty atributu jsou v zadaném rozmezí. Příklad: Pohlaví:M AND Výška:[Malá TO Střední] AND BMI{Obezita1 TO Obezita2} nalezne všechna pravidla, která obsahují atribut Pohlaví s hodnotou M, atribut Výška s hodnotami Malá nebo Střední (nebo s oběma) a atribut BMI právě s hodnotami Obezita1 a Obezita2 38. Problémy s dotazováním Je možné se dotazovat na přítomnost atributu s určitou hodnotou v pravidle, není však možné odlišit, zda tento atribut je v succedentu nebo antecedentu 39. Nelze také pracovat s negacemi základních booleovských atributů či klauzulemi. Velmi zásadním problémem také je, jakým způsobem jsou porovnávány hodnoty atributů. Při porovnávání je použito lexikografické řazení kategorií, to znamená, že hodnoty se porovnávají jako řetězce. Tak například u numerických atributů to znamená, že pří vyhledávání Atribut[5 TO 6] budou 38 Předpokládáme, že atribut Výška může nabývat hodnot Malá, Střední, Vysoký a atribut BMI může nabývat hodnot Podváha, Normální, Obezita1, Obezita2. Pokud by např. atribut Výška mohl nabývat hodnoty Obzvláště vysoký, byla by nalezena i pravidla obsahující tuto hodnotu atributu, viz další text. 39 V [2] byl navržen přístup, který toto umožní. 70

75 nalezena i pravidla s hodnotou Atribut = 50. Toto omezení se u numerických celočíselných atributů dá vyřešit jejich doplněním zleva nulami na maximálního délku (např z hodnoty 5 by šlo vytvořit ) 40. Stejný problém ovšem nastává i u ordinálních atributů, kde lexikografické řazení kategorií nemusí odpovídat jejich sémantickému řazení (viz poznámka 38). Shrnutí Výhodou vyhledávání pomocí Apache Lucene je jeho velká rychlost. Nemožnost rozlišení umístění literálů v pravidlu (antecedent, succedent, klauzule), práce pouze se základními booleovskými atributy a problémy při porovnání hodnot jsou však natolik závažné, že se tento způsob vyhledávání nezdá být vhodný pro potřeby hledání podobných a protichůdných závislostí XQuery Tento způsob vyhledávání pracuje přímo s PMML XML soubory, tedy výsledky zpracování data miningové úlohy. PMML soubory byly pro potřeby vyhledávání uloženy v samostatné databázi (XML Berkley). Vzhledem k tomu, že vyhledávací dotaz má složitou strukturu (je to XML dokument), předpokládá se vytvoření uživatelského rozhraní, které umožní analytikovi tyto dotazy zadávat v zjednodušené formě. Možnosti dotazování V současné době je možné vyžadovat přítomnost určitého atributu v pravidle (přičemž lze nastavit, zda má být atribut v succedentu nebo antecedentu). Krom atributu je možné také určit, jakou má mít hodnotu. U numerických atributů lze stanovit rozsah hodnot, který nás zajímá, současná implementace potom použije definici kategoriální ekvivalence jako průniku, tedy při zadání Výška<180,200) budou nalezena pravidla, která obsahují literál Výška(<150,190)) nebo Výška(<180,190)), ale nebude nalezena závislost obsahující literál Výška(<130,140)). Dle naše názoru je toto chování snadno rozšiřitelné tak, aby bylo možno kategoriální ekvivalenci vyjádřit jako podinterval nebo shodu v krajních bodech. U nominálních atributů je možné použít souhlasnost jako podmnožinu, nebo souhlasnost jako absolutní shodu. Dle našeho zjištění algoritmus zatím není schopen pracovat s klauzulemi, nicméně se zdá být toto rozšíření možné. Problémy s dotazováním 40 V [2] byly navrženy i základní idee, jak by bylo možné správného řazení dosáhnout u desetinných čísel. 71

76 Dle popisovaného fungování tohoto způsobu vyhledávání se zatím nepracuje s rozlišením pravidel dle datové matice, nad kterou byla nalezena. Toto by však díky vyjadřovacím schopnostem jazyka XML neměl být zásadní problém. Za výraznější nedostatek lze považovat absenci řešení pro vyhodnocování literálů, které mají podobu negace základního boolovského atributu. Identifikovány byly také problémy s výkonem u pravidel s větším stupněm zanoření booleovských atributů. Na tomto problému se v současnosti pracuje, navíc u pravidel jejichž antecedent i succedent jsou v konjunktivní normálové formě by neměl nastat. Omezená je také současná schopnost vyjádření kategoriální ekvivalence a souhlasnosti. U vyhledávání nad numerickými daty se zatím pracuje pouze s kategoriální ekvivalencí coby průnikem a souhlasnost se zde vůbec nebere do úvahy. U ostatních atributů (včetně ortonormálních) se zase zřejmě pracuje pouze se souhlasností, kterou je možno definovat jako jednostrannou podmnožinu či absolutní shodu. Zatím se také nepracuje s možností porovnávání pravidel, které používají různé atributy vytvořené nad sémanticky shodnými datovými atributy tedy s formáty (viz. kapitola Metaatributy). To však není překvapující, neboť koncept, který by toto měl umožnit (FML), je teprve ve vývoji. V kapitole Navrhovaný koncept navrhneme přístup, který by měl některé z těchto problémů odstranit Sémantické vyhledávání Tolog Tento způsob vyhledávání počítá s převodem PMML dokumentů do systému Ontopia Knowledge Suite tedy s převodem dokumentů do Topic Maps. Pro tento převod již byla vytvořena ontologie [8] i nástroje. O možnostech tohoto způsobu vyhledávání zatím nemáme příliš mnoho informací. Na rozdíl od vyhledávání v Lucerne bude zřejmě možné vyhledávat jak v antecedentu, tak i v succedentu, zdá se, že půjde také vyhledávat v klauzulích. Podobně jako u Lucernu lze očekávat problémy s porovnáváním hodnot, neboť i zde se pracuje s hodnotami jako s řetězci. Je možné očekávat problémy s různými definicemi kategoriální ekvivalence pro numerické atributy, i s vyjadřováním rozmezí u atributů ordinálních. Problémy budou zřejmě také s negacemi základních boolovských atributů. Stejně jako u vyhledávání s pomocí XQuery byly zaznamenány výkonnostní problémy pro některé typy pravidel. 72

77 4.8.4 Shrnutí Všechny způsoby vyhledávání jsou zatím ve stádiu vývoje a testování. Velká část funkcionalit, kterou potřebujeme pro vyhledávání podobných či protichůdných pravidel různých úrovní, zatím nebyla v žádném ze systémů implementována. Jako nejnadějnější z představených přístupů se nám zdá vyhledávání pomocí XQuery, neboť je velmi flexibilní a na rozdíl od Topic Maps (které se zdají být taktéž značně flexibilní) umožňuje bezproblémovou práci s numerickými atributy. Je však potřeba ještě jednou zdůraznit, že v této části práce jsme vycházeli z informací o probíhajícím výzkumném projektu, které v době psaní této práce nebyly ani publikovány. 73

78 5 Background knowledge V této kapitole se podíváme na různé druhy background knowledge a jejich využití při řešení globálních analytických otázek. První část kapitoly se věnuje znalostem o atributech, které nám umožní porovnávat pravidla nalezená nad různými datovými maticemi. Druhá část se věnuje znalostem o datových maticích, třetí část pojednává o možnosti zaznamenání a využití znalostí o vztazích mezi atributy. 5.1 Metaatributy Jedním ze zásadních problémů při porovnávání nalezených závislostí je skutečnost, že nad jedním datovým atributem může být vytvořeno více atributů s různě definovanými kategoriemi. Při porovnávání závislostí z různých datových matic se také může stát, že datové atributy mají hodnoty vyjádřené v rozdílných měrných jednotkách, pomocí rozdílných stupnic atd. V této kapitole se budeme zabývat přístupy, pomocí nichž by tyto problémy měly být řešeny Požadavky Z kapitoly 4 - Globální analytické otázky vyplývají požadavky na závislosti, které je potřeba naplnit, abychom byli schopni používat navržené postupy (úrovně podobnosti a protichůdnosti). Jedná se zejména o: Schopnost určit, zda jsou literály nad sémanticky shodným datovým atributem. Tato potřeba vychází ze způsobu, jakým chceme porovnávat závislosti na první a druhé úrovni podobnosti. Musíme být schopni určit, zda např. datový atribut Vyska vyskytující se v jedné závislosti je významem ekvivalentní atributu Heigh z jiné závislosti. Schopnost určit, zda hodnoty dvou literálů jsou souhlasné, nebo nikoli. Literály přitom mohou být vyjádřeny pomocí různých atributů, dokonce mohou být nad různými datovými maticemi. K vyřešení prvního požadavku nám stačí mít uloženou informaci o tom, nad kterým datovým atributem je příslušný atribut vytvořen a dále je potřeba vytvořit a uchovávat relace které určí, zda jsou dva datové atributy sémanticky ekvivalentní. Druhý požadavek je komplikovanější. U kategorií numerických atributů musíme znát z jakých intervalů byly vytvořeny. Tyto intervaly se dají vyjádřit jejich počáteční a koncovou hodnotou. Dále 74

79 musíme počítat s tím, že hodnoty numerického datového atributu se mohou lišit v jednotce, pomocí které jsou vyjádřeny (např. hodnoty sloupce Vyska mohou být v jedné matici vyjádřeny v metrech, v jiné v centimetrech). Pro určení ekvivalence kategorií (např. průnikem intervalů) musíme být schopni převést jednotky na stejnou měrnou jednotku. Je tedy vhodné mít k dispozici znalosti, které takovýto převod umožní. U binárních, nominálních i ordinálních atributů musíme určit, které kategorie můžeme považovat za ekvivalentní. Např. v datové matici STULONG může datový atribut Vzdelani nabývat hodnot basic school, apprentice school, secondary scool, university. V datové matici ADAMEK atribut Vzdelani může nabývat hodnot zakladni, stredoskolske, vysokoskolske. Tyto hodnoty bude třeba na sebe namapovat, tedy určit, že hodnotě vysokolske odpovídá hodnota university, hodnotě stredoskolske odpovídají hodnoty secondary scool a apprentice school, hodnotě zakladni odpovídá hodnota basic scool. Toto mapování je dalším typem BK (Background Knowledge), kterou je potřeba uchovávat a pracovat s ní BKEF V článku [1] je popisována reprezentace doménových znalostí ve formátu BKEF (Background Knowledge Exchange Format). V BKEF se pracuje s dvěma typy znalostí. První z nich popisuje známé vztahy mezi atributy a budeme se mu věnovat v kapitole Znalosti o vztazích mezi atributy. Druhý typ znalostí se věnuje tvorbě atributů a možnostem porovnávání těchto atributů mezi sebou a jeho popis je obsahem této části práce. Jako základní pojem byl v BKEF zaveden tzv. metaatribut, což je abstrakce nějakého datového sloupce (datového atributu). V BKEF se počítá s možností hierarchického uspořádání metaatributů, ale zatím byly vytvořeny pouze úrovně dvě atomický metaatribut a skupinový metaatribut. Účelem atomického metaatributu je vytvořit jednotnou vrstvu nad datovými sloupci, ve kterých jsou uchovávaná data se stejným sémantickým obsahem bez ohledu na formát těchto dat či názvy sloupců. Zavedení metaatributu Výška by nám tak mělo umožnit pracovat s datovým sloupcem Vyska z jedné datové matice, stejně jako s datovým sloupcem Height z jiné datové matice. Skupinové atributy slouží k uspořádání atomických metaatributů do skupin dle nějaké jejich charakteristiky. Na obrázku obr. 5 jsou vyobrazeny atomické metaatributy systolický a diastolický, které patří do skupinového metaatributu krevní tlak. Datové atributy v různých datových maticích mohou být vyjádřeny v různých jednotkách (např. datový atribut vzdělání/education má rozdílné hodnoty v datové matici STULONG a ADAMEK), 75

80 mohou se lišit rozmezí hodnot atributů atd. S těmito problémy se BKEF snaží vyrovnat zavedením takzvaných Formátů. Formát může dle [1] obsahovat: rozsah hodnot (vyjádřený intervalem nebo výčtem) doporučené spojování hodnot ( doporučení, jak tvořit z hodnot kategorie tato doporučení poskytuje doménový expert) uspořádání hodnot, pokud existuje (ordinální atributy) rozvrstvení hodnot (outliers) často chybějící hodnoty. Každý bazický metaatribut může být propojen s více formáty a tím i s více datovými maticemi. Toto propojení bylo v době vydání [1] ve vývoji. Ukázku metaatributů a formátů je na obrázku obr. 5. obr. 5: Příklad metaatributů a formátu, převzato z [bkef-znalosti.pdf str. 2] Pokud porovnáme požadavky na propojení atributů pro potřeby globálních analytických dotazů (popsané v části Požadavky) s možnostmi, které nám dává BKEF, zjistíme několik nedostatků. Pro potřeby řešení GAQ potřebujeme u kategorií nad numerickými atributy znát interval, pomocí nějž byly vytvořeny 41. Přestože tato informace je v BKEF obsažena, není zde uvedena jednotka, v jaké jsou tyto intervaly vedeny. Interval se stejným rozsahem tak bude vyjadřovat něco jiného, jsou-li 41 Na obrázku obr. 5 je tato jednotka v názvu formátu, což se však nezdá jako ideální řešení. 76

81 hodnoty datového atributu vedeny v centimetrech a něco jiného, jsou li udávány v palcích. Pokud bychom Formát rozšířili o údaj udávající měrnou jednotku a vytvořili novou bázi znalostí, obsahující způsob převodu mezi měrnými jednotkami, bylo by možné automatizovat převod kategorií (intervalů) mezi jednotlivými Formáty. Ještě lepším řešením by bylo rozšířit bazické metaatributy o údaj, udávající jakousi základní měrnou jednotku. Součástí Formátu by potom bylo u kategorie vyjádření intervalu nejen v měrné jednotce, ve které jsou data v datové matici, ale také v základní jednotce. Tím by se zamezilo nutnosti převodu jednotek při každém analytickém dotazu 42. Z informací v dostupných zdrojích se také zdá, že současná implementace BKEF neumožňuje definování ekvivalence mezi kategoriemi ordinálních či nominálních atributů využívajících různé formáty. Je možné, že výzkum v této oblasti byl přerušen a počítá se s využitím jazyka FML (viz další kapitola). Zavedené metaatributy nám naopak umožňují rozhodnout, zda jsou dva atributy nad sémanticky shodným datovým atributem. Literály jsou v tomto smyslu souhlasné, pokud využívají Formátu patřícího k stejnému metaatributu FML V současné době je v rámci projektu SEWEBAR vyvíjen nový koncept propojování atributů, kategorií, případně i hodnot datových atributů. Zatím nebyly publikovány výsledky tohoto výzkumu, takže v této kapitole vycházíme z předběžných informací, uveřejněných v [6]. Tento přístup by měl využívat takzvaného FML (Field Mapping Language) jazyka. Namísto Metaatributů a formátů, které jsou používány v BKEF je nabídnuto nové řešení, využívající takzvaných Metapolí (Metafield). Každá z instancí Metapole představuje pár Metaatribut Formát známý z BKEF. Metapole může mít více diskretizací. Pod diskretizací si představme seskupení základních hodnot (hodnot datového atributu) do nadskupin. Tyto nadskupiny se označují Metafield Binned Content. Příklad: Může být vytvořeno Metapole Oblast. Pro toto pole zavedeme tři diskretizace Regiony, Kraje a Okresy. Každá z těchto diskretizací je Metafield Binned Content. Ke každé z diskretizací jsou přidány hodnoty, kterých může diskretizace nabývat. U regionů to budou Západní Čechy, Jižní 42 Takový přístup navrhneme v kapitole Navrhovaný koncept 77

82 Čechy, Jižní Morava,... u Okresů to bude Sokolovský, Karlovarský, atd. Pro každou takovouto hodnotu jsou následně přidány hodnoty z původní datové matice, které pod ní spadají, tyto hodnoty jsou označovány jako Metafield Raw Content. V našem případě by např. k okresu Karlovarský byla přidávána města Karlovy Vary, Ostrov, Bochov... Vyvíjí se metoda, která umožní poloautomatické mapování na různých úrovních - Metafield Row Content, Metafield Binned Content, nebo i celých Metapolí. Výsledkem tohoto mapování by měl být FML dokument, pomocí nějž by mělo být možno rozhodnout, zda např. literály Region(Západní Čechy) a Okres(Karlovarský, Sokolovský,Chebský, Plzeň Město) jsou souhlasné. Částečně automatizované by mělo být také napojování literálů z výsledku data miningu na metapole. Jak již bylo řečeno, zatím není dostupno příliš informací o výsledcích a možnostech tohoto přístupu. V rámci následující kapitoly si navrhneme vlastní způsob, který bude spoléhat spíše na ruční mapování jednotlivých formátů, ale budeme na něm schopni demonstrovat potřeby a problémy při řešení globálních analytických otázek. Lze očekávat, že přístup využívající Metapole a FML transformace bude propracovanější a ve skrze výhodnější Navrhovaný koncept V námi navrženém konceptu budeme vycházet z přístupu BKEF i z dostupných informací o FML. Budeme požívat některé již známé termíny, jako Metaatribut či Formát (mohou však mít trochu odlišný význam) a zavedeme i několik nových Základní formát metaatributu a bazická jednotka. V této kapitole ponecháme stranou (závažný) problém, jak propojit literály obsažené v nalezených závislostech s již existujícím odpovídajícím formátem. Řešení tohoto problému by mělo být výsledkem výzkumu popsaného v předcházející kapitole Metaatribut: Metaatribut v našem konceptu zastřešuje atributy, vytvořené nad sémanticky shodnými datovými sloupci. Pokud budou nad různými maticemi vytvořeny například atributy: Height_5inch - atribut vyjadřující výšku, jehož kategorie jsou vytvořeny jako intervaly délky 5, přičemž hodnoty datového atributu (sloupce) jsou v palcích Vyska_10 - (atribut vyjadřující výšku, jehož kategorie jsou vytvořeny jako intervaly délky 10, přičemž hodnoty datového atributu jsou v centimetrech) Pak oba tyto atributy by měly být zařazeny pod jeden metaatribut, pojmenovaný například Výška. Každému takovému atributu bude přiřazen jeden Formát. 78

83 Formát atributu: Popisuje jméno atributu, kategorie které se mohou vyskytnout jako jeho hodnoty a hodnoty datového atributu, jejichž sloučením jsou tyto kategorie vytvořeny. Má-li to smysl (hlavně u numerických atributů), bude součástí Formátu také jednotka, ve které jsou hodnoty datového atributu vyjádřeny 43. Základní formát metaatributu: Vyjadřuje základní formát, na který se budeme snažit navázat formáty atributů. U numerických metaatributů (metaatributy, jejichž hodnoty budou obvykle racionální čísla) jako je Výška lze předpokládat, že bude možné základní formát vytvořit. U ostatních metaatributů to možné být nemusí. Například datový atribut popisující vzdělání může mít pro datové matice z různých zemí rozdílné hodnoty v závislosti na tom, jaký je v těchto zemích systém školství. Nemusíme tak být schopni určit jakousi výchozí stupnici. U základního formátu metaatributů by měla být uvedena bazická jednotka, ve které jsou hodnoty vyjádřeny (např. centimetry u Výšky). Přestože by mohlo mít význam u základního formátu uvádět i kategorizaci (jakési základní kategorie či dokonce diskretizace po vzoru FML), my s touto možností pracovat nebudeme. Základní formát nám bude sloužit pouze k napojení hodnot datových atributů z jiných formátů. Pokud to bude možné, mělo by být provedeno namapování každého formátu na základní formát metaatributu a to na úrovni hodnot datového atributu (hodnot vyskytujících se v originální matici). Toto je lehce proveditelné pro numerické datové atributy, lze počítat i s možností automatizace či semiautomatizace 44. Může se také stát, že v některém datovém atributu, který je sémanticky shodný s numerickým metaatributem nebudou hodnoty numerické. Např. v některé datové matici by mohl datový atribut Vyska nabývat hodnoty malý/průměrný/vysoký. I v takovém případě bychom měli provést mapování těchto hodnot na základní formát metaatributu Výška, jinak by totiž nebylo možné porovnávat pravidla obsahující tento atribut s pravidly, které mají numerické vyjádření výšky. Mapování by mohlo být provedeno např. tak, že hodnota malý bude vyjádřena intervalem <0,150) v bazické jednotce (cm) metaatributu Výška, podobně bychom se vypořádali s hodnotami průměrný a vysoký. Toto mapování nepůjde automatizovat a používají se pro něj subjektivní předpoklady. Mapování by mělo být provedeno i mezi formáty atributů, které nelze namapovat přes základní 43 Např. cm, kg, inch 44 Pokud by u numerického metaatributu Výška byla bazická jednotka centimetr a měli bychom strukturovanou informaci o tom, že jednotka datového sloupce Height, ze kterého byl vytvořen atribut Height_5inch je v palcích, mohli bychom pomocí převodní tabulky automaticky namapovat hodnoty Height na hodnoty Výška a kategorie atributu Height_5inch převést na intervaly v cm. 79

84 formát metaatributu. Toto mapování mezi formáty můžeme uvažovat jak na úrovni hodnot datových atributů, tak i na úrovni kategorií (podobně jako v jazyku FML). O problémech různých způsobů mapování bude pojednáno dále v textu. Takto provedená mapování by měla být uložena v nějaké samostatné znalostní bázi (která může mít podobu databáze, XML souborů, nebo jinou), oddělené od samotných závislostí. Tuto bázi budeme označovat mapovací báze. Využití navrhovaného přístupu pro hledání podobných pravidel V kapitole Vyhledávání v závislostech SEWEBAR byly představeny tři přístupy pro vyhledávání v pravidlech, které jsou v současné době vyvíjeny a testovány v rámci projektu SEWEBAR. Vyhledávání pomocí XQuery nám přišlo nadějné pro implementaci v práci navrhovaných úrovní podobnosti, proto představíme některé změny, které by mohly být provedeny v tomto vyhledávání a které souvisí s textem v této kapitole. Vyhledávání pomocí XQuery v současnosti funguje nad neupravenými PMML soubory, které jsou uloženy v databázovém systému. V námi navrhovaném řešení je mnoho informací obsažených v PMML souboru pro vyhledávání podobných pravidel zbytečných (čtyřpolní tabulky a další), jiné by měly být uchovány separátně v mapovací bázi (informace o tom, jak jsou vytvořeny kategorie a jakých hodnot mohou nabývat datové atributy). Pro vyhledávání pravidel potřebujeme mít v bázi v podstatě pouze pravidla a několik dalších informací: Identifikace datové matice / báze znalostí identifikátor určující nad jakým datovým souborem byla závislost nalezena, resp. ve které bázi znalostí se znalost vyskytuje (viz kapitola Znalosti o vztazích mezi atributy) Identifikátor PMML souboru odkaz na PMML soubor (výsledek dataminingu), při kterém byla závislost objevena V bázi chceme mít pouze pravidla, nikoli celý DataDictionary (informace o atributech a jejich kategoriích) jako v PMML souboru. U každého literálu budeme potřebovat: Identifikátor metaatributu Identifikátor formátu Hodnoty literálu vyjádřené v kategoriích formátu Hodnoty literálu vyjádřené v základním formátu metaatributu (pokud jsou) 80

85 Při vyhodnocování podobnosti první nebo druhé úrovně nás nezajímají hodnoty literálů, ale pouze to, zda jsou literály vytvořeny nad sémanticky shodnými datovými atributy. Pokud jsou literály nad sémanticky shodnými datovými atributy, budou obsahovat stejný identifikátor metaatributu. Pro řešení těchto úrovní podobnosti nemusíme tedy používat porovnávání formátů. Při řešení podobnosti na jiných úrovních nebo při hledání protichůdných závislostí musíme porovnávat i hodnoty literálů. Pokud mají oba literály hodnoty vyjádřené v základním formátu metaatributu, můžeme porovnání provést rovnou. Pokud používají literály stejný formát (mají stejný identifikátor formátu), je možné také jejich okamžité porovnání. Pokud neplatí žádná z předchozích možností, je potřeba porovnání provést v kontextu formátů literálů. Toto porovnání by bylo možné provést zavoláním procedury 45, které by se předaly literály, jejich formáty, hodnoty a definice souhlasnosti a kategoriální ekvivalence. Procedura by zjistila provázání formátů a vrátila rozhodnutí, zda lze dané literály při tomto nastavení považovat za souhlasné nebo nikoli, či zda nebylo možné provést mapování. Používání takovéto funkce by již zřejmě překročilo možnosti standardní XQuery a vyžadovalo by vytvoření externí funkce 46. Souhlasnost V kapitole Souhlasnost, kategoriální ekvivalence jsme zavedli pojem souhlasnost a navrhli několik jejích druhů. Nyní se podíváme, jak souhlasnost souvisí s formáty a transformacemi mezi nimi. Pokud máme více formátů pro jeden metaatribut, potřebujeme je vzájemně provázat, aby bylo možné porovnávat pravidla obsahující literály využívající tyto formáty. Toto provázání můžeme provést na dvou úrovních: Na úrovni datových atributů, přičemž budeme na sebe mapovat hodnoty ve zdrojové datové matici. Na úrovni atributů, kde na sebe budeme mapovat jednotlivé kategorie. V tabulce tab. 5 jsou příklady nominálních atributů, vytvořených nad různými datovými maticemi. Na těchto příkladech si demonstrujeme možná řešení provázání formátů a jejich problémy. 45 Mluvíme zde o proceduře, ale konkrétní realizace se může lišit dle nástroje. 46 XQuery umožňuje použití externích funkcí, viz. [ 81

86 Datová matice Datový atribut (hodnoty) Atribut (Kategorie) DM1 Kraj (Karlovarský,Plzeňský,...) Kraj(Karlovarský,Plzeňský,...) DM2 Mesto (Karlovy Vary, Ostrov,...) Kraj (Karlovarský,Plzeňský,...) DM3 Mesto (Karlovy Vary, Ostrov,...) Město (Karlovy Vary, Ostrov,...) DM4 Mesto (Karlovy Vary, Ostrov,...) Okres(Sokolovský, Karlovarský,...) tab. 5: Příklad Při určování provázání formátů z DM1 a DM2 může Data Miner zvolit provázání na úrovni kategorií atributů. Literál Kraj(Karlovarský) z DM1 pak bude souhlasný s literálem Kraj(Karlovarský) z DM2 pro všechny definice souhlasnosti, literál Kraj(Karlovarský,Plzeňský) bude souhlasný s literálem Kraj(Karlovarský) při definici souhlasnosti Průnik, nebo Podmnožina. Při provázání literálů z DM1 a DM4 můžeme opět použít provázání na úrovni atributů, tentokrát bychom např. pro kategorii Karlovarský z atributu Region určili, že se skládá z kategorií Karlovarský, Chebský, Sokolovský z atributu Okres. Literál Kraj(Karlovarský) by byl absolutně souhlasný s literálem Okres(Karlovarský,Sokolovský,Chebský), souhlasný jako podmnožina nebo průnik s literálem Okres(Karlovarský). Při provázání DM2 a DM4 je možné použít stejné provázání na úrovni atributů jako v případě DM1,DM3. Druhou možností je provázat jednotlivé hodnoty Datových atributů a při určování souhlasnosti literálů Kraj(Karlovarský) a Okres(Karlovarský) převést kategorie na hodnoty datového atributu (jednotlivá města). Při použití tohoto přístupu si musíme uvědomit, že města, která jsou hodnotami datového atributu, většinou nebudou odpovídat všem městům, která patří do daného regionu, ale jen těm, ke kterým jsou v datových maticích nějaká data. Může se tak stát, že výsledkem převodu literálu Okres(Karlovarský) na města bude jediné město Karlovy Vary a při převodu literálu Kraj(Karlovarský) bude výsledkem také jediné město Plzeň. Tyto literály by potom nebyly souhlasné při žádné definici souhlasnosti. Stejně tak by mohla nastat situace, kdy např, Okres(Pardubice) bude absolutně souhlasný s Kraj(Pardubický). Způsob provázání formátů tedy může mít vliv na výsledky globálních analýz. Dalo by se také uvažovat o použití základního formátu metaatributu. Zde bychom vycházeli z toho, že bazickou jednotkou metaatributu Město by bylo město, hodnotami základního formátu by byla všechna města. Pro převod různých atributů do základního formátu by se mohly používat převodní tabulky, ve kterých by byly pro každý region okresy, které do něj patří a pro každý okres města, která do něj patří. Při převodu literálů do základního formátu by se např. literál Okres(Karlovarský) převedl na literál Město(Karlovy Vary,Aš, Kolová,...). 82

87 Zřejmou nevýhodou tohoto přístupu je, že by výrazně přibylo hodnot literálu. Otevřenou otázkou také je, zda chceme literály Kraj(Karlovarský) a Okres(Karlovarský,Sokolovský,Chebský) považovat za souhlasné, když jeden z nich je vytvořen nad městy Ostrov, Chodov, Mariánské Lázně a druhý nad městy Karlovy Vary a Cheb. V našem přístupu ponecháváme rozhodnutí, zda provést provázání na úrovni hodnot datových atributů nebo na úrovni kategorií na analytikovi. V obou případech je nutné počítat s tím, že jedné kategorii / hodnotě datového atributu (HDA) ve Formátu1 může odpovídat více kategorií/hda ve Formátu2. Nastat mohou i případy, kdy nebudeme schopni pro kategorii/hda z Formátu 1 určit odpovídající kategorii/hda ve Formátu2. Například analytik může stanovit, že kategorie Karlovarský atributu Region je ekvivalentní třem kategoriím Karlovarský,Sokolovský, Chebský atributu Okres. Zavedeme dva nové pojmy: vyjádřený a plně vyjádřený. Množina kategorií K1 z atributu A1 je plně vyjádřena v množině kategorií K2 z atributu A2, jestliže pro každou kategorii z K1 množina kategorií K2 obsahuje všechny kategorie s ní ekvivalentní. Množina kategorií K1 z atributu A1 je vyjádřena v množině kategorií K2 z atributu A2, jestliže alespoň pro jednu kategorii z K1 množina kategorií K2 obsahuje kategorii s ní ekvivalentní. Region(Karlovarský) by tedy byl plně vyjádřen v Okres(Karlovarský, Sokolovský, Chebský), ale pouze vyjádřen v Okres(Sokolovský). Okres(Karlovarský) by byl plně vyjádřen v Region(Karlovarský). Různé definice souhlasnosti je nyní možné zadefinovat následovně: Absolutní shoda: Literály L1(ω1) a L2(ω2) je možné považovat za souhlasné, pokud ω1 je plně vyjádřena v ω2 a zároveň ω2 je plně vyjádřena v ω1. Jednostranná podmnožina: Literály L1(ω1) a L2(ω2) je možné považovat za souhlasné, pokud ω2 je plně vyjádřena v ω1 Průnik: Literály L1(ω1) a L2(ω2) je možné považovat za souhlasné, pokud ω1 je vyjádřena v ω2. Pokud budou Formáty provázány na úrovni hodnot datových atributů, může se postupovat stejně, tedy opět zavést pojmy vyjádřený a plně vyjádřený, které se tentokrát nebudou vztahovat k množinám kategorií, ale množinám datových hodnot. Při porovnání literálů bude vždy potřeba jejich hodnoty (kategorie) převést na hodnoty datových atributů. V případě, že nejsme schopni některou z hodnot jednoho formátu provázat s žádnou hodnotou 83

88 druhého formátu, je nutno počítat s tím, že neplatí vztah L( ω ) = L2( э) <=> L( 'ω ) = L2('э) ani pro definici souhlasnosti jako absolutní shody, včetně všech důsledků z toho plynoucích (viz kapitola Negace a souhlasnost. Všechny informace o provázání formátů, jejich příslušnosti k metaatributům atd. by měly být součástí mapovací báze. Transformace PMML souborů do báze pro vyhledávání Pokud uvažujeme o tom, že vyhledávání v objevených závislostech realizujeme v samostatné bázi (jak bylo popsáno dříve v této kapitole), můžeme při transformaci pravidel do této báze provést úpravy, které nám vyhledávání usnadní. Jedná se zejména o: Převod antecedentů i succedentů závislostí do konjunktivní normálové formy. Při definování úrovní podobnosti i protichůdnosti jsme předpokládali, že závislosti (resp. jejich antecedent i succedent) jsou v konjunktivní normálové formě (KNF). Tento předpoklad nemusí být vždy splněn, neboť PMML XML formát umožňuje vyjádření závislostí i v jiných formách. Každý logický výrok lze převést do KNF, tento převod je ovšem NP-úplný problém tedy může být časově náročný. Vzhledem k tomu, že závislosti nebývají složeny z desítek literálů, lze očekávat že jsme schopni provést převod v rozumném čase, bylo by však nevhodné provádět jej při každém vyhledávání. Lepším řešením se zdá být provést převod při přenášení závislosti z PMML Reportu do báze pro vyhledávání. Vyhledávání nad závislostmi v KNF by navíc mělo být dle našeho názoru rychlejší. Zbavení se negací základních booleovských atributů. Jsme schopni zbavit se literálů, které mají podobu negace základního booleovského atributu tím, že tyto literály převedeme na základní booleovské atributy s inverzními hodnotami. Literál not(atribut(ω)) můžeme nahradit literálem Atribut(Ш / ω), kde Ш je množina všech kategorií, kterých může atribut nabývat a tedy výraz Ш / ω reprezentuje všechny kategorie, kterých může Atribut nabývat bez kategorií ω. Je však potřeba brát zřetel na to, že pro některé definice souhlasnosti či kategoriální ekvivalence (a také pro některá provázání formátů) se může výsledek lišit, pokud porovnáváme základní booleovský atribut, nebo jeho negaci s inverzními hodnotami (viz. kapitola Negace a souhlasnost). Přidání informací o Metaatributech a Formátech k literálům. Přidání informací o zdrojovém 84

89 PMML souboru k pravidlu, případně také vyjádření hodnot literálu v základním formátu Metaatributu (viz. předchozí text). Přidán by měl být k pravidlu také identifikátor matice, nad kterou bylo pravidlo nalezeno. Při převodu můžeme vynechat pro vyhledávání nepodstatné informace, jako transformační slovník (bude realizován pomocí Metaatributů, Formátů a příslušné převodní báze), popis polí datové matice a další. Pokud se budeme dívat na řešení globálních analytických otázek jako na proces dataminingu, tak přiřazování atributů k metaatributům, definování vztahů mezi formáty a transformace pravidel do báze pro vyhledávání by byly součástí fáze Příprava Dat v metodologii CRISP-DM (viz. kapitola 1 - Metodika CRISP-DM). 5.2 Znalosti o datových maticích Nejsme si vědomi žádné práce, která by se zabývala znalostmi o datových maticích. Pro některé globální analytické otázky však tyto znalosti mohou být klíčové. Uvažujme následující situaci: Bankovní ústav má v České Republice mnoho poboček. Z bezpečnostních důvodů není možné řešit lokální analytické otázky nad všemi daty, otázky je možné pouze zaslat na příslušnou pobočku a tam jsou zpracovány. Existuje tedy mnoho datových matic, nad nimiž byly zpracovány různé lokální analytické otázky a zjištěny závislosti. Doménový expert (bankovní analytik) má následující znalost: Hypotéky ve výši 2-3 mil poskytnuté ve Středních Čechách osobám ve věku let s průměrným výdělkem vyšším než Kč bývají dobré. Tuto znalost chce analytik ověřit nad výsledky data miningu. Aby mohl efektivně vyřešit tuto analytickou otázku, potřebuje být schopen určit, které z poboček (resp. datových matic) patří do regionu Střední Čechy. Na stejný problém narazí, pokud bude chtít ověřit nějakou znalost o pobočkách v malých městech apod. Vyvstává tedy potřeba uchovávat a strukturovat informace o samotných datových maticích, případně zdrojích, ze kterých data pocházejí. Jeden druh znalostí o datových maticích by měl umožňovat jejich hierarchizaci (např. určit, že datová matice pochází z pobočky T.G.Masaryka K.Vary, tato pobočka je umístěna v městě Karlovy Vary, Karlovy Vary patří do okresu Karlovy Vary a tento okres je součástí regionu Západní Čechy). Druhý typ znalostí by měl popisovat vlastnosti datových matic, 85

90 přičemž by byl vázán přímo k datové matici nebo k nějakému prvku hierarchie 47. Znalosti o datových maticích je možno využít k určení platnosti znalostí týkajících se vztahů mezi atributy (viz kapitola Znalosti o vztazích mezi atributy) nebo k specifikování datových matic nad kterými má být řešena GAQ. V rámci této kapitoly připomeňme problém současného data miningu s identifikací datové matice, nad kterou byla zpracovávaná lokální analytická otázka. Tato identifikace je nyní možná pouze pomocí názvu zdrojové datové tabulky 48. Lepším řešením by bylo do PMML souboru zahrnout identifikátor matice, který by byl jedinečný. Uvažovat lze například nad hash hodnotou datového souboru zcela správným řešením by však bylo každou novou matici zaregistrovat v centrálním systému, kde by jí byl přidán jednoznačný identifikátor. Tento identifikátor by byl následně zadán do dataminingového nástroje s pomocí kterého se řeší nad danou maticí lokální analytické úlohy. Při publikování výsledku dataminingu do centrálního systému by byl potom v PMML XML souboru s výsledky úlohy uveden i tento identifikátor. Další znalosti o datových maticích, které bychom chtěli uchovávat, se týkají jejich sloupců. Pokud bychom měli u datové matice seznam všech jejích sloupců, u každého sloupce informaci o metaatributu ke kterému se vztahuje, informaci o měrné jednotce ve které jsou vyjádřeny jeho hodnoty (numerické sloupce), případně hodnoty kterých může nabývat (binární, nominální a ordinální sloupce) a u ordinálních sloupců i způsob řazení těchto hodnot, mohli bychom těchto informací využít pro navázání výsledků data miningu (literálů z těchto výsledků) na již existující formáty. 5.3 Znalosti o vztazích mezi atributy Dalším důležitým druhem doménových znalostí jsou znalosti o vzájemném vztahu atributů závislostech. Tyto znalosti se dají využít k filtraci výsledků lokální analýzy (objevené závislosti plynoucí z nějaké známé závislosti nejsou pro doménového experta zajímavé), pro nalezení datových matic, nad kterými daná znalost neplatí (což může být podnětem pro výzkum, v čem se tato datová matice liší) apod. Příkladem takovéto znalosti může být: 47 Pokud by např. každý rok vznikala nová datová matice, pak údaj o tomto roku by byl vázaný přímo k datové matici. Informaci o tom, zda je pobočka (datová matice) v malém/středním/velkém městě by mělo být možno odvodit z hierarchie regionálního uspořádání a údaje o velikosti města, který může být napojen přímo na jednotlivé prvky úrovně město v hierarchii. 48 V PMML XML souboru je v elementu <header> přítomen element <extension> s atributem name= dataset a atributem value obsahuj9c9 n8zev datov0 matice. 86

91 Hypotéky ve výši 2-3 mil poskytnuté ve Středních Čechách osobám ve věku let s průměrným výdělkem větším než Kč bývají dobré. Výzkum týkající se uchovávání a využití tohoto typu BK už nějaký čas probíhá Lisp-Miner Knowledge Base Lisp-Miner Knowledge Base (LMKB) představuje první pokus o uchovávání znalostí o vztazích mezi atributy, který byl vyvinut pro software Lisp-Miner (jehož součástí je 4ft-Miner). Informace v této kapitole pochází hlavně z prací [13], [1] a [6]. Z LMKB byl vyvinut formát BKEF který slouží pro sdílení těchto znalostí. Část tohoto formátu, vztahující se k metaatributům byla již popsána v kapitole BKEF. Budeme-li v této části práce mluvit o atributech, bude se jednat o metaatributy popsané v odkazované kapitole. Na obrázku obr. 6 je vidět způsob zachycení influencí 49 mezi atributy v LMKB. Celkem existuje devět typů influencí. Jejich detailní popis lze nalézt v [13]. Uvedeme jen příklady demonstrující formu, v jaké jsou tyto znalosti uchovávány. Pokud se zvýší hodnota atributu uvedeného v řádce, zvýší se také hodnota atributu uvedeného ve sloupci. Atributy v řádce i ve sloupci jsou ordinální nebo numerické. + Pokud se zvýší hodnota atributu v řádce, zvýší se relativní frekvence objektů, jejichž sloupcový atribut nabývá hodnoty pravda. Atributy v řádce jsou ordinální nebo numerické, atributy ve sloupci jsou binární. F existuje silná závislost mezi atributy, kterou by bylo možné vyjádřit případně i jako funkci. (Na obrázku je tento typ influence mezi atributy BMI a Obesity, přičemž kategorie atributu Obesity jsou nadefinovány pomocí hodnot atributu BMI.) 49 Používáme termín influence, aby nedocházelo k záměně s termínem závislost používaným v této práci pro pravidla, která jsou nalezena v průběhu data miningu. 87

92 obr. 6: Vzájemné závislosti metaatributů. Převzato z [_BN_SWB.pdf] Původní způsob užití těchto influencí byl v automatizované tvorbě lokálních analytických otázek. V [14] byl představen způsob, jak influence použít k odfiltrování nezajímavých (známých) závislostí z výsledku data miningu. Tato možnost se v současné době implementuje do 4ft Mineru BKEF editor Na Lisp-Miner Knowledge Base (LMKB) navazuje nově vyvíjená aplikace BKEF Editor [1]. BKEF Editor je webová aplikace vyvíjená v rámci projektu SEWEBAR, založená na CMS Joomla!. Tato aplikace slouží k zobrazování a tvorbě dat v BKEF formátu. Umožňuje tvorbu Metaatributů a Formátů popsaných v kapitole BKEF, i zadávání influencí mezi atributy popsané v předchozí kapitole V době vydání [1] (začátek roku 2010) nebylo implementováno propojení formátů a datových matic. Na obrázku obr. 7 je vidět obrazovka BKEF editoru pro zadávání vztahů mezi atributy. Jak je vidět, u vztahů je možné zadávat hodnoty atributů, kterých se vztah týká. Tyto hodnoty je však potřeba zadávat zvlášť pro každý formát (nejsou realizovány převody hodnot mezi formáty). 88

93 obr. 7: BKEF Editor obrazovka pro tvorbu závislostí mezi metaatributy Převzato z [bkef-znalosti.pdf] Navrhovaný přístup V této kapitole navrhneme alternativu k popsanému přístupu vyjádření znalostí pomocí formátu BKEF. Vycházíme z toho, že znalosti doménových expertů mají často podobu pravidel a tedy je možné je jako pravidla vyjádřit. Například znalost: Hypotéky ve výši 2-3 mil poskytnuté ve Středních Čechách osobám ve věku let s průměrným výdělkem vyšším než Kč bývají dobré. můžeme vyjádřit jako 50 Hypotéka(< , >) Region( Střední Čechy) => Úvěr(dobrý) Věk(<30,45>) Příjem( >= <30000,35000)) 50 Nyní uvažujeme situaci, kdy data ze všech poboček banky jsou v jedné datové matici a data za jednotlivé pobočky jsou odlišena pomocí sloupce Pobočka. 89

94 Takto vyjádřené znalosti můžeme udržovat v samostatné bázi a pracovat s nimi stejně, jako se závislostmi 51. Tyto znalosti můžeme také použít k řešení globálních analytických otázek, např. můžeme zjišťovat, které z objevených závislostí jsou odvozeny ze znalostí (pomocí čtvrté úrovně podobnosti). Zadávání znalostí do systému Pro zadávání znalostí do systému bude vhodné vytvořit editor. Při vkládání literálů v editoru by měl uživatel postupovat následovně: 1. Vybrat požadovaný Základní Metaatribut pro výběr základního metaatributu je možné využít stromové struktury dané skupinovými metaatributy viz kapitola BKEF. 2. Vybrat některý z formátů Metaatributu pokud má metaatribut základní formát (viz. kapitola Navrhovaný koncept), měl by být vybrán tento. Uživateli by mělo být také umožněno tvořit vlastní formáty, které by se využily jen pro tento typ znalostí. Při vytvoření nového formátu bude potřeba vytvořit napojení na již existující formáty metaatributu. 3. Zvolit hodnoty literálu u nominálních atributů výčtem z kategorií zvoleného formátu, u numerického atributu jako výčet kategorií nebo jako interval. Dále bude mít uživatel k dispozici logické spojky ( a závorky), pomocí nichž by mohl sestavit pravidlo mající více literálů v antecedentu i succedentu 52. Zadavatel by pomocí popsaného postupu měl mít možnost vytvořit antecedent, succedent i omezující podmínku. 4. Omezit platnost znalosti (je-li potřeba) zatímco některé znalosti mohou být obecně platné, jiné se mohou vztahovat jen k některým datovým maticím. Například uváděná znalost Hypotéky ve výši 2-3 mil poskytnuté ve Středních Čechách osobám ve věku let s průměrným výdělkem vyšším než Kč bývají dobré. By se vztahovala jen k datovým maticím pocházejícím z poboček ve Středních Čechách 53. Zadavatel znalosti by potom ze znalostní báze vztahující se k maticím (viz kapitola Znalosti o datových maticích) vybral Střední Čechy. Znalost by mohla být zapsána následovně: Střední Čechy Hypotéka(< , >) Příjem( >= <30000,35000)) => Úvěr(dobrý) Věk(<30,45>) 51 S tím rozdílem, že u znalostí nebude mít význam pracovat s konfidencí ani s jinými parametry 4-ft kvantifikátorů. 52 Zdá se však vhodné omezit uživatele tak, aby jím zadané znalosti byly v konjunktivní normálové formě. Měl by proto spíše dostat možnost vkládat pouze klauzule, do kterých bude moci umístit jeden nebo více literálů, mezi klauzulemi bude logická spojka AND. 53 Nyní uvažujeme situaci, kdy každá pobočka má vlastní datovou matici a tedy v datech není žádný sloupec Pobočka. 90

95 Tato znalost by se potom použila jen při hledání odvozených závislostí v některé z datových matic, spadajících do Jižních Čech. 91

96 6 Globální analytické reporty Při řešení lokálních analytických otázek je potřeba výsledky data miningu zveřejňovat a kompletovat do lokálních analytických zpráv. Stejně tak se dá očekávat, že analytik bude chtít zveřejnit výsledky globální analýzy a případně také vytvářet souhrnné zprávy o svém bádání. Předpokládáme tedy, že stejně jako u lokálních analytických reportů bude vhodné vytvořit formalizovanou strukturu, do které budou vloženy informace o prováděném výzkumu a jeho výsledcích. Tuto strukturu bude možné uložit v centrálním systému a zobrazit ji v lidsky čitelné podobě, stejně jako u PMML reportů. Budeme mluvit o automaticky generovaných globálních reportech, zkráceně AGGAR (Automatic Generated Global Analytical Report). Druhým typem GARs budou souhrnné zprávy vytvářené analytikem, obsahující nestrukturované informace v podobě závěrů, komentářů a názorů analytika, ale také strukturované informace, které bude moci analytik vložit do reportu z AGGAR podobně jako u lokálních analytických reportů 54. V tomto případě budeme mluvit o pravých globálních analytických reportech RGAR (Real Global Analytical Reports). V této kapitole navrhneme XML strukturu pro AGGAR (XMLGAR). Při navrhování této struktury budeme vycházet z typu globálních analytických otázek, které jsme řešili v rámci kapitoly 4 - Globální analytické otázky. Je tedy pravděpodobné, že tato struktura bude muset být modifikována, aby byla schopna vhodně zachytit i jiné typy analytických otázek. Požadavky na strukturu budou popsány v kapitole 6.1, návrh XML elementů pro tuto strukturu následně v kapitole Požadavky na strukturu pro uchovávání výsledků GAQ V této kapitole je uveden popis, jaké informace by měl AGGAR obsahovat, aby byl dostatečně přehledný a současně mohl sloužit jako zdroj pro tvorbu RGAR. Metainformace Součástí AGGAR by měly být informace o tom, kdo analýzu prováděl, kdy byla prováděna, jakým nástrojem byla prováděna, popis úlohy a další. Zdroje Při řešení GAQ analytik hledá pravidla, která jsou podobná nějakému pravidlu α, hledá odvozená pravidla ze znalosti β, atd. Pravidlo α potom může být reálně existující pravidlo, nebo dočasné pravidlo, které si analytik vytvoří pomocí nástroje podobného nástroji popisovaném v kapitole 54 Předpokládá se rozšíření funkčnosti komponenty ginclude. 92

97 Navrhovaný přístup. Tato pravidla/znalosti by měly být uvedeny ve zdrojích. Oblast výzkumu (scope) Při řešení GAQ analytik musí zvolit, pro jaké matice či báze znalostí se bude provádět výzkum. To může zadat buď tím, že specifikuje konkrétní matice nebo (pokud je implementováno) může použít hierarchie matic, či jejich vlastnosti (viz kapitola Znalosti o datových maticích). V XMLGAR by měly být vyjmenovány ty matice / báze znalostí, které se prohledávají (nad kterými se hledají podobná pravidla). Informace o prohledávaných maticích může být uvedena tak, jak jí zadal analytik (tedy např. jako matice Středočeského regionu), ale měly by být vyjmenovány i jednotlivé matice. Matice, které spadají pod daný prvek hierarchie se totiž mohou v průběhu času měnit. Příjemce reportu by měl mít možnost zjistit, nad kterými maticemi či bázemi byla analýza skutečně prováděna. Otázky GAQ je řešena pomocí jedné nebe více otázek na podobnost pravidel či závislostí. Tyto otázky by měly být součástí XMLGAR, včetně nastavení (souhlasnost, kategoriální ekvivalence, minimální shoda...), které bylo použito u jednotlivých úrovní podobnosti Výsledky Výsledky GAQ mají obvykle podobu množiny pravidel/závislostí, případně kvalifikovaného výroku odvozeného z této množiny. Pokud například zjišťujeme, zda lze nějakou závislost odvodit z báze znalostí (viz GAQ 1) je výsledkem množina znalostí, z nichž lze závislost odvodit a množina znalostí, z nichž lze závislost odvodit protichůdně. Pokud jsou obě tyto množiny prázdné, může být výsledkem výrok Závislost nelze odvodit ze znalostí, pokud obě množiny obsahují znalosti, pak výsledkem může být výrok Nelze automaticky rozhodnout a podobně. Výsledky v XMLGAR by měly obsahovat uvedené množiny závislostí/znalostí, mělo by být také umožněno softwaru, který provádí analýzu, zapisovat výroky. U složitějších GAQ se předpokládá, že kvalifikované výroky učiní analytik a zapíše je do RGAR (podkladem mu budou výsledky dotazů ve formě AGGAR). Otevřenou otázkou je, v jakém detailu by měly být obsaženy v XMLGAR jednotlivé závislosti. U každé závislosti (znalosti) by určitě měla být informace o tom, ze které datové matice (báze znalostí), případně i z kterého LAR (resp. XML souboru, z nějž je report vygenerován) pochází. Určitě by měla být součástí XMLGAR lidsky čitelná podoba závislosti a hodnoty významných kvantifikátorů. 93

98 6.2 XMLGAR V této kapitole navrhneme XML strukturu pro zaznamenání výsledků globální analýzy. Předpokládáme, že k této struktuře je možné vytvořit XSLT transformaci, díky níž bude možné zobrazit výsledky této globální analýzy v podobě automaticky vygenerovaného globálního analytického reportu (AGGAR) Vyjádření pravidel a znalostí Nejprve navrhneme způsob, jakým v XMLGAR zaznamenávat znalosti a závislosti. U závislostí, které jsou výsledkem globálních analytických otázek potřebujeme zaznamenat následující: Z jaké datové matice závislost pochází V jakém PMML Reportu byla závislost objevena Identifikátor závislosti v rámci PMML Reportu (Pro možnost přesné identifikace závislosti) Popis závislosti ve formě, kterou budeme moci zobrazit uživateli. Příklad možného vyjádření závislosti v XML dokumentu: <Rule id="id_pravidla"> <DataMatrixRef>Data_Matrix_id</DataMetrixRef> <PMMLref>PMML_File_id</PMMLref> <RuleRef>Rule_PMML_id</RuleRef> <text>věk(<= <30;35))&Pohlaví(žena):::Systolický tlak(normální)</text> <IMValue name="conf">0.93</imvalue> </Rule> Potřeba identifikátoru datových matic byla zmíněna v kapitole Znalosti o datových maticích. V současné době může být datová matice identifikována pouze svým názvem. Identifikovat PMML soubory je již v rámci CMS možné mají jednoznačný identifikátor. Nejsme si vědomi, že by pravidla v rámci PMML souboru měla nějaký jednoznačný identifikátor, dají se však jednoznačně určit např. pomocí elementu <text>. Vhodnější by však podle našeho názoru bylo rozšířit element <AssociationRule> v PMML souborech o atribut id. Hodnota elementu <text> obsahuje pravidlo v lidsky čitelné formě. Tento element se vyskytuje i u pravidel v PMML XML. V našem příkladě se jedná o pravidlo: Věk( <= <30,35)) Pohlaví(žena) => Systolický tlak(normální) Pomocí elementů <IMValue> lze zaznamenat významné hodnoty 4-ft kvantifikátorů, tyto elementy jsou také součástí PMML XML. Atribut id elementu <Rule> slouží k jednoznačné identifikaci závislosti v rámci XMLGAR dokumentu. 94

99 Podobně jako závislosti můžeme vyjádřit znalosti 55. U nich budeme chtít zaznamenat minimálně: Z jaké báze znalostí pochází. Pokud by se v systému pracovalo pouze s jednou bází znalostí, tato informace by byla zbytečná Identifikátor znalosti v rámci báze znalostí Popis znalosti ve formě, kterou budeme moci zobrazit uživateli. Rozsah platnosti znalosti. V kapitole Znalosti o vztazích mezi atributy, jsme psali o vhodnosti mít možnost omezit platnost znalostí na vybrané datové matice. Toto omezení by mělo být také součástí zaznamenaných informací o znalostech. Příklad možného vyjádření znalostí v XML dokumentu: <Knowledge id="id_znalosti"> <DataMatrixRestriction>Data_Matrix_id</DataMatrixRestriction> <DataMatrixRef>Data_Matrix_id</DataMetrixRef> <DataMatrixRef>Data_Matrix_id2</DataMetrixRef> <DataMatrixRef>Data_Matrix_id3</DataMetrixRef> <KBref>Knowledge_Base_id</KBref> <KnowledgeRef>Knowledge_id</KnowledgeRef> <text>evropa : Věk(Vysoký):::Systolický tlak(zvýšený)</text> </Knowledge> Element <DataMatrixRestriction> slouží k identifikaci znalosti o datových maticích, pomocí níž je omezena platnost znalosti o vztazích mezi atributy (viz kapitola Znalosti o datových maticích). Elementy <DataMatrixRef> představují reprezentaci této znalosti jedná se o ukazatele na konkrétní datové matice, pro které znalost platí. Elementy <Kbref> a <KnowledgeRef> slouží k identifikaci báze, ze které znalost pochází a identifikaci znalosti v rámci této báze. Rozšíření elementů Rule a Knowledge Pokud budou pravidla a závislosti vyjádřeny ve formě popsané v předchozím textu, nebude jejich součástí strukturovaná informace o jejich významu 56. Nyní si navrhneme rozšíření elementů Rule a Knowledge, které tuto informaci uchovávat bude. Předpokládáme, že podobně vyjádřené závislosti by měly být v bázi pro vyhledávání zmíněné v kapitole Navrhovaný koncept. Závislosti i znalosti je možné popsat prostřednictvím popisu jejich antecedentu, succedentu, případně ještě omezujících podmínek. Element Rule (Knowledge) rozšíříme o odpovídající elementy: 55 Mluvíme nyní o znalostech týkajících se vztahů mezi atributy. 56 Tuto informaci však bude možné získat z PMML XML dokumentů resp. báze znalostí, na něž jsou vytvořeny propojení. 95

100 <Rule id="id_pravidla"> <antecedent> </antecedent> <succedent> </succedent> <restriction> </restriction> </Rule> Budeme se věnovat pouze popisu antecedentu, succedent i omezující podmínky je možné vytvořit stejným způsobem. Antecedent je tvořen spojením několika literálů. Vzhledem k tomu, že předpokládáme pravidla vyjádřená v konjunktivní normálové formě, je antecedent složen z několika klauzulí, přičemž klauzule může obsahovat jeden nebo více literálů. <antecedent> <clause> <literal>a</literal> <literal>b</literal> <clause> <clause> <literal>c</literal> <clause> </antecedent> Lze přepsat do formy ( A v B) C Zaměříme se nyní na vyjádření jednotlivých literálů. Navržený formát bude pro potřeby globálního reportingu možná až zbytečně komplexní, je to však formát, který se zdá být vhodný pro reprezentaci závislostí ve vyhledávací bázi (viz kapitola Navrhovaný koncept). Lze předpokládat, že závislosti se do globálního reportu dostanou přenesením z této báze. U každého literálu budeme potřebovat: Identifikátor metaatributu Identifikátor formátu Hodnoty literálu vyjádřené v kategoriích formátu Hodnoty literálu vyjádřené v základním formátu metaatributu (pokud jsou) Uvedeme si příklad literálu vytvořeného nad numerickým atributem, k jehož metaatributu existuje základní formát: 96

101 <literal> <metaatributref>id_metaatributu</metaatributref> <metaatributname>výška</metaatributname> <atributname>výška_10cm</atributname> <formatref>format_id</formatref> <values type="format"> <value type="category"> <catref><160,170)</catref> </value> <value type="category"> <catref><170,180)</catref> </value> </values> <values type="basicformat"> <value type="numericinterval" closure="closedopen" leftmargin = "160" rightmargin = "180"> </value> </values> </literal> U každého literálu zaznamenáváme informaci o atributu, nad nímž je vytvořen. K tomu slouží element atributname, jehož hodnotou je název atributu a element formatref, jehož hodnotou je ukazatel do báze znalostí o metaatributech 57. Propojení s příslušným Metaatributem zajišťuje element metaatributref. Hodnoty literálu popisujeme pomocí elementu values. V uvedeném příkladu jsou u literálu uvedeny dvě skupiny hodnot. Jedna z nich popisuje tyto hodnoty v základním formátu metaatributu (type= basic format ), druhá v původním formátu atributu (type= format ). Hodnoty můžou být vyjádřeny pomocí kategorií formátu (<value type="category">), potom hodnotou je odkaz na kategorii (význam těchto kategorií je dohledatelný přes identifikátor formátu a název kategorie). Hodnoty také mohou být vyjádřeny jako intervaly, nebo jako výčty prvků: <values type="basicformat"> <value type="enumeration">muž</value> </values> Zdroje Při řešení GAQ analytik hledá pravidla, která jsou podobná nějakému pravidlu α, hledá odvozená pravidla ze znalosti β, atd. Pravidlo α potom může být reálně existující pravidlo nebo dočasné pravidlo, které si analytik vytvoří pomocí podobného nástroje, jaký byl navržen v kapitole Navrhovaný přístup. Jsou-li zdroji nalezené závislosti nebo v systému uložené znalosti, můžeme je vyjádřit pomocí XML fragmentu popisovaném v části Je li zdroj vytvořen pomocí editoru, musíme k jeho vyjádření využít rozšířenou formu tedy uvést i antecedent, succedent, případně 57 V této bázi by u formátu měly být popsány kategorie, kterých využívají atributy používající tento formát a způsob tvorby kategorií z hodnot datového atributu (sloupce datové matice). 97

102 omezení. V tomto vyjádření bude ještě několik změn: Nebude existovat propojení na PMML Report, datovou matici, ani bázi znalostí U literálů nemusí být uvedeny formáty ani hodnoty (pokud analytik bude například vytvářet dočasnou závislost pro vyhledávání pomocí první úrovně podobnosti, nebude potřebovat hodnoty literálů ani žádný formát, může pravidlo sestavit jen pomocí metaatributů) Pro odlišení takovýchto pomocných pravidel lze využít vlastnosti type elementu Rule, tedy vytvořit je jako <Rule type= temporary > </Rule>. Zdroje pro GAQ budeme zaznamenávat v sekci ohraničené atributem <sources> takto: <sources> <source id="source_id_1"> <Rule>...</Rule> </source> <source id="source_id_2"> <Rule>...</Rule> </source> </sources> Každý ze zdrojů bude zapouzdřen v elementu <source>, který bude v rámci dokumentu jednoznačně identifikován pomocí atributu id Oblast výzkum (scope) Při řešení GAQ analytik musí zadat, pro jaké matice či báze znalostí se bude provádět výzkum. Toto omezení budeme uchovávat v sekci ohraničené elementem <scope>. <scope> <scopeitem id="scope_item_1" type="datamatrix"> <name>example<name> <matrixref>matrixreferation</metrixref> <Annotation>Popis matice</annotation> </scopeitem> <scopeitem id="scope_item_2" type="bkbase"> <BKBaseRef>BKbaseReference</BKBaseRef> </scopeitem> </scope> Hodnotami elementu scope budou elementy scopeitem jednoznačně určené v rámci dokumentu atributem id. Atribut type určuje, zda se jedná o datovou matici nebo bázi znalostí (týkající se vztahů atributů). Při výběru datových matic pro oblast výzkumu může analytik využít některou znalost z báze znalostí o datových maticích. Tato znalost by mohla být také hodnotou atributu scope Úlohy (Tasks) Řešení globální analytické otázky lze často rozdělit na dílčí úlohy. Pokud analytik zjišťuje, které závislosti jsou odvozeny z určité znalosti v deseti různých datových maticích, pak hledání 98

103 odvozených znalostí v každé z těchto matic můžeme považovat za dílčí úlohu. V XMLGAR umožníme vyjádřit toto rozdělení na úlohy pomocí elementů task. <tasks> <description>popis celkové úlohy<description> <resultdesc>popis výsledků celkové úlohy</resultdesc> <task> <description>popis dílčí úlohy<description> <resultdesc>popis výsledků dílčí úlohy</resultdesc> <query>...</query> <resultsets>...</resultsets> </task> <task>...</task> <task>...</task> </tasks> Element tasks bude zastřešovat jednu nebo více dílčích úloh elementů task. Elementy tasks i task obsahují elementy sloužící k popisu (dílčí) úlohy a jejích výsledků. Tyto popisy budou v textové formě a budou doplněny automaticky nástrojem pro řešení GAQ, nebo ručně analytikem. Elementy query a resultsets jsou popsány dále v textu Elementy query, resultsets, operators Globální analytické otázky jsou řešeny prostřednictvím několika dotazů na podobnost, protichůdnost, případně některých množinových operátorů popsaných v kapitole Soubory závislostí. Součástí XMLGAR by měl být postup, jakým byla otázka řešena a výsledky tohoto řešení. operators Pro popis úrovní podobnosti, případně protichůdnosti, které byly při řešení otázky využity bude sloužit sekce vyznačena elementem <operators>. Příklad záznamu této sekce: <operators> <operator id="operator_1" type="similarity_lvl4"> <categoryequivalnce>unilateral subinterval<categoryequivalnce> <congruence>unilateral subset</congruence> </operator> <operator id="operator_2" type="antinomy_lvl2"> <categoryequivalnce>unilateral subinterval<categoryequivalnce> <congruence>unilateral subset</congruence> </operator> </operators> Pomocí atributu type lze rozlišit, o jaký operátor se jedná (podobnost první úrovně, protichůdnost druhé úrovně atd.) U každého operátoru musí být uvedeny i jeho parametry (u podobnosti na první úrovni by to byl např. způsob vyhodnocování klauzulí, minimální shoda v antecedentu a succedentu a další). Operátory budou nadefinovány mimo element task, protože lze předpokládat, že jeden operátor bude využit ve více dílčích úlohách. resultsets 99

104 Jak vyplývá z kapitoly Soubory závislostí, je potřeba mít možnost využít výsledků hledání podobných závislostí pro další hledání. Souborům závislostí z kapitoly 4.5 budou odpovídat elementy resultset, zastřešené pod elementem resultsets: <resultsets> <resultset id="resultset_1" type="temp"> </resultset> <resultset id="resultset_2" type="temp"> </resultset> <resultset id="resultset_3" type="output"> <Rule>... </Rule> <Rule> </Rule> </resultset> </resultsets> Budeme používat dva typy elementů resultset temp - u tohoto souborů závislostí nás z hlediska řešení globálních analytických otázek nezajímá, jaká pravidla či znalosti obsahuje slouží pouze k popisu řešeného dotazu output u tohoto typu nás zajímají i pravidla, které obsahuje. Krom popisu řešeného dotazu totiž obsahuje i jeho výsledky závislosti (znalosti) významné pro analytika. Možné vyjádření znalostí či závislostí v tomto typu resultsetu bylo popsáno v části Element resultsets bude obsažen v každém elementu task. Každý z elementů resultset je v rámci dokumentu jednoznačně identifikován. query Každý z elementů <task> také obsahuje element <query>, v kterém je popsán samotný dotaz. Uveďme nejprve příklad elementu query: <query> <step id= step_1 > <oper type="ref">operator_1</oper> <leftside type="source">source_id_1</leftside> <rightside type="scope">scope_item_1</rightside> <resultstorage>resultset_1</resultstorage> <resultsfrom>right</resultsfrom> </step> <step id= step_2 > <prevstep>step_1</prevstep> <oper type="ref">operator_2</oper> <leftside type="source">source_id_2</leftside> <rightside type="scope">scope_item_1</rightside> <resultstorage>resultset_2</resultstorage> <resultsfrom>right</resultsfrom> </step> <step id= step_3 > <prevstep>step_2</prevstep> <oper type="standard">distinct</oper> <leftside type="resultset">resultset_1</leftside> <rightside type="resultset">resultset_2</rightside> <resultstorage>resultset_3</resultstorage> </step> </query> 100

105 Dotaz (Query) se skládá z kroků. Posloupnost kroků je určena pomocí elementu prevstep. Každý krok je popsán operátorem (element oper). Rozeznáváme operátory dvojího druhu: Množinové operace, popsané v kapitole Soubory závislostí - Průnik (Intersection), Rozdíl (Distinct), Sjednocení (Union). Je-li operátorem množinová operace, bude atribut type elementu oper rovný standard. Úrovně podobnosti a protichůdnosti, které se vyskytují v sekci <operators>. Pro jejich vyjádření používáme oper s atributem type= ref a jeho hodnotou je id operátoru. Všechny operátory jsou binární, většina z nich není symetrická. Elementy leftside a rightside určují, co se má vyskytovat na levé resp. pravé straně operátoru. Oba tyto elementy mají atribut type, který může nabývat hodnot: scope hodnotou elementu je identifikátor elementu <scopeitem> source hodnotou elementu je identifikátor elementu <source> resultset hodnotou elementu je identifikátor elementu <resultset> V kapitole Soubory závislostí jsme zmínili nutnost rozeznat, z které strany operátoru (úrovně podobnosti nebo protichůdnosti) jsou brána pravidla do výsledku vyhledávání. K tomu slouží element resultsfrom, s možnými hodnotami left a right. Výsledkem provedení jakékoli operace je množina závislostí či znalostí. Hodnotou elementu resultstorage je identifikátor elementu resultset, do nějž se má tato množina uložit. Element query uvedený v předchozím textu by po přepsání do formy popsané v kapitole 4.5, vypadal takto (operator_1 je čtvrtá úroveň podobnosti, operator_2 je druhá úroveň protichůdnosti, source_id_1 je znalost α, source_id_1 je znalost β, scope_item_1 je datová matice M): resultset_1 = 4 R M resultset_2= 2 R M resultset_3 = resultset_1 / resultset_2 Jedná se tedy o nalezení všech závislostí z datové matice M, které jsou odvozené ze znalosti α a nejsou současně protichůdně odvozené ze znalosti β. resultset_3 by v tomto případě obsahoval nalezené závislosti (byl by typu output ), resultset_1 a resultset_2 by byly typu temp a v XML by neměly uvedeny nalezené závislosti. 101

106 6.2.6 Celková struktura dokumentu Celý XMLGAR dokument by měl vypadat následovně: <XMLGAR...> <header>... </header> <sources> viz kapitola Zdroje </sources> <scope> viz kapitola Oblast výzkum (scope) </scope> <operators> viz kapitola Elementy query, resultsets, operators </operators> <tasks> viz kapitoly Úlohy (Tasks) a Elementy query, resultsets, operators </tasks> </XMLGAR> Sekce header nebyla popisována. V této sekci by měly být metainformace jako datum vytvoření dokumentu, nástroj, pomocí nějž byl vytvořen atd. Pravidla a znalosti se mohou objevit jak v sekci Zdroje (sources), tak v sekci tasks v elementu resultset. Popis zaznamenání pravidel a znalostí byl uveden v kapitole Vyjádření pravidel a znalostí. 6.3 Tvorba RGAR Při řešení globální analytické otázky bude vytvořen jeden nebo více automaticky generovaných globálních analytických reportů. Doménový expert může chtít výsledky analýzy sesumarizovat do přehledové zprávy pravého globálního analytického reportu. Kostra struktury RGAR může vycházet ze struktury navržené pro lokální analytický report v [11]: 1. Úvod V úvodu by mělo být uvedeno, o jakou analytickou otázku se jedná, např. že se jedná o zjištění platnosti závislosti α nad různými datovými maticemi. V takovém případě by součástí úvodu měla být i závislost α. 2. Datové Matice (scope) V této části by měly být uvedeny datové matice, nad kterými se výzkum prováděl. Zda bude uveden 102

107 pouze výčet datových matic nebo nějaké bližší informace k nim, záleží na analytikovi. Pokud byl výběr matic proveden pomocí znalosti o datových maticích, měla by zde být uvedena i tato znalost. 3. Detailní výsledky řešení analytické otázky Tato část GAR by měla obsahovat detailní výsledky analýzy. Pokud by analytickou otázkou bylo zjišťování, ve kterých maticích platí závislost, mělo by zde být pro každou matici uvedeno, zda nad ní pravidlo α platí nebo ne, případně závislosti, které toto tvrzení podporují a způsob, jakým byly tyto závislosti objeveny. U matic, u kterých bylo možno pravidlo α odvodit, i odvodit protichůdně, by měly být uvedeny všechny relevantní závislosti, rozhodnutí analytika i komentáře zdůvodňující toto rozhodnutí. 4. Souhrnné výsledky analýzy Zde by měly být výsledky ve zkrácené, přehlednější formě. V našem případě (GAQ je zjišťování, ve kterých maticích platí závislost α) by zde měl být uveden celkový počet matic nad kterými byl výzkum prováděn, počet a seznam matic, ve kterých bylo pravidlo α : nalezeno byly nalezeny pouze závislosti, z nichž lze α odvodit byly nalezeny pouze závislosti, z nichž lze α odvodit protichůdně byly nalezeny závislosti, z nichž lze α odvodit i odvodit protichůdně a analytik rozhodl, že se dá předpokládat platnost pravidla v těchto datových maticích byly nalezeny závislosti, z nichž lze α odvodit i odvodit protichůdně a analytik rozhodl, že nelze předpokládat platnost pravidlo v těchto datových maticích nebylo nalezeno pravidlo α ani závislosti, z nichž by bylo možné jej odvodit či odvodit protichůdně. 5. Závěr V závěru by měl být kvalifikovaný výrok analytika, případně doporučení pro další výzkum, zadání zpracování LAQ apod. Při tvorbě RGAR můžeme použít informace z AGGAR, z původních PMML souborů a z různých bází znalostí (BZ o metaatributech, BZ o vztazích mezi atributy, BZ o maticích). V optimálním případě by mělo být možné vkládat do reportu fragmenty z těchto zdrojů pomocí (rozšířené) komponenty ginclude. V XMLGAR navrženém v rámci kapitoly XMLGAR je mnoho informací vloženo 103

108 prostřednictvím odkazů (je zde například u každého pravidla odkaz na toto pravidlo v PMML Reportu, u literálů pak odkaz na jejich formát a metaatribut a podobně). Analytikovi by mělo být umožněno vkládat do tvořeného reportu i takto odkazované informace. Pokud by například vkládal pravidlo z AGGAR reportu, měl by mít možnost vložit toto pravidlo ve formě, v jaké je uloženo v PMML Reportu (tedy včetně čtyřpolní tabulky atd.), vložit z báze znalostí o metaatributech informace o metaatributech a formátech jednotlivých literálů pravidla atd. Vhodná by byla možnost vkládat do reportu také odkazy, které by umožňovaly přejít z HTML verze reportu na stránku, zobrazující v lidsky čitelné podobě požadované informace z PMML Reportů či znalostních bází. 104

109 7 Praktické provedení analýz V této kapitole budeme řešit konkrétní lokální analytické otázky a jejich výsledky prezentujeme na stránkách projektu SEWEBAR v podobě lokálních analytických reportů. Těchto výsledků následně využijeme k řešení globálních analytických otázek. Pro řešení LAQs budeme využívat datovou matici ADAMEK 58, která byla vytvořena v rámci projektu EuroMISE. Tato datová matice obsahuje informace o pacientech v Praze a Čáslavi. Pro naše potřeby byly z původní matice vytvořeny matice dvě, jedna s informacemi o pacientech z Čáslavi, druhá s informacemi o pacientech z Prahy. Budeme tedy pracovat s dvěma datovými maticemi, což nám umožní tvorbu globálních analytických otázek. Originální matice Adámek obsahuje kolem 180 sloupců údajů o pacientech. Jejich popis lze nalézt v [18]. Námi používané verze má zhruba 80 sloupců, z nichž v dalším textu popíšeme ty, které budeme využívat při řešení lokálních analytických otázek. 7.1 Zvolená LAQ Budeme se zabývat otázkou, jaké faktory ovlivňují krevní tlak pacientů. Na [19] se lze dočíst, že těmito faktory by měly být: kouření obezita věk cvičení stres alkohol strava V datech se pokusíme objevit závislosti, které potvrzují toto tvrzení. V naší verzi datové matice Adámek nemáme informace o konzumaci alkoholu pacienty, ani o jejich stravování, takže tyto faktory nebudeme při analýzách brát v úvahu. Do faktorů naopak přidáme pohlaví pacienta, abychom nalezli vztahy, týkající se jen mužů či žen. Krevní tlak je v datech popsán pomocí dvou datových atributů systolického a diastolického krevního tlaku. Při řešení LAQ budeme pracovat s oběma těmito atributy. Zda je člověk obézní lze měřit pomocí různých ukazatelů. V matici máme datové atributy BMI (Body Mass Index), WHR (Waist-Hip Ratio) a Obvod Pasu. Obezitu člověka lze měřit pomocí všech těchto faktorů, my při 58 Ve verzi Adamek_042009_upr_Rauch_bez_NA_W2 105

110 řešení LAQ použijeme BMI. Pro vyjádření cvičení použijeme dva datové atributy z datové matice tělesnou aktivitu a fyzickou zátěž v zaměstnání. Pro postihnutí stresu slouží datový atribut psychická zátěž, který se taktéž vyskytuje v datových maticích. Při řešení LAQs se budeme zabývat jednak tím, jaká kombinace faktorů indikuje vysoký krevní tlak (hypertenzi) u systolického nebo diastolického tlaku a dále kombinacemi faktorů, které indikují normální krevní tlak (systolický a zároveň diastolický). 7.2 Příprava dat Čáslav Datová matice pacientů z Čáslavi obsahuje celkem 674 záznamů. V této kapitole bude popsán způsob, jakým byly vytvořeny atributy a kategorie z datových atributů matice (viz. kapitola Atributy a kategorie). Fyzická zátěž v zaměstnání Fyzická zátěž v zaměstnání je uložena v datové matici ve sloupci FyzZat. Hodnoty, kterých tento sloupec může nabývat a jejich frekvence jsou uvedeny v tabulce tab. 6. V této tabulce jsou také kategorie, které byly vytvořeny pro atribut Fyzická zátěž v zaměstnání a způsob jejich vytvoření. Hodnoty DA Vysoká a střední byly sloučeny do jedné kategorie kvůli nízkému počtu pacientů, majících vysokou fyzickou zátěž v zaměstnání. Dále byly sloučeny hodnoty Není zaměstnán a Žádná, neboť člověk, který není zaměstnán v práci neprovozuje žádnou tělesnou aktivitu, jeho tělesné aktivity by měly spadat pouze pod atribut tělesná aktivita. Hodnoty DA #záznamů Není zaměstnán 123 Žádná 81 Mírná 188 Střední 254 Vysoká 25 Kategorie Hodnoty DA #záznamů Není zaměstnán+žádná Není zaměstnán Žádná 204 Mírná Mírná 188 Střední + Střední Vysoká 279 tab. 6: Hodnoty datového atributu a jejich frekvence, kategorie a způsob jejich vytvoření Tělesná aktivita Tělesná aktivita je uložena v datové matici ve sloupci TelAkt. Hodnoty, kterých tento sloupec může nabývat, jejich frekvence, kategorie a způsob jejich vytvoření jsou uvedeny v tabulce tab. 7. Hodnoty 106

111 DA Vysoká a střední byly sloučeny do jedné kategorie kvůli nízkému počtu pacientů, majících vysokou tělesnou aktivitu. Hodnoty DA #záznamů Žádná 357 Mírná 206 Střední 65 Vysoká 7 NULL 49 Kategorie Hodnoty DA #záznamů Žádná Žádná 357 Mírná Mírná 206 Střední + Střední Vysoká 72 tab. 7: Hodnoty datového atributu a jejich frekvence, kategorie a způsob jejich vytvoření Kouření Informace o kouření pacientů je uložena v datové matici ve sloupci koureni. Hodnoty, kterých tento sloupec může nabývat, jejich frekvence, kategorie a způsob jejich vytvoření jsou uvedeny v tabulce tab. 8. Hodnoty DA Nekuřák a Příležitostný kuřák byly sloučeny do jedné kategorie kvůli nízkému počtu příležitostných kuřáků. Hodnoty DA #záznamů Exkuřák 53 Kuřák 161 Nekuřák 447 Příležitostný kuřák 13 NULL 10 Kategorie Hodnoty DA #záznamů Exkuřák Exkuřák 53 Kuřák Kuřák 161 Nekuřák/příležitostný Nekuřák Příležitostní kuřák 460 tab. 8: Hodnoty datového atributu a jejich frekvence, kategorie a způsob jejich vytvoření Psychická zátěž Informace o psychické zátěži pacientů je uložena v datové matici ve sloupci PsychZat. Hodnoty, kterých tento sloupec může nabývat, jsou uvedeny v tabulce tab. 9. Pro každou z hodnot DA byla vytvořena jedna odpovídající kategorie. 107

112 Hodnoty DA #záznamů Žádná 105 Mírná 242 Střední 270 Vysoká 56 NULL 12 tab. 9: Hodnoty datového atributu a jejich frekvence Pohlaví Informace o pohlaví pacienta je uložena v datové matici ve sloupci Pohl. Hodnoty, kterých tento sloupec může nabývat, jsou uvedeny v tabulce tab. 10. Pro každou z hodnot DA byla vytvořena jedna odpovídající kategorie. Hodnoty DA #záznamů Muž 296 Žena 388 tab. 10: Hodnoty datového atributu a jejich frekvence Věk Informace o věku pacienta je uložena ve sloupci Vek. Hodnoty DA jsou uvedeny v letech. Pro tvorbu kategorií byla použita diskretizace doporučená paní doktorkou Tomečkovou, kterou lze nalézt na stránkách SEWEBARu jako background knowledge. Kategorie jsou popsány v tabulce tab. 11. Kategorie Hodnoty DA #záznamů Mladí dospělí <15,40) 184 Střední věk <40,65) 476 Stáří <65,inf) 24 tab. 11: Popis tvorby kategorií z numerického datového atributu BMI Hodnoty BMI jsou uloženy ve sloupci BMI. Pro tvorbu kategorií byla využita standardní kategorizace dle [21]. Kvůli nízkému počtu objektů spadajících do některých kategorií byly vybrané kategorie dále slučovány. Výsledné kategorie jsou popsány v tabulce tab

113 Kategorie Hodnoty DA #záznamů Normální+podvýživa <15,25) 205 Nadváha <25,30) 270 Obezita 1 <30,35) 139 Obezita 2+ <35,inf) 60 tab. 12: Popis tvorby kategorií z numerického datového atributu Krevní tlak systolický Hodnoty systolického krevního tlaku jsou uloženy ve sloupci ST. Pro tvorbu kategorií byla využita standardní kategorizace dle [22]. Kvůli nízkému počtu objektů spadajících do některých kategorií byly vybrané kategorie dále slučovány. Výsledné kategorie jsou popsány v tabulce tab. 13. Kategorie Hodnoty DA #záznamů Normální <15,120> 202 Prehypertenze (120,140) 181 Hypertenze 1 <140,160) 204 Hypertenze 2+ <160,inf) 91 tab. 13: Popis tvorby kategorií z numerického datového atributu Krevní tlak diastolický Hodnoty diastolického krevního tlaku jsou uloženy ve sloupci DT. Pro tvorbu kategorií byla využita standardní kategorizace dle [22]. Kvůli nízkému počtu objektů spadajících do některých kategorií byly vybrané kategorie dále slučovány. Výsledné kategorie jsou popsány v tabulce tab. 14. Kategorie Hodnoty DA #záznamů Normální <0,80> 317 Prehypertenze (80,90) 69 Hypertenze 1 <90,100) 188 Hypertenze 2+ <100,inf) 104 tab. 14: Popis tvorby kategorií z numerického datového atributu 109

114 7.3 Řešení lokální analytické otázky Čáslav Při řešení lokální analytické otázky budeme zkoumat následující: Jaká kombinace faktorů má vliv na vysoký systolický krevní tlak (hypertenzi) Jaká kombinace faktorů má vliv na vysoký diastolický tlak (hypertenzi) Jaká kombinace faktorů má vliv na normální tlak (normální systolický a zároveň normální diastolický tlak) Vysoký systolický krevní tlak Nejprve jsme se pokusili nalézt závislosti, které by měly v succedentu literál systolický tlak(hypertenze 2+). Takové závislosti se však podařilo nalézt až s požadavkem na Support = 1%. To je příliš málo pacientů splňujících antecedent i succedent, takže žádnou ze závislostí nepovažujeme za významnou. V dalším kroku jsme se pokusili nalézt závislosti, které mají v succedentu literál systolický tlak(>= hypertenze 1) tedy závislosti ukazující vztah mezi hypertenzí prvního či vyšších stupňů a ostatními faktory. Úlohu jsme si rozdělili do dvou podúloh. V první hledáme vysvětlení hypertenze pomocí kombinace malého množství faktorů (jednoho až tří). V tomto případě můžeme vyžadovat vyšší hodnotu Supportu a naopak musíme požadovat nižší hodnotu konfidence. V druhé podúloze hledáme vysvětlení hypertenze pomocí kombinace většího množství faktorů. V tomto případě musíme snížit hodnotu Supportu, ale můžeme naopak zvýšit požadavek na konfidenci. Nastavení první podúlohy zachycuje obrázek obr. 8. obr. 8: Zadání úlohy v 4-ft Mineru Bylo nalezeno 33 závislostí, které naleznete v příloze 1, na obrázku obr. 18. Výsledek této analýzy byl také uložen na server SEWEBAR do článku 110

115 MFF_Caslav_3_a_mene_faktoru_systolicka_hypertenze 59. Nastavení druhé podúlohy je zachyceno na obrázku obr. 9. obr. 9: Zadání úlohy v 4-ft Mineru Bylo nalezeno 8 závislostí, které jsou vyobrazeny v příloze 1 na obrázku obr. 19. Výsledek této analýzy byl také uložen na server SEWEBAR do článku MFF_Caslav_4_a_vice_faktoru_systolicka_hypertenze Vysoký diastolický krevní tlak Ani u diastolického tlaku se nám nepodařilo nalézt dostatečně významné závislosti, popisující vztah mezi hypertenzí druhého a vyššího stupně a ostatních zkoumaných faktorů. I pro diastolický tlak dále zkoumáme závislosti, mající v succedentu literál diastolický tlak(>= hypertenze 1). Stejně jako u tlaku systolického si úlohu rozdělíme do dvou podúloh. Nastavení první z nich (malý počet faktorů, větší Support, menší FUI) je zachyceno na obrázku obr Tento i ostatní články jsou v sekci PMML reporty/zs 10/11 111

116 obr. 10: Zadání úlohy v 4-ft Mineru Bylo nalezeno 26 závislostí, které jsou vyobrazeny v příloze 2 na obrázku obr. 20. Výsledek této analýzy byl také uložen na server SEWEBAR do článku MFF_Caslav_3_a_mene_faktoru_diastolicka_hypertenze. Nastavení druhé (větší počet faktorů, menší Support, větší FUI) je na obrázku obr. 11. obr. 11: Zadání úlohy v 4-ft Mineru Bylo nalezeno 13 závislostí, které jsou vyobrazeny v příloze 2 na obrázku obr. 21. Bylo nalezeno 8 závislostí, které jsou vyobrazeny v příloze 1 na obrázku obr. 19. Výsledek této analýzy byl také uložen na server SEWEBAR do článku MFF_Caslav_4_a_vice_faktoru_diastolicka_hypertenze Normální tlak (systolický i diastolický) Poslední úlohou, kterou budeme řešit v rámci zvolené lokální analytické otázky je hledání závislostí, popisující vztah mezi vybranými faktory a normálním krevním tlakem. Za pacienta s normálním krevním tlakem budeme považovat pacienta, který má normální hodnoty jak tlaku systolického, tak i diastolického. 112

117 obr. 12: Zadání úlohy v 4-ft Mineru Zadání úlohy je zachyceno na obrázku obr. 12. Při tomto nastavení byly nalezeny pouze 4 závislosti, které jsou vyobrazeny v příloze 3 na obrázku obr. 22. Výsledek této analýzy byl také uložen na server SEWEBAR do článku MFF_Caslav_normalni_tlak. 7.4 Příprava dat Praha Datová matice pacientů z Prahy obsahuje celkem 711 záznamů. Atributy a kategorie byly vytvářeny stejným způsobem, jako nad daty pacientů z Čáslavi. U jednotlivých atributů budeme uvádět pouze frekvence hodnot datových atributů, způsob vytváření kategorií a jejich frekvence. Fyzická zátěž v zaměstnání Hodnoty DA #záznamů Není zaměstnán 111 Žádná 212 Mírná 226 Střední 100 Vysoká 13 Kategorie Hodnoty DA #záznamů Není zaměstnán+žádná Není zaměstnán Žádná 323 Mírná Mírná 226 Střední + Střední Vysoká 113 tab. 15: Hodnoty datového atributu a jejich frekvence, kategorie a způsob jejich vytvoření Tělesná aktivita Hodnoty DA #záznamů Žádná 199 Mírná 283 Střední 170 Vysoká 17 NULL 42 Kategorie Hodnoty DA #záznamů Žádná Žádná 199 Mírná Mírná 283 Střední + Střední Vysoká 187 tab. 16: Hodnoty datového atributu a jejich frekvence, kategorie a způsob jejich vytvoření 113

118 Kouření Hodnoty DA #záznamů Exkuřák 96 Kuřák 87 Nekuřák 489 Příležitostný kuřák 10 NULL 29 Kategorie Hodnoty DA #záznamů Exkuřák Exkuřák 96 Kuřák Kuřák 87 Nekuřák/příležitostný Nekuřák Příležitostný kuřák 499 tab. 17: Hodnoty datového atributu a jejich frekvence, kategorie a způsob jejich vytvoření Psychická zátěž Hodnoty DA #záznamů Žádná 49 Mírná 201 Střední 302 Vysoká 122 NULL 12 Kategorie Hodnoty DA #záznamů Žádná Žádná 49 Mírná Mírná 201 Střední Střední 302 Vysoká Vysoká 122 tab. 18: Hodnoty datového atributu a jejich frekvence Pohlaví Hodnoty DA #záznamů Muž 287 Žena 424 Kategorie Hodnoty DA #záznamů Muž Muž 287 Žena Žena 424 tab. 19: Hodnoty datového atributu a jejich frekvence Věk Kategorie Hodnoty DA #záznamů Mladí dospělí <15,40) 141 Střední věk <40,65) 488 Stáří <65,inf) 82 tab. 20: Popis tvorby kategorií z numerického datového atributu 114

119 BMI Na rozdíl od Čáslavi u dat z Prahy bude mít atribut BMI pouze tři kategorie. Kategorie Obezita 1 a Obezita 2+ byly sloučeny do jedné kategorie Obezita, neboť do kategorie Obezita 2+ spadalo příliš málo pacientů. Kategorie Hodnoty DA #záznamů Normální+podvýživa <15,25) 305 Nadváha <25,30) 260 Obezita <30,35) 138 tab. 21: Popis tvorby kategorií z numerického datového atributu Krevní tlak systolický Kategorie Hodnoty DA #záznamů Normální <15,120> 232 Prehypertenze (120,140) 202 Hypertenze 1 <140,160) 185 Hypertenze 2+ <160,inf) 83 tab. 22: Popis tvorby kategorií z numerického datového atributu Krevní tlak diastolický Kategorie Hodnoty DA #záznamů Normální <0,80> 324 Prehypertenze (80,90) 110 Hypertenze 1 <90,100) 183 Hypertenze 2+ <100,inf) 84 tab. 23: Popis tvorby kategorií z numerického datového atributu 7.5 Řešení lokální analytické otázky Praha Stejně jako u dat z Čáslavi budeme zkoumat následující: Jaká kombinace faktorů má vliv na vysoký systolický krevní tlak (hypertenzi) 115

120 Jaká kombinace faktorů má vliv na vysoký diastolický tlak (hypertenzi) Jaká kombinace faktorů má vliv na normální tlak (normální systolický a zároveň normální diastolický tlak) Vysoký systolický krevní tlak Ani nad daty z Prahy se nepodařilo nalézt zajímavé závislosti, které by měly v succedentu literál systolický tlak(hypertenze 2+). Hledali jsme tedy opět závislosti, které mají v succedentu literál systolický tlak(>= hypertenze 1). Opět jsme nejprve hledali závislosti pomocí kombinace malého počtu faktorů, s větším požadavkem na Support. Nastavení úlohy zachycuje obrázek obr. 13. obr. 13: Zadání úlohy v 4-ft Mineru Objeveno bylo 22 závislostí, které jsou zobrazeny v příloze 4 na obrázku obr. 23. Výsledek této analýzy byl uložen na server SEWEBAR do článku MFF_Praha_3_a_mene_faktoru_systolicka_hypertenze. Následně jsme se pokusili nalézt závislosti obsahující v antecedentu větší počet atributů, s nižším požadavkem na Support ale větším na konfidenci viz obrázek obr. 14. obr. 14: Zadání úlohy v 4-ft Mineru Tentokráte byla nalezena jediná závislost, která je také v příloze příloze 4 na obrázku obr. 24. Výsledek této analýzy byl také uložen na server SEWEBAR do článku MFF_Praha_4_a_vice_faktoru_systolicka_hypertenze. 116

121 7.5.2 Vysoký diastolický krevní tlak Ani u diastolického tlaku se nám nepodařilo nalézt dostatečně významné závislosti, popisující vztah mezi hypertenzí druhého a vyššího stupně a ostatních zkoumaných faktorů. I pro diastolický tlak dále zkoumáme závislosti, mající v succedentu literál diastolický tlak(>= hypertenze 1). Stejně jako u tlaku systolického si úlohu rozdělíme do dvou podúloh. Nastavení první z nich (malý počet faktorů, větší Support, menší FUI) je zachyceno na obrázku obr. 15. obr. 15: Zadání úlohy v 4-ft Mineru Bylo nalezeno 9 závislostí, které jsou vyobrazeny v příloze 4 na obrázku obr. 25. Výsledek této analýzy byl také uložen na server SEWEBAR do článku MFF_Praha_3_a_mene_faktoru_diastolicka_hypertenze. Nastavení druhé úlohy (větší počet faktorů, menší Support, větší FUI) je na obrázku obr. 16. obr. 16: Zadání úlohy v 4-ft Mineru Bylo nalezeno 8 závislostí, které jsou vyobrazeny v příloze 4 na obrázku obr. 26. Výsledek této analýzy byl také uložen na server SEWEBAR do článku MFF_Praha_4_a_vice_faktoru_diastolicka_hypertenze. 117

122 7.5.3 Normální tlak (systolický i diastolický) Zbývá ještě najít závislosti popisující vztah mezi vybranými faktory a normálním krevním tlakem. Zadání úlohy je zachyceno na obrázku obr. 17. obr. 17: Zadání úlohy v 4-ft Mineru Při tomto nastavení byly nalezeny pouze 4 závislosti, které jsou vyobrazeny v příloze 4 na obrázku obr. 27. Výsledek této analýzy byl také uložen na server SEWEBAR do článku MFF_Praha_normalni_tlak. 7.6 Tvorba pravých lokálních analytických reportů Úrovně podobnosti a protichůdnosti navržené v kapitole 4 - Globální analytické otázky lze využít při tvorbě lokálních analytických reportů. V PMML Reportech se vyskytuje větší množství závislostí, ve kterých může mít analytik problém se vyznat. K hledání skutečně zajímavých závislostí mu můžou pomoci úrovně podobnosti. V přílohách jsou výsledky jednotlivých dataminingových úloh, které jsme zpracovávali při řešení LAQ. Tyto výsledky jsou obohaceny o dodatečnou informaci, zda danou závislost lze odvodit z nějaké jiné. U pravidel jsou v druhém sloupci uvedena čísla, která identifikují závislost, ze které lze dané pravidlo odvodit (pokud u závislosti číslo není, nelze odvodit z jiné). Pokud je před číslem uveden symbol x, znamená to, že identifikátor pravidla, ze kterého je závislost odvozena se vyskytuje v jiném PMML Reportu. (Většinou jsme každou úlohu řešili ve dvou podúlohách v jedné jsme se snažili nalézt závislosti pomocí kombinace maximálně tří faktorů, ve druhé jsme hledali závislosti pomocí kombinace čtyř a více faktorů. Pravidla z druhé podúlohy tak mohli být odvozena z pravidel podúlohy první). Pro hledání odvozených pravidel jsme použili následující parametry: Souhlasnost se řešila jako jednostranná podmnožina Pokud se pravidla lišili maximálně v jednom literálu (odvozené pravidlo mohlo mít 118

123 maximálně o jeden literál více), pak konfidence odvozeného pravidla nesměla být větší o více než 0.05 než konfidence pravidla odvozovaného. Pokud se pravidla lišili o více než jeden literál, pak rozdíl v konfidenci mohl být o 0.05 větší za každý literál, které mělo odvozené pravidlo navíc. (Tedy pokud mělo odvozované pravidlo v antecedentu 2 literály a odvozené 4, pak rozdíl v konfidencích mohl být 0.1). Pro analytika jsou zajímavá pravidla, která nejsou odvozená z jiných. Uvedeným postupem jsme byly schopni zmenšit množinu zajímavých pravidel mnohdy o podstatně více než polovinu. (Např u úlohy, ve které se nad datovou maticí Prahy hledaly závislosti týkající se normálního tlaku nám z 43 pravidel zůstalo pouze 6 zajímavých). Z výsledků dílčích úloh byly vytvořeny lokální analytické zprávy, které jsou uloženy na serveru SEWEBAR (sewebar.vse.cz/cardio) v sekci Analytical Reports 4iz210-zs10/11. Reporty se jmenují MFF: Praha Krevní tlak, MFF: Čáslav Krevní tlak. 7.7 Globální analytické otázky V této části práce se pokusíme vyřešit několik globálních analytických otázek. Jedna skupina otázek se bude věnovat tomu, které závislosti byly nalezeny nad oběma datovými maticemi a ve kterých se naopak matice liší. Konkrétně se pokusíme zjistit: Které závislosti týkající se normálního krevního tlaku objevené v datové matici Čáslav byly objeveny i v datové matici Prahy a které jsou naopak specifické. Které ze závislostí týkajících se diastolické hypertenze byly nalezeny v obou datových maticích a které jen v jedné z nich. Druhá skupina otázek vychází ze zadání lokální analytické otázky. Při zadání jsme vycházeli z předpokladů, že některé faktory ovlivňují krevní tlak člověka. Pomocí globálních otázek se pokusíme vyšetřit, zda tomu tak skutečně je. Budeme zkoumat, zda se předpokládaná závislost vyskytuje v objevených pravidlech obou datových matic a zda neexistují protichůdné závislosti, které by její význam popíralo. Budeme zkoumat vliv: obezity stresu kouření věku 119

124 cvičení Vzhledem k tomu, že nemáme k dispozici nástroje, které by nám umožňovali provádět vyhledávání v pravidlech, bude toto prováděno ručně. Při hledání protichůdných závislostí je u znalostí týkajících se normálního krevního tlaku použita druhá úroveň protichůdnosti, tedy protichůdné odvození, u ostatních znalostí je použita první úroveň protichůdnosti, tedy např. pro znalost BMI(obezita) => systolický tlak(hypertenze) budeme hledat závislosti, které mají v antecedentu literál BMI(obezita) a v succedentu literál systolický tlak(normální) Porovnání nalezených závislostí napříč datovými maticemi Závislosti týkající se normálního krevního tlaku V matici dat z Čáslavi bylo nalezeno mnohem méně závislostí, týkajících se normálního tlaku. Budeme zkoumat, zda ty nalezené byly objeveny i v matici dat z Prahy. Nalezené závislosti jsou uvedeny na obrázku obr. 25 v příloze 3. Budeme hledat primárně závislosti podobné k závislostem 3 a 4, neboť závislosti 1 a 2 jsou z nich odvozené. Chceme najít závislosti β z datové matice Praha, pro které platí α 5 β, kde α jsou závislosti 3 a 4 z přílohy 3. Pokud takové závislosti nenalezneme, budeme hledat závislosti β, pro které platí β 4 α, tedy z kterých jsou α odvozené. K závislosti 4: Věk(Mladí dospělí) Kouření(nekuřák/příležitostný) Psychická zátěž(žádná,mírná) BMI(normální) => Krevní tlak(normální) existuje shodná (podobná na páté úrovni podobnosti) závislost v datové matici Praha (závislost 19 obr. 30), která má silnější koeficient konfidence (0.852 oproti 0.71). Tato závislost je tedy platná v obou datových maticích a analytik by mohl zvážit, zda z ní neudělat znalost 60. K závislosti 3 neexistuje ve výsledcích analýzy nad daty z Prahy žádná závislost, která by byla podobná na páté, ani čtvrté úrovni. Toto pravidlo je tedy specifické pro datovou matici Čáslav. Analytik by si mohl vyžádat provedení data miningu, pomocí nějž by zjistil, proč toto pravidlo nebylo v Praze nalezeno. Vzhledem k tomu, že se v matici Praha nepodařilo nalézt podobnou závislost k závislosti 3, pokusíme se ještě nyní nalézt závislost podobnou k závislosti 2 (která je odvozená ze závislosti3). 60 Kdybychom měli k dispozici více datových matic a tato znalost byla objevena nad každou z nich, byl by to jistě důvod tuto možnost zvážit. Dvě matice jsou však poměrně málo. 120

125 Závislost 2 je odvozená od závislosti 6 z obr. 29 (Pohlaví(žena) Věk(Mladí dospělí) => tlak(normální). Lze tedy předpokládat její platnost nad maticí Praha. Při definici souhlasnosti jako průniku pro Psychyckou zátěž nalezneme stejné pravidlo pomocí páté úrovně podobnosti jedná se o pravidlo 30 z obr. 30. Závislosti týkající se diastolické hypertenze Při hledání pravidel podobných na páté úrovni (stejná pravidla) nalezneme jediné pravidlo, nalezené nad oběma maticemi. Navíc je nutné definovat souhlasnost jako podmnožinu. Tímto pravidlem je závislost 7 z obr. 27 (Čáslav), které zní: BMI(obezita) Tělesná aktivita(žádná,mírná) Psychická zátěž(střední)=>diastolický tlak(hypertenze) tomuto pravidlu odpovídá závislost 23 z obr. 22 (Praha), které se liší v literálu Tělesná aktivita(žádná). Koeficienty konfidence obou pravidel jsou podobné: u Čáslavi a u Prahy. Zatímco závislosti nalezené nad datovou maticí Čáslav často obsahují kategorii střední+ u atributu Fyzická zátěž v zaměstnání, závislosti nalezené v Praze u tohoto atributu obvykle využívají kategorií mírná nebo žádná. Ačkoli bylo nad oběma datovými maticemi nalezeno několik zajímavých závislostí, např: Praha: Obézní muži ve středním věk mají tendenci mít diastolickou hypertenzi Čáslav: Lidé s obezitou druhého stupně mají tendenci mít diastolickou hypertenzi Čáslav: Obézní ženy-nekuřačky s nízkou tělesnou aktivitou mají tendenci mít diastolickou hypertenzi tak žádné z těchto pravidel se nezdá být všeobecně platné 61. GAR Výsledky této globální analýzy byly umístěny na webové stránky projektu SEWEBAR (sewebar.vse.cz/cardio) v sekci Analytical Reports 4iz210-zs10/11, do článku MFF: GAR Porovnání datových matic. 61 Je nutno podotknout, že pravidlo o vztahu obezity druhého stupně a diastolické hypertenze v Praze nemohlo být nalezeno, neboť tato kategorie musela být z důvodu nízkého počtu záznamů sloučena s kategorií obezita prvního stupně. 121

126 7.7.2 Vliv obezity Při formování lokální analytické otázky jsme vycházeli z předpokladu, že obezita má vliv na krevní tlak pacienta. Tento vliv bychom si mohli vyjádřit jako znalosti: 1) BMI(obezita) => systolický tlak(hypertenze) 2) BMI(obezita) => diastolický tlak(hypertenze) 3) BMI(normální) => Systolický tlak(normální) Diastolický tlak (normální) a zjišťovat platnost či neplatnost těchto znalostí ve výsledcích lokální analýzy. Budeme hledat pravidla odvozená z těchto znalostí a pravidla z těchto znalostí odvozená protichůdně. BMI(obezita) => systolický tlak(hypertenze) V datové matici Praha lze nalézt několik závislostí odvozených ze znalosti 1). Jedná se o závislosti 8,12,15,17 z obr. 25. V datové matici Čáslav jsou z této znalosti odvozeny všechny nalezené závislosti týkající se systolické hypertenze (viz. obr. 20). Ani v jedné z datových matic neexistuje závislost protichůdná k této znalosti. Lze tedy soudit, že tato znalost platí v obou datových maticích a vzhledem k počtu nalezených odvozených závislostí ji lze považovat i za dosti silnou. BMI(obezita) => diastolický tlak(hypertenze) Všechny závislosti týkající se diastolické hypertenze nalezené v datové matici Praha jsou odvozené od znalosti 2). Za pozornost stojí pravidlo 4 (obr. 27), které říká že u mužů v Praze stačí k vysvětlení diastolické hypertenze pouze tato znalost. I všechny závislosti týkající se diastolické hypertenze nalezené v datové matici Čáslav jsou odvozené od této znalosti. Zde stojí za pozornost pravidlo 26 (obr. 22), které říká že k vysvětlení diastolické hypertenze stačí velmi silná obezita. Ani k této znalosti neexistuje žádná protichůdná závislost. I v tomto případě tedy můžeme považovat tuto znalost za platnou v obou datových maticích a navíc za velmi silnou. BMI(normální) => Systolický tlak(normální) Diastolický tlak (normální) všechny závislosti nalezené v datové matici Čáslav jsou odvozené ze znalosti 3). V datové matici Čáslav lze také nalézt velké množství závislostí odvozených z této znalosti. Za významné lze považovat zejména závislosti 8 a 9 z obr. 29 a závislosti 2, 26 a 29 z obr. 30, které nelze odvodit z jiných závislostí 62. Ani k této znalosti nelze nalézt protichůdně odvozené závislosti, takže ji lze považovat za platnou v obou datových maticích. Zdá se býti i poměrně silnou, i když slabší v porovnání se znalostmi 62 Ostatní závislosti totiž lze odvodit ze závislosti Věk(Mladí dospělí) Pohlaví(žena) => Krevní tlak(normální) 122

127 předchozími (v datové matici Praha bylo nalezeno méně závislostí, které lze z této znalosti odvodit) Vliv stresu Stejně jako při ověřování vlivu obezity budeme ověřovat vliv stresu na tlak. Tento vliv vyjádříme jako znalosti: 1) Psychická zátěž(střední,vysoká) => systolický tlak(hypertenze) 2) Psychická zátěž(střední,vysoká) => diastolický tlak(hypertenze) 3) Psychická zátěž(žádná,mírná)=>systolický tlak(normální) Diastolický tlak (normální) a budeme zjišťovat platnost či neplatnost těchto znalostí ve výsledcích lokální analýzy. Psychická zátěž(střední,vysoká) => systolický tlak(hypertenze) V datové matici Čáslav můžeme nalézt několik závislostí, které jsou odvozeny od této znalosti. Za pozornost stojí obzvláště závislost 6 z obr. 20, která není odvozená z jiných nalezených závislostí. Jediná závislost odvozená z této znalosti v datové matici Praha je závislost 15 (obr. 25). Mnoho dalších odvozených závislostí by bylo možno nalézt při definici souhlasnosti jako průniku, nicméně jedině tato je odvozená ze znalosti 1) při standardní definici souhlasnosti jako jednostranné podmnožiny. V datové matici Praha lze nalézt také závislosti, které lze odvodit z pravidla Psychická zátěž(střední,vysoká) =>tlak(normální) protichůdné závislosti. V příloze 6, se jedná o závislost 8 na obr. 29 a o závislost 26 na obr. 30.Ani jedna z těchto závislostí není odvozená od závislosti jiné, takže vliv psychické zátěže je v těchto pravidlech důležitý. Zatímco znalost 1) zřejmě platí v datové matici Čáslav (i když zde není příliš silná), v datové matici Praha spíše neplatí. Obecně tedy nelze potvrdit platnost této znalosti. Psychická zátěž(střední,vysoká) => diastolický tlak(hypertenze) Výsledky zkoumání znalosti 2) jsou podobné výsledkům u znalosti 1) V obou maticích lze nalézt malé množství závislostí z této znalosti odvozených, v datové matici Praha lze však nalézt i pravidla odvozená z Psychická zátěž(střední,vysoká) =>tlak(normální). Ani u této znalosti tedy nelze usoudit na obecnou platnost. Psychická zátěž(žádná,mírná)=>systolický tlak(normální) Diastolický tlak (normální) V datové matici Čáslav lze nalézt závislost odvozenou od této znalosti, jedná se o závislost 3 v 123

128 příloze 3. Lze však také nalézt závislosti protichůdně odvozené, například závislost 18 v obr. 20 (systolická hypertenze). V datové matici Praha se nepodařilo nalézt ani odvozené závislosti podporující tuto znalost. Tato znalost tedy jednoznačně neplatí. Shrnutí Platnost předpokládaných vztahů mezi psychickou zátěží (stresem) a krevním tlakem se nepodařilo jednoznačně prokázat. Obzvláště v datové matici Praha se zdá, že žádný jednoduchý vztah mezi psychickou zátěží a krevním tlakem neplatí. Je možné, že vliv na krevní tlak má okamžitý stres, nikoli stres dlouhodobý, jehož výše je zachycena atributem psychická zátěž. Tento dlouhodobý stres má vliv na krevní tlak pouze v kombinaci s dalšími faktory Vliv kouření Opět vyjádříme naše předpoklady ve formě znalostí : 1) Kouření(kuřák) => systolický tlak(hypertenze) 2) Kouření(kuřák) => diastolický tlak(hypertenze) 3) Kouření(nekuřák/příležitostný)=>Systolický tlak(normální) Diastolický tlak (normální) a budeme zjišťovat platnost či neplatnost těchto znalostí ve výsledcích lokální analýzy. Kouření(kuřák) => systolický tlak(hypertenze) Ani v jedné z datových matic nebyla nalezena závislost, která by byla z této znalosti odvozena. Lze tedy tvrdit, že tato znalost v datových maticích neplatí. Kouření(kuřák) => diastolický tlak(hypertenze) Ani v tomto případě nebyla nalezena odvozená závislost v žádné datové matici. Ani tato znalost tedy neplatí. Kouření(nekuřák/příležitostný)=>Systolický tlak(normální) Diastolický tlak (normální) V obou datových maticích bylo nalezeno několik závislostí odvozených z této znalosti, bylo však nalezeno mnohem více znalostí odvozených protichůdně. Ani tuto znalost tak nemůžeme považovat za platnou. Shrnutí Vliv kouření na krevní tlak bude zřejmě velmi nízký, takže se projevuje pouze v kombinacích s 124

129 jinými faktory. Je možné, že jiných výsledků by bylo dosaženo při větším stupni diskretizace dat, tedy pokud bychom mohli sledovat, kolik cigaret denně člověk vykouří Vliv věku Naše předpoklady opět vyjádříme ve formě znalostí: 1) Věk(Stáří) => systolický tlak(hypertenze) 2) Věk(Stáří) => diastolický tlak(hypertenze) 3) Věk(mladí dospělí)=>systolický tlak(normální) Diastolický tlak (normální) Věk(Stáří) => systolický tlak(hypertenze) V datové matici Praha jsou téměř všechny nalezené závislosti týkající se systolické hypertenze odvozeny z této znalosti. Je zde dokonce pět závislostí (4,11,14,18,19 z obr. 25), které mají v antecedentu krom literálu Věk(Stáří) jen jeden další literál. Nad datovou maticí také nebyla nalezena žádná závislost protichůdná k této znalosti. Závislost mezi věkem a systolickou hypertenzí se zdá být velmi silná. Ani v datové matici Čáslav nebyla nalezena žádná protichůdná závislos. Nebyla zde však nalezena ani závislost ze znalosti odvozená. V kapitole 7.2- Příprava dat Čáslav je vidět, že do kategorie Stáří spadá pouze 24 záznamů, což je 3.5% všech záznamů v datové matici. Tento počet byl zřejmě příliš malý na to, aby se ve výsledcích mohla objevit závislost mající tuto kategorii v antecedentu. Je zajímavé, že v datové matici Čáslav bylo nalezeno několik závislostí, které vysvětlují vztah systolické hypertenze pomocí literálu Věk(střední), zatímco v Praze taková závislost není ani jedna. Toto zjištění nabádá k hypotéze, že u lidí v Čáslavi se symptomy stáří (konkrétně tedy systolická hypertenze) projevují v dřívějším věku. Závislost Věk(Stáří) => systolický tlak(hypertenze) tedy platí (a je silná) v datové matici Praha. Její platnost se nepodařilo potvrdit, ani vyvrátit v datové matici Čáslav. Po bližším zkoumání jsme zjistili, že je to kvůli velmi nízkému počtu starých pacientů, o nichž jsou záznamy v datové matici. Postup analytika by nyní mohl být takový, že by si vyžádal provedení lokální analýzy nad daty z Čáslavi, zjišťující vztah mezi vysokým věkem a systolickou hypertenzí, při nízkém požadavku na Support. Tuto úlohu jsme také vykonaly. Zdání úlohy: 125

130 obr. 18: Zadání úlohy ve 4-ft Mineru Výsledky úlohy: obr. 19: Výsledky úlohy Zdá se tedy, že závislost mezi vysokým věkem a systolickou hypertenzí se vyskytuje i v datové matici Čáslav, nicméně zde nebyla objevena kvůli malému počtu záznamů o starých lidech. Věk(Stáří) => diastolický tlak(hypertenze) K této znalosti nebyla nalezena odvozená pravidla ani v jedné z datových matic. Ačkoli nebyly nalezeny ani protichůdné závislosti, lze předpokládat, že tato znalost neplatí. Věk(mladí dospělí)=>systolický tlak(normální) Diastolický tlak (normální) Všechny závislosti týkající se normálního tlaku nalezené v obou datových maticích lze odvodit z této znalosti. Zároveň z této znalosti nejsou žádné závislosti odvozeny protichůdně. Tuto znalost tedy lze považovat za platnou nad oběma datovými maticemi, přičemž její platnost je dosti silná. Za velmi významné pravidlo odvozené z této znalosti lze považovat pravidlo nalezené v datové matici Praha: Věk(Mladí dospělí) Pohlaví(žena) => krevní tlak(normální) jehož koeficient konfidence je

131 7.7.6 Vliv cvičení Vliv cvičení resp. tělesného pohybu jsme se pokusili zjistit pomocí atributů tělesná aktivita a fyzická zátěž v zaměstnání. Očekávané znalosti by mohli být tyto: 1) Fyzická zátěž v zam. (žádná) => systolický tlak(hypertenze) 2) Fyzická zátěž v zam.(žádná) => diastolický tlak(hypertenze) 3) Fyzická zátěž v zam. (střední+) => Systolický tlak(normální) Diastolický tlak (normální) 4) Tělesná aktivita(žádná) => systolický tlak(hypertenze) 5) Tělesná aktivita(žádná) => diastolický tlak(hypertenze) 6) Tělesná aktivita(střední+) => Systolický tlak(normální) Diastolický tlak (normální) Fyzická zátěž v zam. (žádná) => systolický tlak(hypertenze) V datech z Prahy existuje několik závislostí, které lze z této znalosti odvodit (např. závislosti 8,16 v obr. 23). Neexistují přitom protichůdné závislosti. Zdá se tedy, že nad datovou maticí Praha tato znalost platí, i když zde není příliš silná. V datové matici Čáslav nebyla nalezena žádná závislost, kterou by bylo možné z této znalosti odvodit, ale ani nebyly nalezeny protichůdné závislosti. Zajímavé je, že bylo nalezeno velké množství závislostí, které by bylo možno odvodit ze vztahu: Fyzická zátěž v zam. (střední+) => systolický tlak(hypertenze) včetně např.: BMI(obezita) Fyzická zátěž v zam.(střední+) => systolický tlak(hypertenze) 63 Zdá se tedy, že v datové matici Čáslav nejen že neplatí tato znalost, ale navíc že k vysokému systolickému tlaku tíhnou lidé s větší fyzickou zátěží v zaměstnání. Je možné, že mezi Prahou a Čáslaví jsou výrazné rozdíly v podobě zaměstnání, které lidé vykonávají a tato různá zaměstnání mají vliv na systolický tlak. V souhrnu lze říci, že tato znalost obecně neplatí, i když se zdá že platí (slabě) v datové matici Praha. Fyzická zátěž v zam.(žádná) => diastolický tlak(hypertenze) U diastolické hypertenze je situace podobná jako u hypertenze systolické. Navíc při definici souhlasnosti jako jednostranné podmnožiny nejsou nalezeny ani odvozené závislosti v datové matici 63 Pravidlo 22 v obr

132 Praha (Nalezeny jsou až při definici souhlasnosti jako podmnožiny či průniku). O této znalosti tedy můžeme říci, že neplatí nad žádnou z datových matic. Fyzická zátěž v zam. (střední+) => Systolický tlak(normální) Diastolický tlak (normální) K této znalosti nelze nalézt žádnou odvozenou závislost ani nad jednou datovou maticí, nad datovou maticí Čáslav naopak můžeme nalézt velké množství protichůdně odvozených závislostí. Tato znalost tedy také neplatí. Tělesná aktivita(žádná) => systolický tlak(hypertenze) V datové matici Čáslav můžeme nalézt několik závislostí, které jsou z této závislosti odvozené, nicméně každá z nich je odvozená i z jiné nalezené závislosti. Platnost této znalosti nad touto datovou maticí je tak spíše spekulativní a přikláníme k tomu, že zde tato znalost neplatí. V datové matici Praha nelze najít žádnou závislost, která by byla z této znalosti odvozena. Při definici souhlasnosti jako podmnožiny (ne jednostranné podmnožiny) lze navíc nalézt protichůdné závislosti. Tato znalost zde tedy neplatí. Tělesná aktivita(žádná) => diastolický tlak(hypertenze) U diastolické hypertenze je situace stejná, jako u hypertenze systolické. Ani zde tedy nelze potvrdit platnost závislosti. Tělesná aktivita(střední+) => Systolický tlak(normální) Diastolický tlak (normální) Ani u jedné datové matice nebyly nalezeny závislosti odvozené z této znalosti. U datové matice Praha byly navíc objeveny závislosti protichůdně odvozené při definici souhlasnosti jako podmnožiny. Tato znalost tedy také neplatí. Shrnutí Nepodařilo se potvrdit žádnou z předpokládaných znalostí týkajících se závislosti krevního tlaku na fyzických aktivitách. V datové matici Praha zřejmě platí znalost Fyzická zátěž v zam. (žádná) => systolický tlak(hypertenze), nicméně je poměrně slabá. Překvapivý je vztah Fyzická zátěž v zam. (střední+) => systolický tlak(hypertenze), který lze vypozorovat nad datovou maticí Čáslav. 128

133 7.7.7 Shrnutí výzkumu o platnosti znalostí Ukázalo se, že obezita skutečně silně ovlivňuje krevní tlak člověka. Obézní lidé mají tendenci mít jak systolickou, tak i diastolickou hypertenzi, lidé s normální hodnotou BMI mají zase tendenci mít normální krevní tlak. I věk má velmi silný vliv na krevní tlak člověka. Zatímco mladí lidé mají tendenci mít normální krevní tlak, staří lidé tíhnou k systolické hypertenzi. Vysoký věk zřejmě neovlivňuje tlak diastolický. Vliv kouření, stresu, ani tělesných aktivit na krevní tlak se nepodařilo prokázat. Ačkoli se v objevených závislostech tyto atributy vyskytují často, nezdá se, že by měli vliv sami o sobě a spíše ovlivňují krevní tlak v kombinaci s dalšími faktory. V datové matici Čáslav lze vypozorovat dosti překvapující vliv vysoké fyzické aktivity v práci na systolickou hypertenzi. Tento vztah je v rozporu s datovou maticí Praha, kde systolickou hypertenzí trpí spíše lidé s nízkou fyzickou aktivitou v práci. Výsledky této globální analýzy byly umístěny na webové stránky projektu SEWEBAR (sewebar.vse.cz/cardio) v sekci Analytical Reports 4iz210-zs10/11, do článku MFF: GAR znalosti. 129

134 Závěr Prvním z cílů práce bylo navrhnout metodiky a detailní návody pro tvorbu lokálních a globálních analytických reportů, které by mohly být použity stávajícími nástroji s důrazem na využití formalizovaných doménových znalostí. Vzhledem k tomu, že nástroje pro řečení globálních analytických otázek jsou teprve ve vývoji (viz. kapitola Vyhledávání v závislostech SEWEBAR), byly nejprve navrženy postupy pro řešení globálních analytických otázek, které lze také využít pro tvorbu lokálních analytických reportů. Následně byly navrženy způsoby reprezentace různých typů znalostí a struktura pro zaznamenání výsledků globálních analýz a tvorbu automaticky generovaných globálních analytických reportů. V kapitole 4 - Globální analytické otázky byly navrženy úrovně podobnosti a protichůdnosti závislostí, které lze využít pro řešení globálních analytických otázek, ale také při tvorbě souhrnných lokálních analytických reportů. Pozornost byla věnována převážně závislostem, které mají podobu asociačních pravidel. V podkapitole Další 4-ft kvantifikátory byla diskutována možnost využití těchto úrovní i pro jiné 4-ft kvantifikátory. Způsob použití navrhovaných postupů pro řešení globálních analytických otázek byl demonstrován v podkapitol 4.6 na příkladě tří typů otázek. V rámci kapitoly 5 - Background knowledge, byly popsány znalosti, se kterými je potřeba pracovat při řešení globálních analytických otázek. Byly zde uvedeny stávající způsoby reprezentace znalostí v projektu SEWEBAR a navrženy modifikace, které lépe vyhovují potřebám globálních analýz. Kapitola 6 - Globální analytické reporty byla věnována tvorbě globálních analytických reportů. Jsou v ní uvedeny požadavky na automaticky generované reporty a navržena XML struktura, pomocí níž by tyto reporty měly být zaznamenány. V rámci kapitoly byla také navržena kostra struktury, kterou by měly mít globální reporty vytvářené analytikem. Druhým cílem práce bylo zmapovat problémy, které souvisí s automatizací podpory řešením globálních analytických otázek a tvorbou lokálních a globálních analytických reportů. Při tvorbě souhrnných zpráv z dataminingových úloh (lokálních analytických reportů) naráží analytik na problém vybrat z nalezených závislostí ty, které jsou pro něj významné či překvapující. Navržené úrovně podobnosti a protichůdnosti lze využít nejen k řešení globálních analýz, ale také k vybrání zajímavých závislostí ze všech závislostí objevených v rámci zpracování lokální analytické otázky. Je možné odfiltrovat závislosti odvozené ze známých znalostí, či jiných závislostí a podstatně tak snížit množinu kandidátů na zajímavé závislosti. Tento postup je ukázán v kapitole Tvorba 130

135 pravých lokálních analytických reportů. Jedním z problémů při řešení globálních analytických otázek je strojová nečitelnost lidmi vytvořených dokumentů. Tento problém a způsob jeho částečného řešení je popsán v kapitole 3 - Lokální analytické zprávy, v práci se zabýváme typem globálních analytických otázek, které využívají automaticky vygenerované a dobře strukturované výsledky lokálních analýz a proto se tomuto problému více nevěnujeme. Práce se detailně zabývá problémem určení, zda jsou si dvě objevené závislosti podobné, resp. nakolik jsou si podobné. Tento vztah mezi závislostmi je využit k řešení globálních analytických otázek, které porovnávají výsledky lokálních analýz a snaží se identifikovat zajímavé odlišnosti v datových maticích. Tento problém a způsob jeho řešení je probírán v kapitole 4 - Globální analytické otázky. Při porovnávání závislostí objevenými v různých zdrojích (datových maticích) narážíme na problém různého vyjádření stejné vlastnosti objektů (např. vlastnost Výška pacienta může být vyjádřena v jedné datové matici v centimetrech, v jiné v palcích a v další pomocí kategorií Malý/Střední/Vysoký). Tímto problémem se krom kapitoly 4 zabýváme detailněji v kapitole Metaatributy. Třetím cílem práce bylo zformulovat několik lokálních a globálních analytických otázek týkajících se experimentálních kardiologických dat ADAMEK, vytvořit s využitím systému LISp-Miner odpovídající analytické zprávy a prezentovat je v rámci systému SEWEBAR. V kapitole 7 - Praktické provedení analýz byla řešena lokální analytická otázka, jejímž cílem bylo nalézt faktory ovlivňující krevní tlak člověka. Původní soubor dat ADAMEK byl rozdělen na dva dílčí soubory, jeden obsahující data pacientů z Prahy a druhý s daty pacientů z Čáslavi. Lokální analytická otázka byla následovně řešena nad oběma datovými soubory a výsledky (ve formě automaticky generovaných PMML Reportů i ručně vytvořených souhrnných zpráv) byly uloženy do systému SEWEBAR. Výsledky lokálních analýz a postupy navržené v této práci byly následně využity při řešení globálních analytických otázek. Výsledky byly opět publikovány v systému SEWEBAR ve formě dvou globálních analytických reportů. V práci jsou navrženy postupy, které je možno využít pro tvorbu lokálních analytických reportů a 131

136 řešení globálních analytických otázek. V práci jsme vycházíme z literatury uvedené na další straně. Domníváme se, že navržené postupy po implementaci umožní řešení globálních analytických otázek, tvorbu globálních analytických reportů a usnadní tvorbu reportů lokálních. Navrhované úrovně podobnosti a protichůdnosti by však měly být ještě porovnány a případně rozšířeny o poznatky plynoucí z výzkumu prof. Einoshin Suzukiho o hledání zajímavých výjimek v datech a výzkumu Ing. Martina Kejkuly o postprocesingu hypotéz. 132

137 Literatura [1] Balhar J., Kliegr T., Šťastný D., Vojíř S. (2010): Elicitation of Background Knowledge for Data Mining, Znalosti 2010 [2] Beránek L., Hazucha A., Kliegr T., Marek T. : Vyhledávání v asociacních pravidlech plnotextove, strukturovane nebo sémanticky?, Draft dosud nepublikovaného článku, připravovaného k publikaci začátkem roku [3] Hájek P., Havel I. T., Chytil M. K. (1966): Metoda GUHA automatického vyhledávání hypotéz, Kybernetika 2 (1966), [4] Kubík R. (2009): Doménové znalosti, analytické otázky, systém LISp-Miner a data ADAMEK (Diplomová práce), Vysoká škola ekonomická v Praze, 2009 [5] Kliegr T., Ralbovský M.,Svátek V., Šimůnek M., Jirkovský V., Nemrava J, Zemánek J.(2009): Semantic Analytical Reports: A Framework for Post-Processing Data Mining Results, Lecture Notes in Computer Science (2009), vol. 5722/2009, [6] Kliegr T., Svátek V., Šimůnek M., Šťastný D., Hazucha O. (2010): An XML Schema and a Topic Map Ontology for Formalization of Background Knowledge in Data Mining, IRMLeS 2010 [7] Kliegr T., Rauch J. (2010): An XML Format for Association Rule Models Based on the GUHA Method, Lecture Notes in Computer Science, 2010, vol. 6403, [8] Olaru A., Marinica C., Guillet F. (2009): Local mining of association rules with rule schemas, CIDM 2009, pages [9] Rauch J., Šimůnek M. (2002): Alternative Approach to Mining Association Rules, FDM 2002, The Foundation of Data Mining and Knowledge Discovery, The Proceedings of the Workshop of ICDM02, [10] Rauch J. (2004): Asociační pravidla a matematická logika, Znalosti 2004, [11] Rauch J. (2007): Project SEWEBAR Considerations on Semantic Web and Data Mining, IICAI-07 (2007), [12] Rauch J., Šimůnek M (2008): LAREDAM Considerations on System of Local Analytical Reports from Data Mining, Lecture Notes in Computer Science (2008), vol. 4994/2008, [13] Rauch J., Šimůnek M. (2009): Dealing with Background Knowledge in the SEWEBAR Project, Studies in Computational Intelligence (2009), vol. 220/2009, [14] Rauch J. (2009): Considerations on Logical Calculi for Dealing with Knowledge in Data Mining, Studies in Computational Intelligence (2009), vol. 223, [15] Svátek V., Kliegr T.,Nemrava J., Ralbovský M., Šplíchal J., Vejlupek T., Roček V., Rauch J.: Building and Integrating Competitive Intelligence Reports Using the Topic Map Technology, TMRA (2009), [16] Vojíř S. (2010): SEWEBAR - ginclude - tvorba analytických zpráv v prostředí CMS Joomla!, Znalosti

138 Online zdroje [17] CRISP-DM, [cit ], dostupné na: [18] EuroMISE centrum Kardio: Projekt STULONG přehledný popis, říjen 2003 [cit ], dostupné na: [19] CELOSTNIMEDICINA.CZ: Vysoký krevní tlak, neboli hypertenze, prosinec 2005 [cit ], dostupné na: [20] The official site of the LISp-Miner project: Tutorial, [cit ], dostupné na: [21] WIKIPEDIA: Body Mass Index, Wikipedia the free encyclopedia, říjen 2010 [cit ], dostupné na: [22] WIKIPEDIA: Bloof pressure, Wikipedia the free encyclopedia, listopad 2010 [cit ], dostupné na: 134

139 Příloha 1: Čáslav systolická hypertenze obr. 20: Výsledky výzkumu Čáslav faktory -> systolický tlak(hypertenze) obr. 21: Výsledky výzkumu Čáslav 4 a více faktorů -> systolický tlak(hypertenze) 135

140 Příloha 2: Čáslav diastolická hypertenze obr. 22: Výsledky výzkumu Čáslav faktory ->diastolický tlak(hypertenze) obr. 23: Výsledky výzkumu Čáslav 4 a více faktorů ->diastolický tlak(hypertenze) 136

141 Příloha 3: Čáslav normální tlak obr. 24: Výsledky výzkumu Čáslav všechny faktory -> normální tlak (systolický i diastolický) 137

142 Příloha 4: Praha systolická hypertenze obr. 25: Výsledky výzkumu Praha faktory ->systolický tlak(hypertenze) obr. 26: Výsledky výzkumu Praha 4 a více faktorů ->systolický tlak(hypertenze) 138

143 Příloha 5: Praha diastolická hypertenze obr. 27: Výsledky výzkumu Praha faktory ->diastolický tlak(hypertenze) obr. 28: Výsledky výzkumu Praha 4 a více faktorů ->diastolický tlak(hypertenze) 139

144 Příloha 6: Praha normální tlak obr. 29: Výsledky výzkumu Praha faktory ->normální tlak (systolický i diasolocký) obr. 30: Výsledky výzkumu Praha 4 a více faktorů ->normální tlak (systolický i diasolocký) 140

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

Úvod do dobývání. znalostí z databází POROZUMĚNÍ 4iz260 Úvod do DZD Úvod do dobývání DOMÉNOVÉ OBLASTI znalostí z databází VYUŽITÍ VÝSLEDKŮ POROZUMĚNÍ DATŮM DATA VYHODNO- CENÍ VÝSLEDKŮ MODELOVÁNÍ (ANALYTICKÉ PROCEDURY) PŘÍPRAVA DAT Ukázka slidů

Více

Dolování asociačních pravidel

Dolování asociačních pravidel Dolování asociačních pravidel Miloš Trávníček UIFS FIT VUT v Brně Obsah přednášky 1. Proces získávání znalostí 2. Asociační pravidla 3. Dolování asociačních pravidel 4. Algoritmy pro dolování asociačních

Více

Analytické procedury v systému LISp-Miner

Analytické procedury v systému LISp-Miner Dobývání znalostí z databází MI-KDD ZS 2011 Přednáška 8 Analytické procedury v systému LISp-Miner Část II. (c) 2011 Ing. M. Šimůnek, Ph.D. KIZI, Fakulta informatiky a statistiky, VŠE Praha Evropský sociální

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

Příprava dat v softwaru Statistica

Příprava dat v softwaru Statistica Příprava dat v softwaru Statistica Software Statistica obsahuje pokročilé nástroje pro přípravu dat a tvorbu nových proměnných. Tyto funkcionality přinášejí značnou úsporu času při přípravě datového souboru,

Více

Ontologie. Otakar Trunda

Ontologie. Otakar Trunda Ontologie Otakar Trunda Definice Mnoho různých definic: Formální specifikace sdílené konceptualizace Hierarchicky strukturovaná množina termínů popisujících určitou věcnou oblast Strukturovaná slovní zásoba

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi

Více

Informační systémy 2006/2007

Informační systémy 2006/2007 13 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení Informační systémy 2006/2007 Ivan Kedroň 1 Obsah Analytické nástroje SQL serveru. OLAP analýza

Více

DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ PŘÍKLADY APLIKACÍ V KARDIOLOGICKÝCH DATECH Jan Rauch

DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ PŘÍKLADY APLIKACÍ V KARDIOLOGICKÝCH DATECH Jan Rauch DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ PŘÍKLADY APLIKACÍ V KARDIOLOGICKÝCH DATECH Jan Rauch Anotace: Příspěvek obsahuje základní informace o dobývání znalostí jakožto důležité disciplíně informatiky a ukazuje příklady

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Dobývání znalostí z databází (MI-KDD) Přednáška číslo 5 Zajímavé dvojice podmnožin objektů, procedura SD4ft-Miner

Dobývání znalostí z databází (MI-KDD) Přednáška číslo 5 Zajímavé dvojice podmnožin objektů, procedura SD4ft-Miner Dobývání znalostí z databází (MI-KDD) Přednáška číslo 5 Zajímavé dvojice podmnožin objektů, procedura SD4ft-Miner (c) prof. RNDr. Jan Rauch, CSc. KIZI, Fakulta informatiky a statistiky VŠE zimní semestr

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

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

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 OBSAH 1 ÚVOD... 3 1.1 HOME STRÁNKA... 3 1.2 INFORMACE O GENEROVANÉ STRÁNCE... 4 2 VYHLEDÁVÁNÍ V ÚZEMÍ...

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

Více

Formální požadavky na zpracování bakalářské práce

Formální požadavky na zpracování bakalářské práce - 1 - Formální požadavky na zpracování bakalářské práce Minimální rozsah 40 stran Řádkování Řádkování 1,5 Písmo Velikost 12, Times New Roman Okraje Horní okraj stránky 25 mm, dolní okraj stránky 25 mm,

Více

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

Formální systém výrokové logiky Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)

Více

DATAMINING SEWEBAR CMS

DATAMINING SEWEBAR CMS DATAMINING SEWEBAR CMS POUŽÍVANÉ NÁSTROJE Dolování z dat LISp-Miner Tvorba analytických zpráv Softwarová podpora projektem SEWEBAR Podporované prohlížeče Mozilla Firefox 11 či novější Google Chrome Většina

Více

4. blok část A Logické operátory

4. blok část A Logické operátory 4. blok část A Logické operátory Studijní cíl Tento blok je věnován představení logických operátorů AND, OR, NOT v jazyce SQL a práce s nimi. Doba nutná k nastudování 1-2 hodiny Průvodce studiem Při studiu

Více

1. Matematická logika

1. Matematická logika Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1. Matematická logika Základem každé vědy (tedy i matematiky i fyziky) je soubor jistých znalostí. To, co z těchto izolovaných poznatků

Více

Problémové domény a jejich charakteristiky

Problémové domény a jejich charakteristiky Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 02 1/16 Problémové domény a jejich charakteristiky Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta

Více

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

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1 Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit

Více

Asociační pravidla (metoda GUHA)

Asociační pravidla (metoda GUHA) Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Asociační pravidla (metoda GUHA) Ing. Michal Burda () Získávání znalostí z dat Brno, 27. ledna

Více

Výroková logika - opakování

Výroková logika - opakování - opakování ormální zavedení Výroková formule: Máme neprázdnou nejvýše spočetnou množinu A výrokových proměnných. 1. Každá proměnná je výroková formule 2. Když α, β jsou formule, potom ( α), (α β), (α

Více

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

Hodnocení (ne)zajímavosti asociačních pravidel za využití báze znalostí

Hodnocení (ne)zajímavosti asociačních pravidel za využití báze znalostí Hodnocení (ne)zajímavosti asociačních pravidel za využití báze znalostí Přemysl Václav Duben, Stanislav Vojíř Katedra informačního a znalostního inženýrství, FIS, Vysoká škola ekonomická v Praze nám. W.

Více

Metadata. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

Metadata. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu Metadata MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu Co to jsou metadata Chybějící metadata Doplněná metadata Co o metadatech říkají autority Řízení metadata je nepochybně nejdůležitější

Více

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a datových modelů Obsah Seznam tabulek... 1 Seznam obrázků... 1 1 Úvod... 2 2 Metody sémantické harmonizace... 2 3 Dvojjazyčné katalogy objektů

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška třetí Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

1. Matematická logika

1. Matematická logika MATEMATICKÝ JAZYK Jazyk slouží člověku k vyjádření soudů a myšlenek. Jeho psaná forma má tvar vět. Každá vědní disciplína si vytváří svůj specifický jazyk v úzké návaznosti na jazyk živý. I matematika

Více

Základní pojmy matematické logiky

Základní pojmy matematické logiky KAPITOLA 1 Základní pojmy matematické logiky Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. 1. Výroková logika Co je

Více

Tabulkový procesor. Základní rysy

Tabulkový procesor. Základní rysy Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních

Více

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

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu VÝROKOVÁ LOGIKA Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. Co je výrok nedefinujejme, pouze si řekneme, co si pod

Více

Návod na základní používání Helpdesku AGEL

Návod na základní používání Helpdesku AGEL Návod na základní používání Helpdesku AGEL Úvod Přihlášení Nástěnka Vyhledání a otevření úlohy Otevření úlohy Seznam úloh Vyhledávání úloh Vytvoření nové úlohy Práce s úlohami Editace úlohy Změna stavu

Více

MULTISIM VÝUKOVÝ ELEKTRONICKÝ MATERIÁL

MULTISIM VÝUKOVÝ ELEKTRONICKÝ MATERIÁL MULTISIM VÝUKOVÝ ELEKTRONICKÝ MATERIÁL MULTISIM ELECTRONIC EDUCATION MATERIAL Pavel BENAJTR Resumé Tématem bakalářské práce bylo vytvoření výukového elektronického materiálu pro simulační program Multisim

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška první Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Co a k čemu je logika? 2 Výroky a logické spojky

Více

Pro zvládnutí této kapitoly budete potřebovat 4-5 hodin studia.

Pro zvládnutí této kapitoly budete potřebovat 4-5 hodin studia. Úvod (Proč se zabývat statistikou?) Statistika je metoda analýzy dat, která nachází široké uplatnění v celé řadě ekonomických, technických, přírodovědných a humanitních disciplín. Její význam v poslední

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Informační systém řešící rozvrhování

Informační systém řešící rozvrhování AIP Scholaris 1(1), 2012, 15 21, ISSN 1805-613X Online: scholaris.vse.cz Informační systém řešící rozvrhování Petra Procházková 1 1 Fakulta informatiky a statistiky, Vysoká škola ekonomická v Praze nám.

Více

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Vytěžování dat Miroslav Čepek, Filip Železný Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Evropský sociální fond Praha & EU: Investujeme

Více

Aplikace: Znalostní báze

Aplikace: Znalostní báze Aplikace: Znalostní báze 1 Znalostní báze je systém, který dostává fakta o prostředí a dotazy o něm. Znalostní báze je agentem ve větším systému, který obsahuje prostředí (také agent), správce (agent),

Více

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

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

Více

Zadání semestrální práce IKTZ 2 letní semestr 2009/2010

Zadání semestrální práce IKTZ 2 letní semestr 2009/2010 Zadání semestrální práce IKTZ 2 letní semestr 2009/2010 Obecné zadání Dle zadání zpracujte data ze studie STULONG (soubory Entry a Contr). Práce je rozdělena do tří částí, které se řeší odděleně. Výstupem

Více

POSUDEK VEDOUCÍHO BAKALÁŘSKÉ PRÁCE

POSUDEK VEDOUCÍHO BAKALÁŘSKÉ PRÁCE POSUDEK VEDOUCÍHO BAKALÁŘSKÉ PRÁCE Jméno studenta Branný Jan Název práce Jméno vedoucího práce Jméno oponenta práce Realizace modulárního CMS pro digitální agentury Ing. David Hartman Ph.D. Ing. Lukáš

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Výroková logika II Negace Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Na konkrétních příkladech si ukážeme, jak se dají výroky negovat. Obecně se výrok dá negovat tak, že před

Více

Rubrika Zajímavostí ze zahraničního obchodu končí, ostatní zdroje získávání dat zůstávají

Rubrika Zajímavostí ze zahraničního obchodu končí, ostatní zdroje získávání dat zůstávají 31. 12. 2015 Rubrika Zajímavostí ze zahraničního obchodu končí, ostatní zdroje získávání dat zůstávají Oznamujeme příznivcům rubriky Zajímavosti ze zahraničního obchodu (ZO), že od 1. ledna 2016 dochází

Více

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

Vysoká škola ekonomická. Katedra informačního a znalostního inženýrství. Fakulta informatiky a statistiky. Systém LISp-Miner Vysoká škola ekonomická Katedra informačního a znalostního inženýrství Fakulta informatiky a statistiky Systém LISp-Miner Stručný popis určený pro posluchače kurzů Metod zpracování informací verse 20.

Více

Správa VF XML DTM DMVS Datový model a ontologický popis

Správa VF XML DTM DMVS Datový model a ontologický popis Správa VF XML DTM DMVS Datový model a ontologický popis Verze 1.0 Standard VF XML DTM DMVS Objednatel Plzeňský kraj Institut plánování a rozvoje hlavního města Prahy Zlínský kraj Kraj Vysočina Liberecký

Více

Doplňování chybějících hodnot v kategoriálních datech 2.00

Doplňování chybějících hodnot v kategoriálních datech 2.00 Doplňování chybějících hodnot v kategoriálních datech 2.00 1. Cíle programu Účelem programu je umožnit uživateli doplnění chybějících hodnot v kategoriálních datech. Pro doplnění chybějících hodnot je

Více

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

X36SIN: Softwarové inženýrství. Životní cyklus a plánování X36SIN: Softwarové inženýrství Životní cyklus a plánování 1 Kontext Minule jsme si řekli, co to je deklarace záměru, odborný článek, katalog požadavků, seznam aktérů a seznam událostí. Seznam aktérů a

Více

Struktura e-learningových výukových programù a možnosti jejího využití

Struktura e-learningových výukových programù a možnosti jejího využití Struktura e-learningových výukových programù a možnosti jejího využití Jana Šarmanová Klíčová slova: e-learning, programovaná výuka, režimy učení Abstrakt: Autorská tvorba výukových studijních opor je

Více

Segmentace bankovních zákazníků algoritmem k- means

Segmentace bankovních zákazníků algoritmem k- means Segmentace bankovních zákazníků algoritmem k- means LS 2014/2015 Michal Heřmanský xherm22 Obsah 1 Úvod... 3 1.1 CRISP- DM... 3 2 Porozumění problematice a datům... 4 3 Příprava dat... 5 4 Modelování...

Více

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

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

Projektová dokumentace pro tvorbu internetových aplikací

Projektová dokumentace pro tvorbu internetových aplikací Projektová dokumentace pro tvorbu internetových aplikací Tomáš Kuthan PhDr. Milan Novák, Ph.D. Školní rok: 2008-09 Abstrakt Bakalářská práce stanovuje vzor pro vytváření projektové dokumentace internetových

Více

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ metodický list č. 1 Dobývání znalostí z databází Cílem tohoto tematického celku je vysvětlení základních pojmů z oblasti dobývání znalostí z databází i východisek dobývání znalostí z databází inspirovaných

Více

Specifikace předmětu plnění Datová tržiště

Specifikace předmětu plnění Datová tržiště Příloha 1 Specifikace předmětu plnění Datová tržiště Etapa 1 Analýza statistické domény produkčních statistik 1 Obsah ETAPA 1 ANALÝZA STATISTICKÉ DOMÉNY PRODUKČNÍCH STATISTIK... 3 1.1. Koncepční shrnutí...

Více

Analýza a modelování dat. Helena Palovská

Analýza a modelování dat. Helena Palovská Analýza a modelování dat Helena Palovská Analýza a modelování pro SW projekt Strukturovaný přístup Dynamická část (procesy, aktivity, funkce) Statická část (data) Objektově orientovaný přístup use case

Více

Reporting. Ukazatele je možno definovat nad libovolnou tabulkou Helios Orange, která je zapsána v nadstavbě firmy SAPERTA v souboru tabulek:

Reporting. Ukazatele je možno definovat nad libovolnou tabulkou Helios Orange, která je zapsána v nadstavbě firmy SAPERTA v souboru tabulek: Finanční analýza Pojem finanční analýza Finanční analýza umožňuje načítat data podle dimenzí a tyto součty dlouhodobě vyhodnocovat. Pojem finanční analýza není nejpřesnější, protože ukazatele mohou být

Více

3. Podmíněná pravděpodobnost a Bayesův vzorec

3. Podmíněná pravděpodobnost a Bayesův vzorec 3. Podmíněná pravděpodobnost a Bayesův vzorec Poznámka: V některých úlohách řešíme situaci, kdy zkoumáme pravděpodobnost náhodného jevu za dalších omezujících podmínek. Nejčastěji má omezující podmínka

Více

Základní práce v souborovém manažeru

Základní práce v souborovém manažeru Základní práce v souborovém manažeru 18-20-M/01 Informační technologie Základní pojmy a prostředky pro programování webových stránek Zvládnutí nástrojů typických pro programování webových aplikací Základní

Více

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy Koza se pase na polovině zahrady, Jaroslav eichl, 011 K OZA E PAE NA POLOVINĚ ZAHADY Zadání úlohy Zahrada kruhového tvaru má poloměr r = 10 m. Do zahrady umístíme kozu, kterou přivážeme provazem ke kolíku

Více

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Téma 2.2 Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Obecný postup: Každá tabulka databáze by měla obsahovat pole (případně sadu polí), které jednoznačně identifikuje každý

Více

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak

Více

Dobývání znalostí z databází (MI-KDD) Přednáška číslo 9 Využití doménových znalostí

Dobývání znalostí z databází (MI-KDD) Přednáška číslo 9 Využití doménových znalostí Dobývání znalostí z databází (MI-KDD) Přednáška číslo 9 Využití doménových znalostí (c) prof. RNDr. Jan Rauch, CSc. KIZI, Fakulta informatiky a statistiky VŠE zimní semestr 2011/2012 Evropský sociální

Více

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

Asociační i jiná. Pravidla. (Ch ) Asociační i jiná Pravidla (Ch. 14 +...) Učení bez učitele Nemáme cílovou třídu Y, G; máme N pozorování což jsou p-dimenzionální vektory se sdruženou pravděpodobností chceme odvozovat vlastnosti. Pro málo

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování. 3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.

Více

Predikátová logika Individua a termy Predikáty

Predikátová logika Individua a termy Predikáty Predikátová logika Predikátová logika je rozšířením logiky výrokové o kvantifikační výrazy jako každý, všichni, někteří či žádný. Nejmenší jazykovou jednotkou, kterou byla výroková logika schopna identifikovat,

Více

Popisná statistika kvantitativní veličiny

Popisná statistika kvantitativní veličiny StatSoft Popisná statistika kvantitativní veličiny Protože nám surová data obvykle žádnou smysluplnou informaci neposkytnou, je žádoucí vyjádřit tyto ve zhuštěnější formě. V předchozím dílu jsme začali

Více

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

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou

Více

Jak používat statistiky položkové v systému WinShop Std.

Jak používat statistiky položkové v systému WinShop Std. Jak používat statistiky položkové v systému WinShop Std. Systém WinShop Std. využívá k zápisům jednotlivých realizovaných pohybů (příjem zboží, dodací listy, výdejky, převodky, prodej zboží na pokladně..)

Více

Závěrečná práce. Odborný styl

Závěrečná práce. Odborný styl Závěrečná práce Odborný styl Anotace - abstrakt Anotace je napsána na samostatném listu a má rozsah 10 až 15 řádků.je stručným a komplexním popisem obsahu práce, nově objevených skutečností a z nich plynoucích

Více

Modelování procesů s využitím MS Visio.

Modelování procesů s využitím MS Visio. Modelování procesů s využitím MS Visio jan.matula@autocont.cz Co je to modelování procesů? Kreslení unifikovaných či standardizovaných symbolů, tvarů a grafů, které graficky znázorňují hlavní, řídící nebo

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9 Obsah Úvod 9 Kapitola 1 Business Intelligence, datové sklady 11 Přechod od transakčních databází k analytickým..................... 13 Kvalita údajů pro analýzy................................................

Více

Úvod do logiky (VL): 11. Ověřování, zda je formule tautologií metodou protipříkladu

Úvod do logiky (VL): 11. Ověřování, zda je formule tautologií metodou protipříkladu Jiří Raclavský (214): Úvod do logiky: klasická výroková logika Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.7/2.2./28.216, OPVK) Úvod

Více

Tvorba kurzu v LMS Moodle

Tvorba kurzu v LMS Moodle Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce

Více

Dolování v objektových datech. Ivana Rudolfová

Dolování v objektových datech. Ivana Rudolfová Dolování v objektových datech Ivana Rudolfová Relační databáze - nevýhody První normální forma neumožňuje vyjádřit vztahy A je podtypem B nebo vytvořit struktury typu pole nebo množiny SQL omezení omezený

Více

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH Jindřich Kaluža Ludmila Kalužová Recenzenti: prof. Ing. Milan Turčáni, CSc. prof. Ing. Ivan Vrana, DrSc. Tato kniha vznikla za finanční podpory Studentské grantové

Více

Jak budeme řešit otevřená data ve veřejné správě? Michal Rada Ministerstvo vnitra ČR

Jak budeme řešit otevřená data ve veřejné správě? Michal Rada Ministerstvo vnitra ČR Jak budeme řešit otevřená data ve veřejné správě? Michal Rada Ministerstvo vnitra ČR OPEN Není to jen o samotných datech Hodně se hovoří o opendatech jako otevřených datech Příkladem jsou otevřená data

Více

Využití tabulkového procesoru MS Excel

Využití tabulkového procesoru MS Excel Semestrální práce Licenční studium Galileo srpen, 2015 Využití tabulkového procesoru MS Excel Ing Marek Bilko Třinecké železárny, a.s. Stránka 1 z 10 OBSAH 1. ÚVOD... 2 2. DATOVÝ SOUBOR... 2 3. APLIKACE...

Více

Vývoj informačních systémů. Obecně o IS

Vývoj informačních systémů. Obecně o IS Vývoj informačních systémů Obecně o IS Informační systém Informační systém je propojení informačních technologií a lidských aktivit směřující k zajištění podpory procesů v organizaci. V širším slova smyslu

Více

VOLBA SAMOSTATNÉHO CENTRÁLNÍHO ÚTVARU LOGISTIKY VE VÝROBNÍM PODNIKU

VOLBA SAMOSTATNÉHO CENTRÁLNÍHO ÚTVARU LOGISTIKY VE VÝROBNÍM PODNIKU VOLBA SAMOSTATNÉHO CENTRÁLNÍHO ÚTVARU LOGISTIKY VE VÝROBNÍM PODNIKU THE CHOICE OF AN INDEPENDENT CENTRAL LOGISTICS DEPARTMENT IN A MANUFACTURING COMPANY Stanislav Koutný 1 Anotace: V rámci příprav na širší

Více

ZÁKLADY STATISTICKÉHO ZPRACOVÁNÍ ÚDAJŮ 5. hodina , zapsala Veronika Vinklátová Revize zápisu Martin Holub,

ZÁKLADY STATISTICKÉHO ZPRACOVÁNÍ ÚDAJŮ 5. hodina , zapsala Veronika Vinklátová Revize zápisu Martin Holub, ZÁKLADY STATISTICKÉHO ZPRACOVÁNÍ ÚDAJŮ 5. hodina - 22. 3. 2018, zapsala Revize zápisu Martin Holub, 27. 3. 2018 I. Frekvenční tabulky opakování z minulé hodiny Frekvenční tabulka je nejzákladnější nástroj

Více

Usuzování za neurčitosti

Usuzování za neurčitosti Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích

Více

Začínáme s Tovek Tools

Začínáme s Tovek Tools NAJÍT POCHOPIT VYUŽÍT Úvodní seznámení s produktem Tovek Tools JAK SI TOVEK TOOLS NAINSTALUJI?... 2 JAK SI PŘIPOJÍM INFORMAČNÍ ZDROJE, VE KTERÝCH CHCI VYHLEDÁVAT?... 2 JAK MOHU VYHLEDÁVAT V INFORMAČNÍCH

Více

7. Rozdělení pravděpodobnosti ve statistice

7. Rozdělení pravděpodobnosti ve statistice 7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,

Více

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server. 1 Práce se systémem Tento dokument popíše způsob instalace a základy práce se systémem Joomla!, ve kterém je učebnice jazyka Scratch vytvořena. Podrobný návod k systému Joomla! je popsán v dokumentaci

Více

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

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

Střední průmyslová škola Zlín

Střední průmyslová škola Zlín VY_32_INOVACE_33_01 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_01_ACCESS_P2 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

Matematické modelování dopravního proudu

Matematické modelování dopravního proudu Matematické modelování dopravního proudu Ondřej Lanč, Alena Girglová, Kateřina Papežová, Lucie Obšilová Gymnázium Otokara Březiny a SOŠ Telč lancondrej@centrum.cz Abstrakt: Cílem projektu bylo seznámení

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

HODNOCENÍ VÝKONNOSTI PODNIKU VE SPOJITOSTI SE STRATEGICKÝMI CÍLY

HODNOCENÍ VÝKONNOSTI PODNIKU VE SPOJITOSTI SE STRATEGICKÝMI CÍLY 29 HODNOCENÍ VÝKONNOSTI PODNIKU VE SPOJITOSTI SE STRATEGICKÝMI CÍLY POKORNÝ Karel Abstrakt: Metoda Balanced Scorecard (BSC) její podstata, obsah a principy. Vztah BSC ke strategickému a operativnímu řízení

Více

Aplikace pro srovna ní cen povinne ho ruc ení

Aplikace pro srovna ní cen povinne ho ruc ení Aplikace pro srovna ní cen povinne ho ruc ení Ukázkový přiklad mikroaplikace systému Formcrates 2010 Naucrates s.r.o. Veškerá práva vyhrazena. Vyskočilova 741/3, 140 00 Praha 4 Czech Republic tel.: +420

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

4 ARCHITEKTURA PODNIKOVÝCH PROCESŮ S ARISEM

4 ARCHITEKTURA PODNIKOVÝCH PROCESŮ S ARISEM 41 4 ARCHITEKTURA PODNIKOVÝCH PROCESŮ S ARISEM V této kapitole vysvětlíme potřebu strukturované architektury podnikových procesů, a seznámíme se s běžnými typy modelů, používaných v ARISu k reprezentaci

Více