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. Spatial clustering 2. Spatial characterization 3. Spatial trend detection 4. 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 AB A B
Spatial neighbourhood graphs Definition G = (N,E) Nodes N = DB Edges E subset_of N x N edge e = (n 1,n 2 ) exists iff neighbour(n 1,n 2 ) holds DB neighbour
Spatial neighbourhood paths Definition Neighbourhood path of length k is a sequence [n 1,n 2,…,n k ] where neighbour(n i,n i+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 StarlikeVariable-StarlikeVertical-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-IDNeighbourDistanceDirectionTopology AB2.7South- West Disjoint AC0North- West 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 ‘influence regions’ in Economisch geografische data over Duitsland Methode –Detecteer ‘influence regions’ –Zoek maximale neighbourhood die lijkt 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 ƒ (prop)= DB targets Freq targets (prop) Card(targets) freqDB(prop) Card(DB)
Spatial characterization Het vinden van alle eigenschappen waarvoor geldt: ƒ (prop) ≥ significance voor ten minste min_confidence objecten DB nh(subset)
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 O 1 –Bepaal de afstand to object O 2 op een neighbourhood path vanuit O 1 –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 O 1 Detecteren locale trend –Depth-first search op all neighbourhood paths vanuit O 1
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