GWR Overall — Per-Cell Coefficient Surfaces

How Local Relationships Themselves Shift as a City Changes

Single-scale adaptive Geographically Weighted Regression, fit independently for 2015, 2025, and 2035 on the same 1,493-cell Dortmund landscape-metrics grid — then differenced year-over-year to map not just where a relationship is strong, but how it moves as the city develops.
Python mgwr (GWR, Sel_BW) libpysal GeoPandas + contextily
Setup

Same Grid, a Different Question From MGWR

The MGWR & Spatial Durbin case study asked whether relationships are stationary across space. This one holds the spatial question fixed — single adaptive bandwidth, bisquare kernel, chosen fresh each year — and asks a temporal question instead: for the exact same covariate, in the exact same grid cell, does its local coefficient drift as 2015 becomes 2025 becomes 2035?

Grid cells1,493 MetricsBuilt-up PD, Veg. Cohesion, Veg. PD Years fit independently2015 / 2025 / 2035 KernelAdaptive bisquare
Open interactive per-cell coefficient explorer

All 1,493 cells, live — pick a metric, a layer (local R² or a per-cell coefficient), and a year, then click between 2015 / 2025 / 2035 to compare the same cross-section over time. Hover any cell for its exact value. All nine models (3 metrics × 3 years) are refit directly from the source shapefiles at each year's known optimal bandwidth — not a static export.

01 — Built-up Patch Density

A Tightly Local Relationship (145–205 Neighbours)

Built-up PD's optimal adaptive bandwidth stays small across all three years — between 145 and 205 nearest neighbours out of 1,493 cells — meaning the covariates that predict built-up fragmentation act on a genuinely local scale, consistent with the low global R² (0.55–0.59) and large MGWR improvement (+0.22 to +0.34) found in the companion regime study.

Grid of local GWR coefficient maps for Built AI and Built Shape mn predicting Built-up Patch Density across 2015, 2025 and 2035, plus their year-over-year change coefficients
Local coefficients: Built_AI & Built_Shape_mn (and their change variants) as predictors of Built-up PD, 2015 / 2025 / 2035

Differencing the coefficient surfaces between years isolates where a predictor's local effect — not just the underlying metric — is shifting. The Built_AI coefficient swings from a strong negative pocket in the west (2025→2015) to a strong positive pocket near the same area (2035→2025): the relationship between built-up aggregation and patch density didn't just move in strength, it flipped direction in the same location a decade later.

Grid of year-over-year change in local GWR coefficients for Built AI, Built Shape mn and their change variants, across three time intervals
Year-over-year change in local coefficients, by period (2025→2015 / 2035→2025 / 2035→2015)
02 — Vegetation Cohesion

A Nearly Global Relationship (608–860 Neighbours)

Vegetation Cohesion's adaptive bandwidth is 3–5× larger than Built-up PD's — 608 to 860 neighbours — meaning its predictors act far more uniformly across the city. This tracks exactly with the companion MGWR study: Veg. Cohesion is already well explained by a single global relationship (R² 0.88–0.92), so there's simply less local structure left for a spatially-varying model to find.

Adaptive bandwidth608–860 neighbours vs. Built-up PD3–5× more global
Grid of local GWR coefficient maps for Built AI and Built Shape mn predicting Vegetation Cohesion across 2015, 2025 and 2035
Local coefficients: built-up predictors of Vegetation Cohesion, 2015 / 2025 / 2035
Grid of local GWR coefficient maps for six landscape-index covariates (edge density, LSI, total edge, SHDI, SHEI, LPI) predicting Vegetation Cohesion across 2015, 2025 and 2035
Local coefficients: landscape-configuration covariates (edge density, LSI, total edge, SHDI, SHEI, LPI) predicting Vegetation Cohesion
03 — Vegetation Patch Density

Local Again, and Distinct From Its Cohesion Counterpart

Vegetation PD's bandwidth (194–253 neighbours) sits close to Built-up PD's, not Vegetation Cohesion's — despite both being vegetation metrics. Patch density and cohesion measure different things (fragmentation count vs. connectivity), and they respond to the same covariates at genuinely different spatial scales.

Adaptive bandwidth194–253 neighbours
Grid of local GWR coefficient maps for Built AI and Built Shape mn predicting Vegetation Patch Density across 2015, 2025 and 2035
Local coefficients: built-up predictors of Vegetation Patch Density, 2015 / 2025 / 2035
Grid of local GWR coefficient maps for agricultural area, vegetation cohesion, and vegetation AI predicting Vegetation Patch Density across 2015, 2025 and 2035, plus their change variants
Local coefficients: agricultural & vegetation-cohesion predictors of Vegetation Patch Density

Note: the source notebooks' year-over-year change grids for Veg. Cohesion and Veg. PD were found to be stale duplicates of one another on inspection (a re-run/caching artefact, not a modeling result) and are excluded here pending a re-run — only the independently-verified per-year snapshot coefficients above are shown for these two metrics.

04

Methods & Tools

GWRAdaptive bisquare kernel, per-year bandwidth selection (mgwr.sel_bw.Sel_BW)
Temporal DifferencingYear-over-year local-coefficient deltas across matched grid geometry
WeightsQueen contiguity (companion global/regime models)
CartographyDiverging (RdBu) symmetric color scales, CartoDB Positron basemap via contextily
Librariesmgwr, libpysal, GeoPandas, contextily