GeoNeighbSelect: Neighborhood Selection for Pairwise Composite Likelihood...

View source: R/GeoNeighbSelect.R

GeoNeighbSelectR Documentation

Neighborhood Selection for Pairwise Composite Likelihood Estimation

Description

The procedure fits pairwise composite likelihood models over user-specified spatial or space-time neighborhoods and selects the candidate minimizing the sum of squared differences between the fitted and empirical semivariograms. A GeoVariogram object must be supplied.

Usage

GeoNeighbSelect(data, coordx, coordy=NULL,coordz=NULL, coordt=NULL, coordx_dyn=NULL,
 copula=NULL,corrmodel=NULL, distance="Eucl",fixed=NULL,anisopars=NULL,
 est.aniso=c(FALSE,FALSE), grid=FALSE, likelihood='Marginal',lower=NULL,
 neighb=c(1,2,3,4,5),p_neighb=1,maxtime=Inf, memdist=TRUE,model='Gaussian',
 n=1, ncores=6,optimizer='Nelder-Mead', parallel=FALSE,
 bivariate=FALSE,radius=1, start=NULL,type='Pairwise', upper=NULL,
 weighted=FALSE,X=NULL,spobj=NULL,spdata=NULL,vario=NULL,progress=TRUE,
 check.duplicates=FALSE)

Arguments

data

A d-dimensional vector (a single spatial realisation) or a (d \times d)-matrix (a single spatial realisation on regular grid) or a (t \times d)-matrix (a single spatio-temporal realisation) or an (d \times d \times t \times n )-array (a single spatio-temporal realisation on regular grid). See Details for the accepted data layouts.

coordx

A numeric (d \times 2)-matrix or (d \times 3)-matrix Coordinates on a sphere for a fixed radius radius are passed in lon/lat format expressed in decimal degrees.

coordy

A numeric vector giving 1-dimension of spatial coordinates; Optional argument, the default is NULL.

coordz

A numeric vector giving 1-dimension of spatial coordinates; Optional argument, the default is NULL.

coordt

A numeric vector assigning one dimension of temporal coordinates. Optional argument; the default is NULL, in which case a spatial random field is expected. Temporal coordinates may be irregularly spaced; temporal lags are computed from the supplied coordinate values.

coordx_dyn

A list of m numeric (d_t \times 2)-matrices containing dynamical (in time) spatial coordinates. Optional argument, the default is NULL

copula

String; the type of copula. It can be "Clayton" or "Gaussian"

corrmodel

String; the name of a correlation model, for the see GeoCovmatrix for the list of implemented correlation models.

distance

String; the name of the spatial distance. The default is Eucl, the Euclidean distance. See Details for the accepted options.

fixed

An optional named list giving the values of the parameters that will be considered as known values. The listed parameters for a given correlation function will be not estimated.

anisopars

A list of two elements: "angle" and "ratio" i.e. the anisotropy angle and the anisotropy ratio, respectively.

est.aniso

A bivariate logical vector providing which anisotropic parameters must be estimated.

grid

Logical; if FALSE (the default) the data are interpreted as spatial or spatio-temporal realisations on a set of non-equispaced spatial sites (irregular grid).

likelihood

String; the configuration of the composite likelihood. Marginal is the default (see GeoFit for details).

lower

An optional named list giving the values for the lower bound of the space parameter when the optimizer is L-BFGS-B or nlminb or bobyqa or optimize. The names of the list must be the same of the names in the start list.

neighb

Numeric; a vector of positive integers indicating the order of neighborhood in the weight function of composite likelihood (see GeoFit for details).

p_neighb

Numeric; a value in (0,1] specifying the expected fraction of nearest-neighbor pairs retained through stochastic thinning. If equal to 1 (the default), no thinning is applied. Values below 1 use independent Bernoulli thinning, so the selected neighborhood depends on the thinning realization. Use a fixed random seed, or p_neighb=1, when a stable comparison is required.

maxtime

Numeric vector of non-negative maximum temporal-distance thresholds, expressed in the same units as coordt, considered when selecting the neighborhood configuration.

memdist

Deprecated logical argument retained for backward compatibility. The selected pair structure is always precomputed and reused. Supplying FALSE produces a warning and is treated as TRUE.

model

String; the type of random fields and therefore the densities associated to the likelihood objects. Gaussian is the default, see GeoFit for details.

n

Numeric; number of trials in a binomial random fields; number of successes in a negative binomial random fields

ncores

Positive integer or NULL; default 6. With parallel=TRUE, an explicit integer requests that many workers, capped by detected cores and the number of candidate fits. Set ncores=NULL for automatic selection, capped at six workers and normally leaving one detected core free.

optimizer

String; the optimization algorithm (see optim for details). Nelder-Mead is the default. Other possible choices are nlm, BFGS, SANN, L-BFGS-B and nlminb and bobyqa. In these last three cases upper and lower bounds can be passed by the user. In the case of one-dimensional optimization, the function optimize is used.

parallel

Logical; default FALSE. Set TRUE to evaluate candidate fits in parallel using a future plan.

bivariate

Logical; if TRUE the bivariate case is considered.

radius

Numeric; the radius of the sphere in the case of lon-lat coordinates. Default value is 1.

start

An optional named list with the initial values of the parameters that are used by the numerical routines in maximization procedure. NULL is the default (see GeoFit for details).

type

String; the type of the likelihood objects. If Pairwise (the default) then the marginal composite likelihood is formed by pairwise marginal likelihoods (see GeoFit for details).

upper

An optional named list giving the values for the upper bound of the space parameter when the optimizer is or L-BFGS-B or bobyqa or nlminb or optimize. The names of the list must be the same of the names in the start list.

weighted

Logical; if TRUE the likelihood objects are weighted (see GeoFit for details). If FALSE (the default) the composite likelihood is not weighted.

X

Numeric; Matrix of spatio(temporal)covariates in the linear mean specification.

spobj

An object of class sp or spacetime

spdata

Character:The name of data in the sp or spacetime object

vario

An object of class GeoVariogram obtained using GeoVariogram. Its spatial, bivariate, or space-time structure must match the selected correlation model.

progress

Logic; If TRUE then a progress bar is shown.

check.duplicates

Logical. If TRUE, perform a fast exact scan for duplicated observation locations at this user entry point. The default is FALSE, so no duplicate-location scan is imposed. Internal bootstrap, cross-validation, and refitting calls do not repeat the scan.

Details

For a spatial univariate model, the criterion compares the fitted and empirical spatial semivariograms at the empirical bin centers. For a bivariate model, the two marginal semivariograms and the cross-semivariogram are compared in the order (11,12,22). For a space-time model, the spatial and temporal margins and the complete rectangular space-time semivariogram surface are compared jointly. Only finite empirical cells contribute to the criterion; a candidate is rejected when its corresponding fitted values are non-finite or dimensionally incompatible.

The absolute minimum defines the best candidate. The function also reports a more parsimonious neighborhood using the existing plateau rule: the smallest neighborhood whose criterion is within 15 percent of the minimum. If every candidate fit fails or produces a non-finite criterion, the function stops with an error instead of selecting an arbitrary candidate.

Value

A list with components:

  • best_neighb: neighborhood associated with the smallest criterion;

  • best_maxtime: selected temporal neighborhood for a space-time model, otherwise NULL;

  • best_estimates: named parameter estimates for the best candidate;

  • res: variogram sum-of-squares criterion for every candidate;

  • estimates: matrix of parameter estimates, with columns aligned to the names in start;

  • sugg_neighb: parsimonious neighborhood selected by the 15 percent plateau rule;

  • sugg_time: corresponding temporal neighborhood for a space-time model, otherwise NULL.

Author(s)

Moreno Bevilacqua, moreno.bevilacqua89@gmail.com,https://sites.google.com/view/moreno-bevilacqua/home, Víctor Morales Oñate, victor.morales@uv.cl, https://sites.google.com/site/moralesonatevictor/, Christian Caamaño-Carrillo, chcaaman@ubiobio.cl,https://www.researchgate.net/profile/Christian-Caamano

Examples


library(GeoModels)


######### spatial case
set.seed(32)
N=500 # number of location sites
x <- runif(N, 0, 1)
y <- runif(N, 0, 1)
coords <- cbind(x,y)
mean <- 0.2
# Set the covariance model's parameters:
corrmodel <- "Matern"
sill <- 1;nugget <- 0
scale <- 0.2/3;smooth=0.5

model="Gaussian"
param<-list(mean=mean,sill=sill,nugget=nugget,scale=scale,smooth=smooth)
# Simulation
data <- GeoSim(coordx=coords,corrmodel=corrmodel, param=param,model=model)$data
I=Inf
fixed<-list(nugget=nugget)
start<-list(mean=mean,scale=scale,smooth=smooth,sill=sill)
lower<-list(mean=-I,scale=0,sill=0,smooth=0)
upper<-list(mean=I,scale=I,sill=I,smooth=I)

vario = GeoVariogram(coordx=coords,data=data,maxdist=0.3,numbins=15)

neighb=c(1,2,3,4) ## trying different neighbs
selK <- GeoNeighbSelect(vario=vario,data=data,coordx=coords,corrmodel=corrmodel,
 model=model,neighb=neighb,
 likelihood="Conditional",type="Pairwise",parallel=FALSE,
 optimizer="nlminb",lower=lower,upper=upper,
 start=start,fixed=fixed)
print(selK$best_neighb) ## selected neighbor





GeoModels documentation built on Sept. 23, 2026, 5:07 p.m.