Skip to article frontmatterSkip to article content

Adjacency-based spatial weights

Spatial relationships based on shared border (a.k.a. rook contiguity). Links on the right show the neighborhood relationship.

Polygon spatial units with labels.

Polygon spatial units with labels.

Converting spatial units to nodes and the ‘adjacent relationship’ with links.

Converting spatial units to nodes and the ‘adjacent relationship’ with links.

Spatial relationships based on shared border (a.k.a. rook contiguity). Links on the left show the neighborhood relationship and the matrix on the right shows the adjacency-matrix / neighborhood matrix.

W=[010110100110000011110010111100001000]\text{W} = \begin{bmatrix} 0 & 1 & 0 & 1 & 1 & 0 \\\\ 1 & 0 & 0 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 1 & 1 \\\\ 1 & 1 & 0 & 0 & 1 & 0 \\\\ 1 & 1 & 1 & 1 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 & 0 \end{bmatrix}

Spatial Contiguity

Higher levels contiguity can be done by adding second, third, etc. outer ring of neighborhoods.

Using the chess concept to define who are the neighbors.

Using the chess concept to define who are the neighbors.

Rook and Queen Contiguity

Top: Based on rook contiguity, the Chong Boon Subzone has 4 neighboring subzones. Bottom: Based on queen contiguity, the same Chong Boon Subzone has 8 neighboring subzones (4 additional).

Top: Based on rook contiguity, the Chong Boon Subzone has 4 neighboring subzones. Bottom: Based on queen contiguity, the same Chong Boon Subzone has 8 neighboring subzones (4 additional).

Higher Order Contiguity

Top: Second level (k=2) contiguity for rook and queen. Bottom: Second level contiguity with lower level (k \leq 2).

Top: Second level (k=2) contiguity for rook and queen. Bottom: Second level contiguity with lower level (k2k \leq 2).

Distance-based Weights

Set a distance band (e.g., 2000 m), draw a buffer as a neighborhood, those spatial units (with their centroid) fall within the buffer are considered neighbors, regardless of the spatial contiguity/adjacency.

Set a distance band (e.g., 2000 m), draw a buffer as a neighborhood, those spatial units (with their centroid) fall within the buffer are considered neighbors, regardless of the spatial contiguity/adjacency.

When the size of spatial units vary, the same distance band may generate different numbers of neighbors. E.g., for Fort Canning (left), 1200 m (top) and 1500 m (bottom) distance bands can identify 16 and 23 neighbors, respectively; whereas for Holland Road, the same distance bands can find 0 and 1 neighbor.

When the size of spatial units vary, the same distance band may generate different numbers of neighbors. E.g., for Fort Canning (left), 1200 m (top) and 1500 m (bottom) distance bands can identify 16 and 23 neighbors, respectively; whereas for Holland Road, the same distance bands can find 0 and 1 neighbor.

k-Nearest Neighbor Weights

Regardless of variation in distance and spatial contiguity, the k-nearest neighbor approach will sort the neigbors by distance, then select the same number of neighbors (k=4 for top and k=12 bottom). The neighborhood area sizes will be different, depending on the area size of the spatial unit and its nearby units.

Regardless of variation in distance and spatial contiguity, the k-nearest neighbor approach will sort the neigbors by distance, then select the same number of neighbors (k=4 for top and k=12 bottom). The neighborhood area sizes will be different, depending on the area size of the spatial unit and its nearby units.

Row standardization of Spatial Weights

W=[010110100110000011110010111100001000]\text{W} = \begin{bmatrix} 0 & 1 & 0 & 1 & 1 & 0 \\\\ 1 & 0 & 0 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 1 & 1 \\\\ 1 & 1 & 0 & 0 & 1 & 0 \\\\ 1 & 1 & 1 & 1 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 & 0 \end{bmatrix}

See the last two rows

Row standardization:

The original spatial weight matrix:

W=[010110100110000011110010111100001000]\text{W} = \begin{bmatrix} 0 & 1 & 0 & 1 & 1 & 0 \\\\ 1 & 0 & 0 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 1 & 1 \\\\ 1 & 1 & 0 & 0 & 1 & 0 \\\\ 1 & 1 & 1 & 1 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 & 0 \end{bmatrix}

Row standardized spatial weight matrix:

W=[00.33300.3330.33300.333000.3330.333000000.50.50.3330.333000.33300.250.250.250.2500001000]\text{W}' = \begin{bmatrix} 0 & 0.333 & 0 & 0.333 & 0.333 & 0 \\\\ 0.333 & 0 & 0 & 0.333 & 0.333 & 0 \\\\ 0 & 0 & 0 & 0 & 0.5 & 0.5 \\\\ 0.333 & 0.333 & 0 & 0 & 0.333 & 0 \\\\ 0.25 & 0.25 & 0.25 & 0.25 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 & 0 \end{bmatrix}