NAME
r.gwr - Calculates geographically weighted regression from raster maps.
KEYWORDS
raster,
statistics,
regression
SYNOPSIS
r.gwr
r.gwr --help
r.gwr [-ge] mapx=name[,name,...] mapy=name [mask=name] [residuals=name] [estimates=name] [coefficients=string] [output=name] [kernel=string] [bandwidth=integer] [vf=integer] [npoints=integer] [memory=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]
Flags:
- -g
- Print in shell script style
- -e
- Estimate optimal bandwidth
- --overwrite
- Allow output files to overwrite existing files
- --help
- Print usage summary
- --verbose
- Verbose module output
- --quiet
- Quiet module output
- --ui
- Force launching GUI dialog
Parameters:
- mapx=name[,name,...] [required]
- Map(s) with X variables
- mapy=name [required]
- Map with Y variable
- mask=name
- Raster map to use for masking
- Only cells that are not NULL and not zero are processed
- residuals=name
- Map to store residuals
- estimates=name
- Map to store estimates
- coefficients=string
- Prefix for maps to store coefficients
- output=name
- ASCII file for storing regression coefficients (output to screen if file not specified).
- kernel=string
- Weighing kernel function.
- Options: gauss, epanechnikov, bisquare, tricubic
- Default: gauss
- bandwidth=integer
- Bandwidth of the weighing kernel.
- Default: 10
- vf=integer
- Variance factor for Gaussian kernel: variance = bandwith / factor.
- Options: 1, 2, 4, 8
- Default: 1
- npoints=integer
- Number of points for adaptive bandwidth
- If 0, fixed bandwidth is used
- Default: 0
- memory=integer
- Memory in MB for adaptive bandwidth
- Default: 300
r.gwr calculates a geographically weighted multiple linear
regression from raster maps, according to the formula
where
X = {X1, X2, ..., Xm}
m = number of explaining variables
Y = {y1, y2, ..., yn}
Xi = {xi1, xi2, ..., xin}
E = {e1, e2, ..., en}
n = number of observations (cases)
In R notation:
Y ~ sum(bi*Xi)
b0 is the intercept, X0 is set to 1
The β coefficients are localized, i.e. determined for each cell
individually. These β coefficients are the most important output
of r.gwr. Spatial patterns and localized outliers in these
coefficients can reveal details of the relation of Y to X. Outliers in
the β coefficients can also be caused by a small bandwidth and can
be removed by increasing the bandwidth.
Geographically weighted regressions should be used as a diagnostic tool
and not as an interpolation method. If a geographically weighted
regression provides a higher R squared than the corresponding global
regression, then a crucial predictor is missing in the model. If that
missing predictor can not be estimated or is supposed to behave
randomly, a geographically weighted regression might be used for
interpolation, but the result, in particular the variation of the
β coefficients needs to be judged according to prior assumptions.
See also the manual and the examples of the R package
spgwr.
r.gwr is designed for large datasets that can not be processed
in R. A p value is therefore not provided, because even very small,
meaningless effects will become significant with a large number of
cells. Instead it is recommended to judge by the amount of variance
explained (R squared for a given variable) and the gain in AIC (AIC
without a given variable minus AIC global must be positive) whether the
inclusion of a given explaining variable in the model is justified.
The explaining variables
R squared for each explaining variable represents the additional amount
of explained variance when including this variable compared to when
excluding this variable, that is, this amount of variance is explained
by the current explaining variable after taking into consideration all
the other explaining variables.
The F score for each explaining variable allows to test if the inclusion
of this variable significantly increases the explaining power of the
model, relative to the global model excluding this explaining variable.
That means that the F value for a given explaining variable is only
identical to the F value of the R-function summary.aov if the
given explaining variable is the last variable in the R-formula. While
R successively includes one variable after another in the order
specified by the formula and at each step calculates the F value
expressing the gain by including the current variable in addition to the
previous variables, r.gwr calculates the F-value
expressing the gain by including the current variable in addition to all
other variables, not only the previous variables.
Bandwidth
The bandwidth is the crucial parameter for geographically weighed
regressions. A too small bandwidth will essentially use the weighed
average, any predictors are mostly ignored. A too large bandwidth will
produce results similar to a global regression, and spatial
non-stationarity can not be explored.
Adaptive bandwidth
Instead of using a fixed bandwidth (search radius for each cell), an
adaptive bandwidth can be used by specifying the number of points to be
used for each local regression with the
npoints option. The
module will find the nearest
npoints points for each cell,
adapt the bandwith accordingly and then calculate a local weighted
regression.
Kernel functions
The kernel function has little influence on the result, much more
important is the bandwidth. Available kernel funtions to calculate
weights are
- Epanechnikov
- w = 1 - d / bw
- Bisquare (Quartic)
- w = (1 - (d / bw)2)2
- Tricubic
- w = (1 - (d / bw)3)3
- Gaussian
- w = exp(-0.5 * (d / bw)2)
with
w = weight for current cell
d = distance to the current cell
bw = bandwidth
Masking
A
mask map can be provided (e.g. with
r.mask) to restrict LWR to those cells
where the mask map is not NULL and not 0 (zero).
Brunsdon, C., Fotheringham, A.S., and Charlton, M.E., 1996,
Geographically Weighted Regression: A Method for Exploring Spatial
Nonstationarity, Geographical Analysis, 28(4), 281- 298
Fotheringham, A.S., Brunsdon, C., and Charlton, M.E., 2002,
Geographically Weighted Regression: The Analysis of Spatially Varying
Relationships, Chichester: Wiley.
http://geoinformatics.wp.st-andrews.ac.uk/gwr/
http://gwr.nuim.ie/
R package
spgwr
Markus Metz
SOURCE CODE
Available at:
r.gwr source code
(history)
Latest change: Monday Jan 30 19:52:26 2023 in commit: cac8d9d848299297977d1315b7e90cc3f7698730
Main index |
Raster index |
Topics index |
Keywords index |
Graphical index |
Full index
© 2003-2023
GRASS Development Team,
GRASS GIS 8.2.2dev Reference Manual