Learn R Programming

GWmodel (version 2.4-1)

gwr.model.selection: Model selection for GWR with a given set of independent variables

Description

This function selects one GWR model from many alternatives based on the AICc values.

Usage

gwr.model.selection(DeVar=NULL,InDeVars=NULL, data=list(),bw=NULL,approach="CV",
               adaptive=F,kernel="bisquare",dMat=NULL,p=2, theta=0, longlat=F,
               parallel.method=F,parallel.arg=NULL)

Value

A list of:

model.list

a list of all the tried GWR models consisted of formulas and variables.

GWR.df

a data frame consited of four columns: bandwidth, AIC, AICc, RSS

Arguments

DeVar

dependent variable

InDeVars

a vector of independent variables for model selection

data

a Spatial*DataFrame, i.e. SpatialPointsDataFrame or SpatialPolygonsDataFrame as defined in package sp, or a sf object defined in package sf

bw

bandwidth used in the weighting function, possibly calculated by bw.gwr

approach

specified by CV (cv) for cross validation approach or AIC (aic) for selecting bandwidth by AICc values

adaptive

if TRUE calculate an adaptive kernel where the bandwidth (bw) corresponds to the number of nearest neighbours (i.e. adaptive distance); default is FALSE, where a fixed kernel is found (bandwidth is a fixed distance)

kernel

function chosen as follows:

gaussian: wgt = exp(-.5*(vdist/bw)^2);

exponential: wgt = exp(-vdist/bw);

bisquare: wgt = (1-(vdist/bw)^2)^2 if vdist < bw, wgt=0 otherwise;

tricube: wgt = (1-(vdist/bw)^3)^3 if vdist < bw, wgt=0 otherwise;

boxcar: wgt=1 if dist < bw, wgt=0 otherwise

dMat

a pre-specified distance matrix, it can be calculated by the function gw.dist

p

the power of the Minkowski distance, default is 2, i.e. the Euclidean distance

theta

an angle in radians to rotate the coordinate system, default is 0

longlat

if TRUE, great circle distances will be calculated

parallel.method

Specified by `FALSE` for serial approach, by `"omp"` for multi-thread approach implemented via OpenMP, by `"cluster"` for multi-process approach implemented via `parallel` package, by `"cuda"` for parallel approach implemented via CUDA

parallel.arg

Set the argument for parallel approach. If `parallel.method` is `FALSE`, there is no need to set its value. If `parallel.method` is `"omp"`, its value is used to set how many threads should be created (default by cores of *cores of CPU* - 1). If `parallel.method` is `"cluster"`, its value is used to set how many R session should be created (default by cores of *cores of CPU* - 1). If `parallel.method` is `"cuda"`, its value is used to set how many samples is included in one group during the calibration. This value should not be too big to avoid the overflow of GPU memory.

Author

Binbin Lu binbinlu@whu.edu.cn

References

Lu, B, Charlton, M, Harris, P, Fotheringham, AS (2014) Geographically weighted regression with a non-Euclidean distance metric: a case study using hedonic house price data. International Journal of Geographical Information Science 28(4): 660-681

See Also

gwr.model.view, gwr.model.sort