gwr.est: Geographically weighted regression

View source: R/gwr.est.R

gwr.estR Documentation

Geographically weighted regression

Description

This function fits a geographically weighted regression (GWR) model

Usage

gwr.est(form, locs, data, kernel = "exp", bw = TRUE, cv.tol)

Arguments

form

A regression model forumula, as in the functions lm and glm

locs

A matrix of spatial coordinates of data points, where the x coordinate is first, then the y coordinate; coordinates are assumed to not be latitude and longitude, as Euclidean distance is calculated from coordinates

data

A data frame with data to fit model

kernel

A kernel weighting function, either exp or gauss, where exponential function is default

bw

Either TRUE to estimate a bandwidth for the kernel function, or the bandwidth to use to fit the model; bandwidth is estimated by default

cv.tol

A stopping tolerance in terms of cross-validation error for the bi-section search routine to estimate the kernel bandwidth using cross-validation; if missing an internally calculated value is used

Details

This function estimates spatially varying coefficients using the GWR approach. Spatial kernel weights are applied to observations using the estimated or supplied kernel bandwidth to estimate local models at each data point. The bandwidth is currently estimated with cross-validation with an exponential or Gaussian kernel function. The function estimates regression coefficients, the outcome variable values, and the model fit.

Value

A list with the following items:

phi

Kernel bandwidth

RMSPE

Root mean squared prediction error from bandwidth estimation

beta

Matrix of estimated regression coefficients, where a row contains the coefficients for one regression term for all data points

yhat

Estimated outcome variable values

RMSE

Root mean squared error from estimation

rsquare

Approximate R-square for GWR model

Author(s)

David Wheeler

References

Wheeler DC (2007) Diagnostic tools and a remedial method for collinearity in geographically weighted regression. Environment and Planning A, 39: 2464-2481

See Also

gwr.bw.est

Examples

data(columbus)
locs <- cbind(columbus$x, columbus$y)
col.gwr <- gwr.est(crime ~ income + houseval, locs, columbus, "exp")
plot(col.gwr$beta[2,], col.gwr$beta[3,])
plot(columbus$x, columbus$y, cex=col.gwr$beta[1,]/10)

gwrr documentation built on May 10, 2022, 9:05 a.m.