Create Presentation
Download Presentation

Download Presentation

Computational Geometry and Spatial Data Mining

Download Presentation
## Computational Geometry and Spatial Data Mining

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Marc van Kreveld (and Giri Narasimhan)**Department of Information and Computing Sciences Utrecht University Computational Geometry and Spatial Data Mining**Clustering?**• Are the people clustered in this room? • How do we define a cluster? • In spatial data mining we have objects/ entities with a location given by coordinates • Cluster definitions involve distance between locations • How do we define distance?**Clustering - options**• Determine whether clustering occurs • Determine the degree of clustering • Determine the clusters • Determine the largest cluster • Determine the largest empty region • Determine the outliers**Co-location**• Are the men clustered? • Are the women clustered? • Is there a co-location of men and women? • Determine regions favored exclusively by women. Men? Loners? Couples? Families? • Determine empty regions.**Co-location**• Like before, we may be interested in • is there co-location? • the degree of co-location • the largest co-location • the co-locations themselves • the objects not involved in co-location • Regions with no (or little) co-location**Spatio-temporal data**• Locations have a time stamp • Interesting patterns involve space and time • Anomalies?**Trajectory data**• Entities with a trajectory (time-stamped motion path) • Interesting patterns involve subgroupswith similar heading, expected arrival,joint motion, ... • n entities = trajectories; n = 10 – 100,000 • t time steps; t = 10 – 100,000 input size is nt • m size subgroup (unknown); m = 10 – 100,000**Examples of trajectory data**• Tracked animals (buffalo, birds, ...) • Tracked people (potential terrorists) • Tracked GSMs (e.g. for traffic purposes) • Trajectories of tornadoes • Sports scene analysis (players on a soccer field)**Example pattern in trajectories**• What is the location visited by most entities? location = circular region of specified radius**Example pattern in trajectories**• What is the location visited by most entities? location = circular region of specified radius 4 entities**Example pattern in trajectories**• What is the location visited by most entities? location = circular region of specified radius 3 entities**Example pattern in trajectories**• Compute buffer of each trajectory**1**Example pattern in trajectories • Compute buffer of each trajectory • Compute the arrangement of the buffers and the cover count of each cell 1 1 1 2 0 1**Example pattern in trajectories**• One trajectory has t time stamps; its buffer can be computed in O(t log t) time • All buffers can be computed in O(nt log t) time • The arrangement can be computed in O(nt log (nt) + k) time, where k = O( (nt)2 ) is the complexity of the arrangement • Cell cover counts are determined in O(k) time**Example pattern in trajectories**• Total: O(nt log (nt) + k) time • If the most visited location is visited bym entities, this is O(nt log (nt) + ntm) • Note: input size is nt ;n entities, each with location at t moments**Patterns in entity data**Spatial data • n points (locations) • Distance is important • clustering pattern • Presence of attributes (e.g. man/woman): • co-location patterns Spatio-temporal data • n trajectories, each has t time steps • Distance is time-dependent • flock pattern • meet pattern • Heading and speed are important and are also time-dependent**Entities in subdivisions**• Also co-location pattern • Discovered simply by overlayE.g., occurrences of oakson different soil types**Clustering entities in subdivisions**• What if it is known that the entities only occur in regions of a certain type? Situation without subdivision radius of cluster bird nests**Clustering entities in subdivisions**• What if it is known that the entities only occur in regions of a certain type? Situation with subdivisionland-water radius of cluster bird nests**house**car Clustering entities in subdivisions burglary**Region-restricted clustering**Joint research with Joachim Gudmundsson (NICTA, Sydney) and Giri Narasimhan (U of F, Miami), 2006 • Determine clusters in point sets that are sensitive to the geographic context (at least, for the relevant aspects) Assume that a set of regions is given where points can only be, how should we define clusters?**Region-restricted clustering**• Given a set P of points, a set F of regions, a radius r and a subset size m, aregion-restricted cluster is a subset P’P inside a circle C where • P’ has size at least m • C has radius at most 2r • C contains at most r2 area of regions of F r ≤ 2r sum area ≤ r2**Region-restricted clustering**• Given a set P of n points, a set F of polygons with nf edges in total, and values for r and m, report all region-restricted clusters of exactly m points • Exactly m points? • “Real” clustering (partition)? • Outliers?**Region-restricted clustering**• Exactly m points?Every cluster with >m points consists of clusters with m points with smaller circles • “Real” clustering (partition)? • Outliers? m = 5**Region-restricted clustering**• Exactly m points?Every cluster with >m points consists of clusters with m points with smaller circles • “Real” clustering (partition)? • Outliers? m = 5**Region-restricted clustering**• Determine all smallest circles with m points of P inside • Test if the radius is ≤r (report) or > 2r (discard) • If the radius is in between, determine the area of regions of F inside**Region-restricted clustering: Step 1**• Determine all minimal circles with m points of P inside • Determine all minimal circles with 3 points of P inside**ordinary =**order-1 VD**Region-restricted clustering**• Determine all smallest circles with m points of P inside • Use (m-2)-th order Voronoi diagram: cells where the same (m-2) points are closest • Its vertices are centers of smallest circles around exactly m points**ordinary =**order-1 VD**Region-restricted clustering**• The m-th order Voronoi diagram (or (m-2)) has O(nm) cells, edges, and vertices • It can be constructed in O(nm log n) time we get O(nm) smallest circles with m points inside; for each we also know the radius**Region-restricted clustering**2. Test if the radius is ≤r (report) or > 2r (discard) Trivial in O(1) time per circle, so in O(nm) time overall**Region-restricted clustering**3. Determine the area of regions of F inside Brute force: O(nf) time per circle, so in O(nmnf) time overall**Region-restricted clustering**• Complication: This need not give all region-restricted clusters! • Need to compute area of F inside a circle with moving center • Requires solving high-degree polynomials**Region-restricted clusters**• The anti-climax: we cannot give an exact algorithm! • If we takes squares instead of circles, we can deal with the problem ....**Region-restricted clustering**3. Determine the area of regions of F inside Brute force: O(nf) time per square, so in O(nmnf) time overall The total time for steps 1, 2, and 3 isO(nm log n) + O(nm) + O(nmnf) = O(nm log n + nmnf) time**Region-restricted clustering**3. Determine the area of regions of F inside Using a suitable data structure (only possible for squares): O(log2nf) time per square, so in O(nm log2 nf) time overall The total time becomes O(nm log n + nflog2 nf +nm log2 nf) total query time in data structure order- (m-2) VD construction preprocessing of data structure**Region-restricted clustering**• The squares solution generalizes toregular polygons (e.g. 20-gons) • An approximation of the radius within (1+)r gives a O(n/2 + nf log2nf + n log nf /(m 2)) time algorithm 16-gon**Region-restricted clustering**• Open problems: • Develop a region-restricted version of k-means clustering, single link clustering, ... • Region-restricted co-location? • Replace region-restricted by gradual model typical: clusters: 0 /unit 2 /unit 5 /unit 8 /unit**Patterns in trajectories**• n trajectories, each with t time steps n polygonal lines with t vertices • Already looked at most visited location**Patterns in trajectories**• Flock: near positions of (sub)trajectories for some subset of the entities during some time • Convergence: same destination region for some subset of the entities • Encounter: same destination region with same arrival time for some subset of the entities • Similarity of trajectories • Same direction of movement, leadership, ...... flock convergence