A global regression gives you one slope: “an extra minute of walk to the station is worth −x% of price,” everywhere, identically. Geographically weighted regression (GWR) drops the “everywhere.” It fits a separate, distance-weighted regression at every location and returns a coefficient surface — one β per place:
y_i = β₀(u_i, v_i) + Σ_k β_k(u_i, v_i)·x_ki + ε_i
where (u_i, v_i) are coordinates. Observations near location i get more weight through a kernel; the bandwidth — how fast that weight decays, usually a number of nearest neighbours chosen to minimise AICc or a cross-validation score — sets how local the fit is. A small bandwidth gives a noisy, very local surface; a large one smooths toward the global model.
So what is a single local coefficient? β_k(u_i, v_i) is the estimated marginal effect of x_k in the neighbourhood of location i, holding the other variables fixed — the implicit local valuation of that attribute for a typical case near i. Reading the surface:
- A strong, consistent value across a cluster of locations → that attribute is strongly valued (or penalised) there.
- Near-zero across a region → not capitalised there (maybe abundant supply, maybe buyers don’t prioritise it).
- A sign reversal across space → theoretically interesting, and a flag to investigate: a genuine local externality, or an artefact of the data.
The gain is real — letting coefficients vary usually lifts fit substantially over a global model, which is itself evidence that the relationship is spatially heterogeneous rather than constant. But three traps come with it:
- Description, not cause. Local coefficients summarise local data patterns. Spatial sorting and omitted, spatially-varying factors leak straight into the surface. It maps where a relationship differs; it does not explain why, and it is not a causal estimate.
- Local collinearity. Nearby observations tend to resemble one another on all variables at once, so local estimates can be far less stable than global ones — collinearity that was mild globally can be severe locally.
- Coefficients-as-data. It is tempting to carry the surface into a second stage and regress the local coefficients on something else. But estimated coefficients carry first-stage uncertainty; treat them as fixed data and your second-stage standard errors are biased downward. If you must, propagate the uncertainty (e.g. weight by inverse variance) and don’t trust naïve SEs.
A classical GWR also uses one bandwidth for every variable. If different processes operate at different spatial scales, multiscale GWR (MGWR) lets each covariate carry its own bandwidth — a natural next step when a single bandwidth is clearly too blunt.
The one-line version: a local coefficient is an honest answer to “how does this relationship look here?” — and a dishonest answer to any question with the word “cause” in it.