Hledání prostorových asociačních pravidel v prostorových databázích Lukáš Janák Zdroj: Discovery of Spatial Association Rules in Geographic Information Databases Krzysztof Koperski, Jiawei Han Simon Fraser University Burnaby. B.C., Canada V5A S6 e-mail: {koperski,han}@cs.sfu.ca
Obsah prezentace Základní pojmy GIS Data mining Asociační pravidla Víceúrovňová asociační pravidla Prostorová asociační pravidla Příklad (+ aproximační algoritmy) Asociace v praxi GRASS a asociace Závěr
Základní pojmy I GIS soubor nástrojů pro sběr, ukládání, vyhledávání, transformaci a zobrazování prostorových dat z reálného světa pro jednotlivé účely Prostorová data data, která se vztahují k určitým místům v prostoru, a pro která jsou na potřebné úrovni rozlišení známé lokalizace těchto míst Geografická data druh prostorových dat. Známá geografická poloha místa na Zemi, ke kterému se data vztahují Prostorová databáze (v širším smyslu) Databáze s prostorovými daty
Základní pojmy II Geoprvek základní prostorová entita popisovaná prostorovými daty Např. řeka, důl, studna Odkazujeme se jedinečným identifikátorem adresa, kód. Popis geoprvku 5 složek: Geometrická - poloha + geometrické vlastnosti Popisná negeometrické vlastnosti (atributy) Časová Vztahová... Funkční... Jak to implementovat?
Základní pojmy III Vektorový datový model (zjednodušeně) Pro geoprvky je odděleně vedena geometrická (prostorová databáze) a popisná složka (relační databáze) Spojeno přes jedinečný identifikátor Geoprvky znázorněny pomocí geometrických prvků: bod, linie, plocha Příklad: Bod (id_bod, x, y) Plocha (id_plocha, id_linie:multi) Linie (id_linie, id_plocha_p, id_ plocha_l, id_bod:multi) Parcela (id_parcela, id_majitel, rozloha, id_plocha) Rybník (id_rybník, id_majitel, rozloha, id_plocha)
Data Minig I Data Minig Integrovaný obor matematiky, ekonomie a informatiky Česky : dolování znalostí z dat Obor vznikl jako reakce na myšlenku využít dlouhodobě ukládaná data (do archivů ) nejen ke svému původnímu účelu, ale i k získání dalších poznatků Využití: Podpora strategické rozhodování ve firmě Nové poznatky socilogie, politologie, biologie Definice: Dolováním znalostí nazýváme proces netriviálního získávání implicitní, dříve neznámé a potencionálně užitečné informace z dat
Data Minig II Metody dolování: statistických charakteristiky, korelační a regresní analýza, multidimenzionální statistické metody, diskriminační a faktorovou analýzu, hledání asociací, shlukovou analýzu, konstrukce rozhodovacích stromů, a mnoho dalších (fantazii se meze nekladou) SQL pouze jako pomocný prostředek
Asociace I Asociace Hledání vztahů mezi některými podmnožinami atributů Pro atributy A a B mohl být vztah například typu: jestliže A=, pak B=5 (implikace) A= právě tehdy, když B=5 (asociace) hodnoty A korelují s B (korelace) Pojmy: Výraz typu A = y nazveme formule (predikát), označíme F Např.: F = věk (30-40), F = plat (0 000-0 000) Složená formule: F, F F, F F,. Sentence (pravidlo): Př.: F F antecedent sukcedent věk (30-40) plat (0 000-0 000)
Asociace II Pojmy: s... spolehlivost určuje sílu implikace p... podpora určuje významnost implikace Příklad kompletního pravidla věk (30-40) plat (0 000-0 000) s(66,7%) p(33,3%) kouření infarkt rakovina_plic s(80,0%) p(5,0%) Spolehlivost pravidla F F je pravděpodobnost toho, že jeden objekt vyhovuje predikátům z antecedentu a zároveň sukcedentu. Podpora pravidla F F, je podíl počtu objektů, které vyhovují formuli antecedentu i sukcedentu ku celkovému počtu objektů. V praxi máme zdanou dolní mez pro s i pro p a hledáme pouze silná pravidla
Asociace III Hledání asociací Triviální algoritmus Postupné generování všechny možné kombinace predikátů na levé i pravé straně pravidla a testovat v datech, je-li výsledkem silné asociační pravidlo. Exponenciální časová složitostí. Apriori algoritmus Nejprve jsou vyhledány kombinace antecedentu, které dosahují minimální stanovené hodnoty podpory a z nich jsou generovány silné asociace (takové, které navíc dosahují i minimální spolehlivosti).
Asociace - Příklad Vstup Úprava DB (kategorizace) Věk Plat Typ Datum Věk: 0-30 4 0 000 A 50 0.0.005 30-40 5 35 5 30 000 5 000 5 000 C 30 A 60 CDI A 50 05.03.005 03.0.005 08.09.005 40 50 3 50-60 4 3 7 000 C 30 5..005 3 33 36 000 7 000 E 40 CDI A 60 CDI 6.05.005..005 Plat(tis.): 0 30 4 4 39 4 000 50 000 0 000 E 40 CDI SL 600 A 50 8.04.005 09.0.005.06.005 30 40 40 3 7 3 000 C 30.07.005 3 43 33 5 000 5 000 7 000 A 60 CDI A 50 C 30 0.04.005 3.0.005 4.0..005 Typ: A50, A 60 C30, E40 33 8 40 35 000 000 37 000 E 40 CDI A 60 CDI E 40 CDI 06.05.005 6.0.005 7.08.005 SL600 3 Datum: kvartály - 4 39 6 000 SL 600 8..005
Asociace - Příklad Upravený vstup 4 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 3 4 3 Datum Typ Plat Věk Ptáme se: Jaký je vztah mezi věkem a platem? Jaký je vztah mezi platem a typem? Jaký je vztah mezi věkem a typem? Jaký je vztah mezi datem a typem? Vztah věk a plat: 0 0 4 3 6 0 3 Věk / plat
Asociace - Příklad Vztah věk a plat (pokr.): Věk /plat 3 0 6 3 4 věk (30-40) plat (0 000-30 000) s(67%) p(33%) Další: plat (0 000-30 000) typ (A 50, A 60) s(80%) p(44%) plat (30 000-40 000) typ (C 30, E 40) s(00%) p(8%) plat nad 40 000 typ (SL 600) s(67%) p(%) datum (4. - 6.) typ (C 30, E 40) s(60%) p(7%) věk (30-40) typ (A50, A60) s(44%) p(%) věk (30-40) a plat (0 000-30 000) typ (A 50, A 60) s(67%) p (%) 0 0
Asociace IV Víceúrovňová asociační pravidla Pracuje se na různých konceptuálních úrovních Různý způsob kategorizace: Typ: A50, A60 C30, E40 SL600 3 Důsledek jiná pravidla: Typ: A50, A 60 C30, E40, SL600 plat nad 40 000 typ (C 30, E 40) s(33%) p(%) plat nad 40 000 typ (SL 600) s(67%) p(%) plat nad 40 000 typ (C 30, E 40, SL 600) s(00%) p(%)
Asociace IV Víceúrovňová asociační pravidla (pokr.) Kategorie lze uspořádat hiearchycky Typ A50, A 60 Levnější C30, E40, SL600 Dražší A50, A 60 Levný C30, E40 Středně d. 3 SL600 Drahý (Typ (Levnější (A50,A60), (Dražší (Středně d. (C30,E40),Drahý(SL600)))))
Prostorová asociační pravidla Co chceme najít? Pravidla typu: Neboli: 9% měst v Britské Kolumbii na břehu vodní plochy je blízko USA Odkud? Prostorová databáze Jak? Postup založený na využití poznatků z postupů dolování různých typů asociačních pravidel (víceúrovňová pravidla ) u jiných typů dat a prostorové analýze
Prostorová asociační pravidla Definice: Prostorové asociační pravidlo je asociační pravidlo, které obsahuje alespoň jeden prostorový predikát Prostorový predikát protíná, je_uvnitř, je_vně, sousedí, pokrývá, je_pokryt severně-, jižně-, západně-, východně položeno je_blízko, je_daleko Příklad je (X, dům) a je_blízko (X, pláž) je_drahý (X) 3 typy predikátů!!!
Příklad zadání úkolu Zdroj dat Geografická databáze s údaji o Britské Kolumbii (CAN) se strukturou: město (název, typ, počet_obyvatel, geo, ) komunikace (název, typ, geo, ) voda (název, typ, geo, ) důl (název, typ, geo, ) hranice (název, typ, administrativní_oblast_, administrativní_oblast_, geo, ). GeoMiner
Příklad konceptuální hierarchie Nutné pro získávání více-úrovňových asociačních pravidel Konceptuální hierarchie pro voda (3 úrovně): (voda (moře (průliv(georgia_strait, ), záliv ( ), ), řeka (velká_řeka (Fraser_River, ), ), jezero (velké_jezero(okanagan_lake, ), ), ), ) Podobně lze organizovat i prostorové predikáty (topologické vztahy). Např. predikát je_poblíž pokrývá množinu predikátů protíná, sousedí, obsahuje a je_blízko. A také popisné predikáty
Příklad zadání úkolu Cíle analýzy Předpokládejme, že uživatel má zájem nalézt na mapě Britské Kolumbie silné prostorové vztahy mezi velkými městy a blízkými objekty doly, hranicemi států, vodními plochami a významnými komunikacemi. Dotaz pro GeoMiner discover spatial association rules inside British Columbia from komunikace K, voda V, důl D, hranice H in relevance to město M where je_poblíž (M.geo, X.geo) and X in {K,V,D,H} and M.typ= velkoměsto and K.typ in {dálnice} and V.typ in {moře, oceán, velké jezero, velká řeka} and H.administrativní_oblast_ in B.C. and H.administrativní_oblast_ in U.S.A.
Příklad zpracování dotazu. Vyhledání objektů relevantních k dotazu. velkoměsta (v B.C. splňuje 40 měst). dálnice 3. moře, oceány, velká jezera a velké řeky 4. doly 5. hranice B.C. a USA komunikace (název, typ, geo, ). Nalezení objektů z množin 5, které jsou vůči nalezeným velkoměstům v množině ve vztahu je_poblíž.
Příklad zpracování dotazu. Nalezení objektů (pokr.) Nutno implementovat efektivně vzhledem k počtu objektů ale zároveň stačí aproximace Možná řešení: MBR, plane sweeping, R*-stromy. MBR (MOO) Aproximace geoprvku obdélníku. Plane sweeping (metoda pohyblivé přímky) Preparata & Shamos, 985 obecná metoda používaná při řešení rovinných problémů posunování vertikální přímky, kterou horizontálně po rovině přímka postupně zasahuje jeden po druhém objekty v rovině když dojde k takovéto události, je vyřešen dílčí problém na přímce použití: Vyhledávání průsečíků přímek (O(n log n + k)) Vyhledání průsečíku hran polygonů -> průnik polygonů Vyhledávaní průniků obdélníků (MBR,MOO)
Příklad zpracování dotazu. Plane sweeping - příklad
Příklad zpracování dotazu 3. R*- stromy DS pro zachycení prostorových vztahů Varianta R-stromů Vnitřní uzly obsahují záznamy tvaru (I, ukazatel), ukazatel ukazuje na podstrom v R-stromu I pokrývá všechny MBR, které se vyskytují v podstromě List obsahuje ukazatel na prostorový objekt Problém: MBR se mohou překrývat -> složité vyhledávání Řešení: optimalizace při konstrukci R-stromu R-stromy: minimalizovat objem odpovídající oblasti I R*-stromy: optimalizace velikosti ohraničujícího prostoru velikosti okraje I velikosti překrytí těchto prostorů
Příklad zpracování dotazu 3. R*- stromy příklad Aplikace R*-stromů na zjišťování průniků p. objektů Aproximace objektu lichoběžníky -> vybudování R*-stromu pro objekt
Příklad zpracování dotazu 3. R*- stromy vyhledávaní průniků Hledám lichoběžníky v průniku Pokud nemají průnik MMO, tak nemohou mít ani žádné jimi pokryté lichoběžníky Nutno projít R*-stromy v čase O(n + n)
Příklad zpracování dotazu Velkoměsto Voda Komunikace Hranice Důl Victoria Saanich Juan_de_Fuca_Strait Juan_de_Fuca_Strait highway_, highway_7 highway_, highway_7 US US Prince_George highway_97 Pentincton Okanagan_Lake highway_97 US Alalla je (X, velkoměsto) je_poblíž (X, voda) (80%) (nejvyšší konceptuální úroveň dat a predikátů)
Příklad zpracování dotazu 3. Upřesňující výpočet pro predikáty. Každý predikát je_poblíž je nahrazen konkrétním predikátem (protíná, sousedí, obsahuje a je_blízko) Juan_de_Fuca_Strait <sousedí, J.Fuca_Strait> Velkoměsto Voda Komunikace Hranice Victoria <sousedí, J.Fuca_Strait> <protíná, highway_> <protíná, highway_7> <je_blízko, US> Saanich <sousedí, J.Fuca_Strait> <protíná, highway_> <protíná, highway_7> <je_blízko, US> Prince_George <protíná, highway_97> Pentincton <sousedí,okanagan_lake> <protíná, highway_97> <je_blízko, US>
Příklad zpracování dotazu Z předchozí tabulky získáme: k 3 Frekventované množiny k-predikátů <sousedí, voda> <protíná, dálnice> <je_blízko, dálnice> <je_blízko, us_hranice> <sousedí, voda>, <protíná, dálnice> <sousedí, voda>, <je_blízko, us_hranice> <je_blízko, us_hranice>, <protíná, dálnice> <sousedí, voda>, <je_blízko, us_hranice>, <protíná, dálnice> Počet 3 9 9 8 5 3 6 je (X, velkoměsto) je_blízko (X, dálnice) (73%) je (X, velkoměsto) protíná (X, dálnice) sousedí (X,voda) (86%) (nejvyšší konceptuální úroveň dat a zpřesnění predikátů)
Příklad zpracování dotazu 4. Upřesňující výpočet pro data dle konceptuální hierarchie. a) Druhá úroveň k 3 Frekventované množiny k-predikátů <sousedí, moře> <sousedí, řeka> <je_blízko, us_hranice> <protíná, provincial_highway> < je_blízko, provincial_highway> <sousedí, moře>, <je_blízko, us_hranice> <je_blízko, us_hranice>, <protíná, provincial_highway> <sousedí, moře>, < je_blízko, provincial_highway> <je_blízko, us_hranice>, < je_blízko, provincial_highway> <sousedí, voda>, <je_blízko, us_hranice>, <protíná, dálnice> Počet 8 4 5 9 0
Příklad zpracování dotazu b) Třetí úroveň k Frekventované množiny k-predikátů <sousedí, georgia_strait> <sousedí, fraser_river> <je_blízko, us_hranice> <sousedí, georgia_strait>, <je_blízko, us_hranice> Počet 9 0 8 7 je (X, velkoměsto) sousedí (X, moře) (53%) (. konceptuální úroveň dat a zpřesnění predikátů) je (X, velk.) sousedí (X, georgia_st) je_blízko (X, us) (78%) (3. konceptuální úroveň dat a zpřesnění predikátů)
Algoritmus Vstup. Prostorová databáze s popisnou složkou a množina konceptuálních hierarchií. Dotaz nad bází dat 3. Dva numerické parametry pro každou konceptuální úroveň: minimální podpora minimální spolehlivost Výstup Silná víceúrovňová prostorová asociační pravidla pro množinu relevantních objektů a vztahů. Popis algoritmu Raději ne
Asociace v praxi Projekt GeoMiner pravděpodobně zastaven, nebo alespoň přerušen??? (záhada č.) Projekt SPIN! zaměřený na nové možnosti pro analýzu prostorových dat implementaci platformy pro data mining prostorových dat subsystém SPADA http://www.ais.fraunhofer.de/kd/spin/ Existuje software (komerční i free), které s funkcemi, které lze zařadit do metod DM: shlukování statistické analýzy (modelování, korelace, regrese) v podstatě jde o aplikaci DM metod nad popisnou složkou GIS + rozšíření o možnosti vizualizace výsledků
GRASS a asociace GRASS lze rozšířit o rozhraní pro statistickou analýzu dat a grafickou prezentaci výsledku R http://www.geog.uni-hannover.de/grass/statsgrass/grass_geostats.html Systém R poskytuje širokou škálu statistických technik a algoritmů strojového učení, např. klasifikace, shlukováni, lineární a nelineární modelováni, asociační pravidla apod. Tomáš Buk, Petr Kuba, Luboš Popelinský : GRR (záhada č.) je systém pro dolování v geografickém informačním systému GRASS grafické uživatelské rozhraní rozhraní pro komunikaci se systémem R rozhraní pro komunikaci s vlastním geografickým informačním systémem. http://gis.vsb.cz/gisengl/publications/gis_ova/003/referaty/popeli nsky.htm
Závěr Možnosti využití Geografie Biologie Energetika Ochrana životního prostředí jiné oblasti (záleží na fantazii )
Bonus
Děkuji za pozornost