Algorithms and Application for spatial data mining Ronnie Bathoorn Inhoud Spatial data mining Framework Spatial clustering algorithms Spatial characterization Spatial trend detection Spatial classification Spatial data mining: Waarom? Handmatige interpretatie onmogelijk Door: – Grote hoeveelheid data – Continue groei in de hoeveelheid data Spatial data mining: Wat? Het vinden van – Onregelmatigheden – Regels – Patronen In spatiële databases Voortgekomen uit KDD (Knowledge discovery in databases) Wat is een spatiële database? Bevat objecten gekenmerkt door – Spatiele locatie / extentie – Meerdere niet-spatiele attributen Wat is KDD? The non-trivial process of discovering valid, novel, potentially usefull and ultimately understandable patterns from data - Fayyad et al. 1996 Spatial data mining: Hoe? Gebruik maken van neighbourhood van objecten Waarde attributen buren kan invloed hebben op waarde attributen object Spatial data mining 1. 2. 3. 4. Spatial clustering Spatial characterization Spatial trend detection Spatial classification Framework voor spatial data mining Gebaseerd op: Neighbourhood relations Neighbourhood graphs Neighbourhood paths Waarom een Framework? Versnelt de ontwikkeling Maakt algoritmes portable Gebruik beter index structuren versnelt alle algoritmen die framework gebruiken Integratie in comerciele DBMSen Spatial neighbourhood relations Topologisch Afstand Richting En combinaties Topologische relaties Disjoint Overlap Equals Covers Coverd by Contains Inside Distance en Direction Distance A distance>2 B Direction B northeast A B A B A Spatial neighbourhood graphs Definition DB Gneighbour = (N,E) Nodes N = DB Edges E subset_of N x N edge e = (n1,n2) exists iff neighbour(n1,n2) holds Spatial neighbourhood paths Definition Neighbourhood path of length k is a sequence [n1,n2,…,nk] where neighbour(ni,ni+1) holds for all nodes with 1 ≤ i < k KDD en paths Paths geven een mogelijkheid om de ruimte af te zoeken Kunnen gebruikt worden om de zoekruimte te beperken Beperken met filters Filters Geven restricties op de mogelijke paden vanaf een start object Starlike Variable-Starlike Vertical-Starlike Extra neighbourhood operations Neighbours: Graph x Object x Predicate → Sets_of_Objects Paths: Sets_of_Objects x Int → Sets_of_Paths Extensions: Graph x s_of_p x Int x Predicate → Sets_of_Paths DBMS ondersteuning Neighbourhood index – Maximum distance voor relaties om aantal object paren te beperken – Voor alle relatie types (topologisch, afstand, richting) worden de concrete relaties opgeslagen Neighbourhood index Object-ID Neighbour Distance Direction Topology A B 2.7 SouthWest Disjoint A C 0 NorthWest Overlap … … … … … Spatial clustering Groepeer objecten in clusters Objecten in een cluster lijken zoveel mogelijk op elkaar Objecten uit verschillende clusters verschillen zo veel mogelijk betekenis clusters staat niet vast Spatial clustering Density based algoritme Voor elk punt in een cluster geldt: – Eps-neighbourhood bevat minstens een vastgesteld aantal punten – ‘density’ in dit gebied moet boven een threshold liggen Spatial clustering: GDBSCAN GDBSCAN(DB,NPred,MinWeight) DB zijn de spatiële objecten NPred is de neighbourhood relation MinWeight is de ‘density’ threshold Spatial clustering: GDBSCAN Berekent de neighbourhood van elk object Als ‘density’ (neigbourhood) > threshold – Maak hier een cluster van – Bereken neighbourhood van alle toegevoegde objecten – Laat cluster groeien zolang ‘density’ > threshold Spatial clustering: toepassing 1 Verdeel 5-D featurespace verkregen uit verschillende satteliet foto’s van Californië in classen Methode GDBSCAN met – NPred(X,Y) = dist(X,Y) < 1.42 – MinWeight(N) = cardinality(N) ≥ 20 Objecten in classen waarscheinlijk van zelfde type grond Spatial clustering: toepassing 2 Detecteren van Methode ‘influence regions’ in – Detecteer ‘influence regions’ Economisch – Zoek maximale geografische data neighbourhood die lijkt over Duitsland op het centrale object van de cluster – Vergelijk met theoretische waarde voor het vinden van afwijkingen Spatial characterization Vinden van compacte beschrijving van een subset uit een database beschrijving bestaat uit spatial association rules Spatial association rules Beschrijven van associaties door middel van spatiële neighbourhood relaties Is_a(X,town) → close_to(X,Y) and is_a(Y,water) (80%) Spatial Apriori Maakt gebruik van de realieve frequentie van waarden in de database ten opzichte van de subset DB ƒtargets(prop)= Freqtargets(prop) freqDB(prop) Card(targets) Card(DB) Spatial characterization Het vinden van alle eigenschappen waarvoor geldt: DB ƒ (prop) ≥ significance nh(subset) voor ten minste min_confidence objecten Spatial characterization: Toepassing Vinden van spatial characterization van economische kracht van een gemeenschap Methode – Vergroot de regio om de start subset – Kies eigenschappen in deze regio die meest informatie bevatten – Genereer spatial rules die deze regio beschrijven Spatial trend detection Spatial trend is gelijkmatige verandering van 1 of meer attributen wanneer je afstand neemt van startobject O Gelijkmatigheid wordt beschreven door regressie op de attributen van objecten in een neighbourhood path Spatial trend detection: Algoritme Lineare Regressie – Start vanuit een source object O1 – Bepaal de afstand to object O2 op een neighbourhood path vanuit O1 – Bepaal het verschil in niet-spatiële attributen tussen de 2 objecten – Er is een trend wanneer er genoeg correlatie tussen deze 2 waarden is Spatial trend detection Detecteren globale trend – Breath-first search op all neighbourhood paths vanuit O1 Detecteren locale trend – Depth-first search op all neighbourhood paths vanuit O1 Spatial trend detection: Toepassing Detecteer trends in de economische welvaart van communities in Duitsland Methode Lineare regressie 0.6 < Correlatie < 0.8 op ‘gemiddelde huur’ Filter = vertical-starlike 4 < Path lengte < 7 Spatial Classification Ken object toe aan classe Mogelijke classen zijn gegeven Toekenning gebasseerd op waarde van attributen Waarde van attributen van buren kunnen ook van invloed zijn Spatial classification: Algoritme Decision tree algorithm Uitbreiding op ID3 – Generalized attributes lijst met alle waardes van dit atribuut op een neighbourhood path – Lengte paden is begrenst omdat invloed van verre buren kleiner is Spatial classification: Algoritme Nearest neighbour Nearest hit en nearest miss gebruikt om kenmerkende eigenschappen van classe te vinden Decision tree wordt gemaakt met kenmerkende attributen Boom gemaakt met geaggregeerde data Conclusie Door gebruik te maken van neighbourhood graphs en paths kunnen mining algoritmen efficient uitgevoerd worden op commerciële DBMSen Het model kan uitgebreidt worden met de tijd-dimensie om analyse op historische gegevens mogelijk te maken