Algorithms and Application for spatial data mining

Post on 30-Dec-2015

56 views 0 download

description

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: - PowerPoint PPT Presentation

Transcript of Algorithms and Application for spatial data mining

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

A B

A

B

Spatial neighbourhood graphs

Definition G = (N,E)

Nodes N = DB

Edges E subset_of N x N

edge e = (n1,n2) exists iff neighbour(n1,n2) holds

DB

neighbour

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 South-West

Disjoint

A C 0 North-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

Freqtargets(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 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