A Spatial Index Structure for High Dimensional Point Data

20
A Spatial Index Structure for High A Spatial Index Structure for High Dimensional Point Data Dimensional Point Data Wei Wang, Jiong Yang, and Richard Muntz Data Mining Lab Department of Computer Science University of California, Los Angeles

description

PK tree. A Spatial Index Structure for High Dimensional Point Data. Wei Wang, Jiong Yang, and Richard Muntz Data Mining Lab Department of Computer Science University of California, Los Angeles. Outline. Introduction Structure of PK-tree Operations on PK-tree Performance Conclusions. - PowerPoint PPT Presentation

Transcript of A Spatial Index Structure for High Dimensional Point Data

Page 1: A Spatial Index Structure for High Dimensional Point Data

A Spatial Index Structure for High A Spatial Index Structure for High Dimensional Point DataDimensional Point Data

Wei Wang, Jiong Yang, and Richard MuntzData Mining Lab

Department of Computer ScienceUniversity of California, Los Angeles

Page 2: A Spatial Index Structure for High Dimensional Point Data

OutlineOutline

• Introduction• Structure of PK-tree• Operations on PK-tree• Performance• Conclusions

Page 3: A Spatial Index Structure for High Dimensional Point Data

IntroductionIntroduction

• Dynamic spatial index method has been an active research area. – index structure based on spatial decomposition

• PR-Quad tree, K-D tree, K-D-B tree, ...• No overlapping among sibling nodes• How to achieve high disk page utilization for large dimensionality

with skewed data distributions remains a challenge.

– R-tree family of index structure• R*-tree, SR-tree, X-tree, ... • Increasing of overlapping among sibling nodes along with

increasing dimensionality degrades performance severely.

Page 4: A Spatial Index Structure for High Dimensional Point Data

IntroductionIntroduction

• PK-tree– Spatial decomposition

• no overlapping among sibling nodes– Bound on height– Bounds on number of children– Uniqueness for any data set

• independent of order of insertion and deletion– Solid theoretical foundation– Fast retrieval and updates

Page 5: A Spatial Index Structure for High Dimensional Point Data

Structure of PK-treeStructure of PK-tree

• Recursively rectilinear dividing space

dim 1

dim 2

ith level

(i+1)th level

. . . . . .

. . . . . .

. . .

. . .

. . .. . .

Set notation (e.g., , , , , , , ) is used to express relationships among cells.

Page 6: A Spatial Index Structure for High Dimensional Point Data

Structure of PK-treeStructure of PK-tree

• Space is recursively divided until a level LD such that each cell contains at most one point.

. . . ..

. . . . . ..

..

. . ..

. .. . .

.

Level 0

. . . ..

. . . . . ..

..

. . ..

. .. . .

.

Level 3

. . . ..

. . . . . ..

..

. . ..

. .. . .

.

Level 2

. . . ..

. . . . . ..

..

. . ..

. .. . .

.

Level 1

Page 7: A Spatial Index Structure for High Dimensional Point Data

Structure of PK-treeStructure of PK-tree

• Point cell: a non-empty cell at level LD

• A cell C is K-instantiable iff– C is a point cell, or– there does not exist (K-1) or less K-instantiable sub-cells C1, …, CK-1

C, such that d D (d C d i=0K-1 Ci).

.. . . . . .

..

.. . .

.. .

. . ..

. . . .

Level 3 (LD) Level 2

.. . . . . .

..

.. . .

.. .

. . ..

. . . ..

. . . . . ..

..

. . ..

. .. . .

.

. . . .

Level 1

K = 3

Page 8: A Spatial Index Structure for High Dimensional Point Data

Structure of PK-treeStructure of PK-tree

root

Example of a PK-tree of rank 3

a2 c2d1 b4d2 c3 e1 e2 f3 h1g1 g2 h2 g3 a7 g5f6f5e5d8c8d7b8b7

.. . . . . .

..

.. . .

.. .

. . ..

. . . .

Level 3 (LD)

12345678

a b c d e f g h

U R

12345678

.. . . . . .

..

.. . .

.. .

. . ..

. . . .

Level 1a b c d e f g h

U R

K

NM

B D M N K

12345678

.. . . . . .

..

.. . .

.. .

. . ..

. . . .

Level 2a b c d e f g h

B D

K

M N

Page 9: A Spatial Index Structure for High Dimensional Point Data

Structure of PK-treeStructure of PK-tree

• Given a finite set of points D over index space C0 and dividing ration R, a PK-tree of rank K (K>1) is defined as follows.

– The cell at level 0 (C0) is always instantiated and serves as the root of the PK-tree.

– Every node else (except the root) in the PK-tree is mapped one-to-one to a K-instantiable cell.

– For any two nodes C1 and C2 in the PK-tree, C1 is a child of C2 (or C2 is the parent of C1) iff

• C1 is a proper sub-cell of C2, i.e., C1 C2, and

• there does not exist C3 in the PK-tree such that C1 C3 and C3 C2.

• Properties: existence and uniqueness, bounds on node outdegree, bounded storage space, bounds on expected height, no overlapping among sibling nodes, and so on.

Page 10: A Spatial Index Structure for High Dimensional Point Data

Properties of PK-treeProperties of PK-tree

H

longest path

Expected Height of a PK-tree

Ci

Ci+1 P(d Ci+1 | d Ci) < 1...

at least K-1...

at least K-1...

at least K-1

...at least K-1

leaf

root (N points)

Page 11: A Spatial Index Structure for High Dimensional Point Data

Properties of PK-treeProperties of PK-tree

• M-Level Clustering Spatial Distribution– 0-level: uniform distribution over C0 P(d Ci+1 | d Ci) = 1/r

– 1-level: Let A C0 be some subset of C0 and Ac = C0 - A. Distributions for points in A and Ac are 0-level clustering spatial distribution.

A

Ac Ci+1

Ci

...

...

...

...

1)1(

)|( 1

cc AA

A

AA

Aii DD

DDrD

DCdCdP

Page 12: A Spatial Index Structure for High Dimensional Point Data

Operations on PK-treeOperations on PK-tree

• Pagination of the PK-tree– Pick the parameter K and the number of dimensions to split at each level such that

the maximum size node is close to a page size.– Allocate one node to a page.– Space utilization can be guaranteed to be at least 50% and is much more than 50%

in experiments.• Insertion

– First follow the path from the root to locate all (potential) ancestors of the inserted leaf cell.

– Then from the leaf level back to the root along the same path to make all necessary changes (e.g., instantiate or de-instantiate cells).

• Search– K Nearest Neighbor Query– Range Query

Page 13: A Spatial Index Structure for High Dimensional Point Data

PerformancePerformance

• Setup: Sparc 10 workstation (SunOS 5.5) with 208 MB main memory and a local disk with 9GB capacity

• Synthetic Data Sets (each contains 100,000 points)– u: uniform distribution– c1, c2: 20% of data are uniformly distributed and 80% of data are distributed in

disjoint clusters• Height of generated trees

Dimension 2 4 8 16 32 64

PK-tree (u) 4 4 5 6 7 9

PK-tree (c1) 5 7 7 6 7 8

PK-tree (c2) 7 7 6 7 8 9

X-tree 4 4 4 4 5 6

SR-tree 4 4 5 5 6 7

Page 14: A Spatial Index Structure for High Dimensional Point Data

PerformancePerformance

• Size of index in MB with 100,000 points

2 4 8 16Dimension

u c1 c2 u c1 c2 u c1 c2 u c1 c2

PK-tree 1.8 1.9 1.9 2.8 2.8 2.8 4.9 4.8 4.9 9.4 9.3 9.4

X-tree 1.8 1.8 1.8 3.0 3.0 3.0 5.6 5.5 5.6 10.7 10.4 10.6

SR-tree 69 70 70 74 73 74 74 74 75 90 91 92

Page 15: A Spatial Index Structure for High Dimensional Point Data

PerformancePerformance

• Range query on uniform data distribution

Page 16: A Spatial Index Structure for High Dimensional Point Data

PerformancePerformance

• Range query on clustered data distribution

Page 17: A Spatial Index Structure for High Dimensional Point Data

PerformancePerformance

• KNN query on uniform data distribution

Page 18: A Spatial Index Structure for High Dimensional Point Data

PerformancePerformance

• KNN query on clustered data distribution

Page 19: A Spatial Index Structure for High Dimensional Point Data

PerformancePerformance

• Real data set: NASA Sky Telescope Data– 200,000 two-dimensional points (they are the coordinates of crater

locations on the surface of Mars)

height size KNNCPU

KNNI/O

RANCPU

RANI/O

PK-tree 5 3.7MB 4ms 4 3ms 4

X-tree 4 5.7MB 90ms 4 10ms 4

SR-tree 5 120MB 28ms 8 14ms 6

Page 20: A Spatial Index Structure for High Dimensional Point Data

ConclusionsConclusions

• PK-tree: employing spatial decomposition to ensure no overlapping among sibling nodes but avoiding large number of nodes usually resulting from a skewed spatial distribution of objects.– The total number of nodes in a PK-tree is O(N) and the expected

height of a PK-tree is O(logN) under some general conditions.• Other properties: uniqueness, bounds on number of

children.• Empirical studies shown that the PK-tree outperforms

SR-tree and X-tree by a wide margin.